AbstractClient: Fix the current VD being always added to the plasma interface
When setting-up the plasma window interface we need to call `setOnAllDesktops()` after the actual virtual desktops have been set. Otherwise, the current desktop would be always added to the interface (as if the user were unsetting the "onAllDesktops" flag) and the plasma interface and KWin can get un-synced, specially if there are specific window rules. BUG: 452171 FIXED-IN: 5.24.5
This commit is contained in:
parent
5fdf271c32
commit
4c8711f121
1 changed files with 4 additions and 1 deletions
|
@ -1539,7 +1539,6 @@ void AbstractClient::setupWindowManagementInterface()
|
|||
w->setKeepBelow(keepBelow());
|
||||
w->setMaximized(maximizeMode() == KWin::MaximizeFull);
|
||||
w->setMinimized(isMinimized());
|
||||
w->setOnAllDesktops(isOnAllDesktops());
|
||||
w->setDemandsAttention(isDemandingAttention());
|
||||
w->setCloseable(isCloseable());
|
||||
w->setMaximizeable(isMaximizable());
|
||||
|
@ -1652,6 +1651,10 @@ void AbstractClient::setupWindowManagementInterface()
|
|||
for (const auto vd : qAsConst(m_desktops)) {
|
||||
w->addPlasmaVirtualDesktop(vd->id());
|
||||
}
|
||||
// We need to set `OnAllDesktops` after the actual VD list has been added.
|
||||
// Otherwise it will unconditionally add the current desktop to the interface
|
||||
// which may not be the case, for example, when using rules
|
||||
w->setOnAllDesktops(isOnAllDesktops());
|
||||
|
||||
// Plasma Virtual desktop management
|
||||
// show/hide when the window enters/exits from desktop
|
||||
|
|
Loading…
Reference in a new issue