https://bugs.kde.org/show_bug.cgi?id=505684

[email protected] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #16 from [email protected] ---
Still reproducible on Plasma/KWin 6.7.4 (Wayland, Arch/Manjaro).

Reproducer (verified via KWin scripting API, geometry logged from
Window.frameGeometry and Window.tile):

  desktop 5:  tile=3640,267 1280x1396   geom=3640,267 1280x1396
  desktop 1:  tile=null                 geom=1983,698 754x533

The window is quick-tiled to the right half on desktop 5 and set to
onAllDesktops. Switching to any other virtual desktop drops the tile
binding and the window falls back to geometryRestore().

Code path is unchanged in Plasma/6.7 and master:
Workspace::updateWindowVisibilityAndActivateOnDesktopChange() calls
TileManager::tileForWindow(window, newDesktop), which returns nullptr for
an on-all-desktops window whose tile lives in the previous desktop's
RootTile/QuickRootTile. Window::requestTile(nullptr) then restores
geometryRestore().

Sticky windows are conceptually "the same window everywhere", so having
their geometry depend on which desktop happens to be active is
surprising. Suggestion: when tileForWindow() returns nullptr for a window
with isOnAllDesktops(), keep the current geometry instead of restoring,
or adopt the equivalent tile on the target desktop.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to