SUMMARY I have an 1200x1920 external screen (portrait mode, left) positioned to the left of my laptop screen. When setting some scale factors, then some actions that rely on Kwin knowing which screens touch which other screens - do not work. Examples include: - using the KWin "Move window left/right" keyboard shortcut to move windows between screens (though the quick tile commands do manage to move windows between screens) - using arrow keys in the overview to select a window on an adjacent screen STEPS TO REPRODUCE 1. Set up fractional scaling for the left external screen: kscreen-doctor output.2.scale.0.9 2. Move right screen so that it is in the left most position that doesn't intrude into the left screen: kscreen-doctor output.1.position.1334,720 2. Assign shortcuts to Kwin's "move window left" and "move window right" actions. 3. Try to use keyboard to move one window into the other screen. OBSERVED RESULT The window gets stuck at the border between windows and will not move further EXPECTED RESULT The window should move to the next screen SOFTWARE/OS VERSIONS Operating System: KDE neon Testing Edition KDE Plasma Version: 6.1.3 KDE Frameworks Version: 6.4.0 Qt Version: 6.7.0 Kernel Version: 6.5.0-41-generic (64-bit) Graphics Platform: Wayland Processors: 20 × 12th Gen Intel® Core™ i7-12700H Memory: 31.0 GiB of RAM Graphics Processor: Mesa Intel® Graphics ADDITIONAL INFORMATION The problem is that the screen position must be an integer number, but the width of an 1200 pixels wide screen scaled to 0.9 is 1200/0.9 = 1333.33... If I set the next screen's position at 1333 it will intrude into the left screen, causing windows, panels and wallpapers to overlap. If I set the next screen's position at 1334, windows will not move past the 0.6 pixels gap between screens. I'm currently using a 0.8 scale factor (which works as 1200/0.8=1500) but that is a bit small for me. With a 1080 screen this should probably work well with 1080/0.9 = 1200 and 1080/0.8 = 1350. I tried to work out a few different less than 1 scale factors, and it looks like if the sub-pixel gap is 0.5 pixels or less - then there is no problem. So some kind of floating point rounding is going on? If its currently using the (often default) half-up rounding, then maybe it should be changed to just rounding up?
Created attachment 178137 [details] screenshot showing the problem Here is a screen cast showing the problem on a set of UHD vertical screens at 135% scaling.
(In reply to Oded Arbel from comment #1) > Created attachment 178137 [details] > screenshot showing the problem > > Here is a screen cast showing the problem on a set of UHD vertical screens > at 135% scaling. Sorry, forgot to mention - on Plasma 6.3 beta: Operating System: KDE neon Testing Edition KDE Plasma Version: 6.2.90 KDE Frameworks Version: 6.11.0 Qt Version: 6.8.2 Kernel Version: 6.8.0-52-generic (64-bit) Graphics Platform: Wayland Processors: 20 × 12th Gen Intel® Core™ i7-12700H Memory: 31.0 GiB of RAM Graphics Processor: Intel® Graphics
I'm using ultrawide monitor using Picture-beside-picture mode, and it seems that scaling below 100% does indeed cause the keyboard shortcut to break. Works: - Left half using DP cable, resolution 1720x1440, scaling 125% - Right half using HDMI cable, resolution 1720x1440, scaling 100% Breaks: - Left half using DP cable, resolution 1720x1440, scaling 90% - Right half using HDMI cable, resolution 1720x1440, scaling 100% Operating System: Fedora Linux 42 KDE Plasma Version: 6.4.80 KDE Frameworks Version: 6.16.0 Qt Version: 6.9.1 Kernel Version: 6.15.0-61.fc43.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 3600 6-Core Processor Memory: 16 GiB of RAM (15.5 GiB usable) Graphics Processor: AMD Radeon RX 6600
(In reply to Akseli Lahtinen from comment #3) > I'm using ultrawide monitor using Picture-beside-picture mode, and it seems > that scaling below 100% does indeed cause the keyboard shortcut to break. > > Works: > - Left half using DP cable, resolution 1720x1440, scaling 125% > - Right half using HDMI cable, resolution 1720x1440, scaling 100% > > Breaks: > - Left half using DP cable, resolution 1720x1440, scaling 90% > - Right half using HDMI cable, resolution 1720x1440, scaling 100% > > Operating System: Fedora Linux 42 > KDE Plasma Version: 6.4.80 > KDE Frameworks Version: 6.16.0 > Qt Version: 6.9.1 > Kernel Version: 6.15.0-61.fc43.x86_64 (64-bit) > Graphics Platform: Wayland > Processors: 12 × AMD Ryzen 5 3600 6-Core Processor > Memory: 16 GiB of RAM (15.5 GiB usable) > Graphics Processor: AMD Radeon RX 6600 Derp, never mind, I was using custom tiling shortcut.... It works for me in both cases using regular tiling shortcuts. Do you still have this issue?
(In reply to Akseli Lahtinen from comment #4) > > Breaks: > > - Left half using DP cable, resolution 1720x1440, scaling 90% > > - Right half using HDMI cable, resolution 1720x1440, scaling 100% > > Derp, never mind... > > Do you still have this issue? So, 1720 at 90% is still a full pixel - the right screen will be at a logical X of 1548. I can reproduce the issue if the left screen has a fractional pixel size where the fractional part is less than 0.5, where the next screen to the right is positioned without overlapping on the next pixel boundary - leaving a gap of more than 0.5 pixels. To reproduce, set your left screen of physical width 1720 to a scaling of 0.86 (you can't do that with the UI - you need to use the kscreen-doctor command as I've explained in the bug description). That would cause a logical width of 1479.2 pixels, which should trigger the problematic behavior.
🐛🧹 ⚠️ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME. For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging. Thank you for helping us make KDE software even better for everyone!
Oded, can you paste the output of `kscreen-doctor -o` when it's in this state?