https://bugs.kde.org/show_bug.cgi?id=520506
TraceyC <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Component|xwayland |general Status|REPORTED |RESOLVED Version First|unspecified |6.6.5 Reported In| | Summary|kwin (wayland) does not |kwin (wayland) does not |remember virtual window |remember window positions |layouts. |in virtual desktops CC| |[email protected] --- Comment #1 from TraceyC <[email protected]> --- The TL;DR version is that this will become a reality once all windows are native Wayland windows and Bug 15329 is implemented in KWin. If you'd like more details, read on. The way window placement works is as follows: On X11: Per the X11 spec, windows are allowed to place themselves on the screen--but they aren't required to. If a window doesn't, then KWin places it according to its placement policy, which is user-controllable. This includes XWayland apps run in a Wayland session. KWin could in theory ignore this and forcibly place X11 windows according to its placement policy. But doing so unconditionally would not only break the spec, but in practice it would also break apps that were developed with the expectation of being able to place their own windows wherever they want, so instead this is an opt-in thing that you as the user have to turn on via the Window Rules system. Because that would be annoying, many X11 apps implement their own "remember my window positions" feature. And many--but not all--KDE apps do so on X11. In QtWidgets apps that use KDE's KXMLGui framework for the main window, it's a standard feature that apps' main windows get automatically, and whether or not to do it is controlled by the "Allow apps to remember the positions of their own windows, if they support it" checkbox that's on the "Advanced" page of the Window Behavior KCM. For Kirigami-using apps, there is no central automatic thing for it as with KXMLGui because Kirigami is a tier 1 framework and therefore cannot depend on KConfig, and it would need to do so to be able to write the necessary data into the app's config file. As a result, Kirigami-based apps often implement this logic themselves in a custom way. A way to improve the status quo would be to write a standard "WindowStateSaver" object (or whatever) that lived in like Kirigami-addons or something and contained the window state saving logic in a central place, and then Kirigami apps that want to use it could opt into it by importing kirigami-addons and adding that object to their windows as needed. So yes, as you can see, this is a mess. :) On Wayland it's much simpler. On Wayland: Native Wayland windows are not allowed to determine where to place themselves on screen at all; the compositor does this. That means the compositor could implement a "remember window positions" feature and it would work automatically for all native Wayland app windows. This is tracked in Bug 15329. Until that happens, the compositor instead simply places all windows according to the placement policy. *** This bug has been marked as a duplicate of bug 15329 *** -- You are receiving this mail because: You are watching all bug changes.
