https://bugs.kde.org/show_bug.cgi?id=525792
Vlad Zahorodnii <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Latest Commit| |https://invent.kde.org/plas | |ma/kwin/-/commit/c995591e30 | |393a289b2275adc173b9c820789 | |874 Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #3 from Vlad Zahorodnii <[email protected]> --- Git commit c995591e30393a289b2275adc173b9c820789874 by Vlad Zahorodnii, on behalf of 力文 胡. Committed on 17/09/2026 at 14:51. Pushed by vladz into branch 'master'. core: Ignore non-focusable desktop windows in findDesktop() A layer-shell surface with the "desktop" scope can refuse keyboard focus by setting its keyboard_interactivity to none. Such a window can still be stacked above the desktop window of plasmashell, and in that case findDesktop() returned it. Its result is passed to requestFocus(), which refuses to focus windows that do not want input. activateNextWindow() therefore fell through to resetFocus() and left the session without any active window. plasmashell hides the panel toolbar when the focus window is null, which is why the toolbar disappeared as soon as a widget was dragged in panel edit mode. Skip desktop windows that do not want input while looking for the next window to activate. All callers of findDesktop() pass the result to requestFocus(), so returning a window that cannot take focus is of no use to any of them. Filtering in activateNextWindow() alone would leave the same dead end in switchToOutput(), activateWindowOnDesktop() and setShowingDesktop(). M +1 -1 src/layers.cpp https://invent.kde.org/plasma/kwin/-/commit/c995591e30393a289b2275adc173b9c820789874 -- You are receiving this mail because: You are watching all bug changes.
