Bug 410238

Summary: "Always visible" top panel in multi-screen environment influences faulty the other screens
Product: [Plasma] plasmashell Reporter: Graham Powell <gapowell>
Component: PanelAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED LATER    
Severity: normal CC: mvourlakos, nate
Priority: NOR    
Version First Reported In: 5.16.2   
Target Milestone: 1.0   
Platform: Manjaro   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: three monitor setup
QT window top most position, no panel on third monitor
plasma top panel
Latte layout file

Description Graham Powell 2019-07-26 17:36:05 UTC
SUMMARY

As the title says, when using Latte in panel mode at the top of my primary monitor (or explicitly setting the panel to that monitor), I'm not able to move QT windows (doesn't effect GTK apps) to the top of the monitor, they have a hard stop equal to the height of the panel on my other monitors. This only happens in the top position. Bottom, left, right positions don't do this.


SOFTWARE/OS VERSIONS 
Linux/KDE Plasma: 5.1.19
(available in About System)
KDE Plasma Version: 5.16.3
KDE Frameworks Version: 5.60.0
Qt Version: 5.13

ADDITIONAL INFORMATION

Nvidia GPU with latest propitiatory drivers.
Comment 1 Michail Vourlakos 2019-07-26 17:40:14 UTC
With plasma panel don't you have the same issue?
Comment 2 Michail Vourlakos 2019-07-26 17:42:18 UTC
Send also a screenshot demonstrating the issue and your screens layout
Comment 3 Graham Powell 2019-07-26 17:55:10 UTC
I did try with the Plasma panel, and it lets me move windows to the top of non-panel screens. There is a slight snapping bump at the panel height, but it still lets me move the window to the top.

I've attaching screenshots of my three monitor layout, and one of the right monitor with Dolphin as high as I can move it.
Comment 4 Graham Powell 2019-07-26 17:55:41 UTC
Created attachment 121746 [details]
three monitor setup
Comment 5 Graham Powell 2019-07-26 17:56:16 UTC
Created attachment 121747 [details]
QT window top most position, no panel on third monitor
Comment 6 Graham Powell 2019-07-26 17:59:17 UTC
I've added a screenshot showing it working correctly with plasma panel at the top.
Comment 7 Graham Powell 2019-07-26 17:59:35 UTC
Created attachment 121748 [details]
plasma top panel
Comment 8 Michail Vourlakos 2019-07-26 19:08:55 UTC
Is this on X11 or wayland?
Comment 9 Graham Powell 2019-07-26 19:11:20 UTC
X11
Comment 10 Michail Vourlakos 2019-07-26 19:50:14 UTC
Can you also send the Latte layout file in case I can not reproduce?
Comment 11 Graham Powell 2019-07-26 20:25:47 UTC
Created attachment 121758 [details]
Latte layout file
Comment 12 Michail Vourlakos 2019-07-27 06:31:21 UTC
in my system I close Latte and add a top plasma panel...
same issue appears...
Comment 13 Michail Vourlakos 2019-07-27 07:35:11 UTC
I think this is described as X11 limitation, some
info about it https://forum.kde.org/viewtopic.php?f=66&t=102303
Comment 14 Graham Powell 2019-07-29 16:16:16 UTC
(In reply to Michail Vourlakos from comment #13)
> I think this is described as X11 limitation, some
> info about it https://forum.kde.org/viewtopic.php?f=66&t=102303

Although similar, it's not the same issue. That user had issues with the panel covering the maximized window when set to "Always Visible". What we do have in common is the issue is only when a panel is in the top position. The long-standing X bug/limitation has to do with monitors of different heights (from my understanding). Mine monitors are all identical height.

I did try with both Plasma and Latte again, and double checked all my settings to make sure I'm not crazy, and I still don't get this behavior with a Plasma panel. I can move the window to the top of a secondary monitor with the panel set to "Always Visible". With Latte I can't unless I set it to "Windows go Below", which of course means I cut off the top of my window when maximizing on my primary screen.

It also seems odd to me that I can maximize a window to the top of the screen on secondary monitors using Latte, but I can't move the window to the top of the screen. It also seems odd that it only happens when using a latte panel on the top of the screen. When using a panel on the bottom everything works as expected.

Oh, and I forgot to mention this is only for QT apps. GTK apps work exactly as expected on both panel and non-panel monitors.

Plasma panels on the top and bottom (when set to Always Visible), and Latte panel in the bottom position only, will snap a window to the panel, but you can also force the window below it with some mouse pressure. On Latte, this only works in the bottom position. The top has a hard stop for QT apps.

And please recognize that I am not complaining, or expect you to fix this right away (or ever). I fully understand how hard it is to create a great product in your spare time, which is something you have very much accomplished!
Comment 15 Michail Vourlakos 2019-07-29 17:13:51 UTC
Nope, the theoretical part is pretty clear. X11 considers multi screen environments a single big working area. When a panel is setting struts the Always Visible case then this area is reduced and that applies to all screens as long as the screens have the same y value.

One way to workaround should be the following, the screens
Comment 16 Michail Vourlakos 2019-07-29 17:17:00 UTC
The screens that do not have a top panel you can lower them a bit at your plasma settings, screens

OR you can disable the snapping feature of KWin from plasma systemsettings, either way should work. 

The big question is why you do not have the issue with plasma panel even though you should according to X11 definitions. I looked at plasma panel code and the struts code is the same with Latte
Comment 17 Graham Powell 2019-07-29 18:02:06 UTC
> The big question is why you do not have the issue with plasma panel even
> though you should according to X11 definitions. I looked at plasma panel
> code and the struts code is the same with Latte

I don't have the issue with other panels as well. Although those other panel are on other desktops and window managers (Cinnamon, Budgie, XFCE), so fairly different environment.

I've narrowed it down a bit more. Because GTK CSD windows (ie. Firefox) worked fine, I tried an a couple of Aurorae themes it worked as well. So it's only an issue with Breeze window decorations. Weird...
Comment 18 Nate Graham 2022-06-25 20:08:11 UTC
I don't think we have the resources to fix this given how esoteric of an issue it is and our focus on Wayland going forward. Sorry if that's not the answer folks were looking for. Resources are limited and we need more developers to help out to fix small unusual workaroundable issues like this.