Most of our desktop applications have a toolbar, sometimes they
even have multiple toolbars next to or stacked on top of each other.
More complex desktop applications such as Krita, Kdenlive or LabPlot often
consist of multiple sub-windows, docks, tabbed views, etc.
Docks and toolbars can be undocked, moved around and arranged freely and when dragged over a part
of a window snap back into the window. This allows the user to customize their
work environment to their liking and needs.
This worked fine on X because it lets you do anything, this post explores the situation
on Wayland.
The dragging thing is one of the things that I dislike about using kde on wayland. I think this would be beneficial for professional apps such as QCad or Qgis, if you move the panel to the wrong spot, it becomes its own window, stealing focus and making impossible to redock. But I don’t know if this should be implemented as a part of the wayland protocol or some xdg-desktop-portal, to clarify, I’m not an expert.
Thank you for this @davidre . Its exactly things like this that have kept me from moving to Wayland. I guess this will not solve the problem for applications that do not implement the protocol though? I’m thinking of Jetbrains IDEA which uses Java (and is therefore X11 based, at least for the foreseeable future).
Another problem related to Windows not being able to position themselves in Wayland is that when an application like Chrome restarts, it is unable to position and size its windows in the same way they were before.
This is extremely problematic for applications like browsers and IDEs which generally have multiple windows open, and usually carefully positioned and sized by the user. See 15329 – Save and remember positions of all windows.
Does this kind of thing require some kind of new Wayland protocol extension as well? Or will Plasma be able to take over this capability for applications? I’m not seeing any activity on the bug report linked above, which is interestingly 23 years old – because X11 wouldn’t restore window positions either, but at least it didn’t prevent applications from implementing it themselves.