Fix "Toggle raise and lower" functionality

Fix "Toggle raise and lower" functionality for a case when there are
windows in higher layers present on the same desktop; a window that is
being acted upon could never be top-most in such a case, which prevented
it from being lowered by "Toggle raise and lower" action.

Checking if a window is top-most now uses unconstrained_stacking_order
list, which reflects user-requested stacking window order, but doesn't
know anything about layers, and that in turn allows any window that user
has raised most recently to be lowered by "Toggle raise and lower" (even
if this window is not actually top-most, because of windows in higher
layers).

BUG: 440540
wilder/Plasma/6.3
Jarek Janik 2 years ago committed by Vlad Zahorodnii
parent 3a6b7ffc79
commit dad57ad0a0
  1. 2
      src/layers.cpp

@ -290,7 +290,7 @@ void Workspace::raiseOrLowerWindow(Window *window)
const Window *topmost =
topWindowOnDesktop(VirtualDesktopManager::self()->currentDesktop(),
options->isSeparateScreenFocus() ? window->output() : nullptr);
options->isSeparateScreenFocus() ? window->output() : nullptr, true);
if (window == topmost) {
lowerWindow(window);

Loading…
Cancel
Save