graesslin created this revision. graesslin added reviewers: KWin, Plasma. Restricted Application added a project: KWin. Restricted Application added subscribers: kwin, plasma-devel. graesslin requested review of this revision. Restricted Application edited projects, added Plasma; removed KWin.
REVISION SUMMARY So far a not-active fullscreen X11 window was kept in the active layer if the newly activated window is in the same group (that is same client leader). For example a fullscreen X11 kwrite window is in the active layer if another kwrite window is active. The two kwrite windows obviously don't have anything to do with each other, but are in the same group. This creates problems as it's not possible to raise other windows above the active not-fullscreen kwrite window. E.g. the panel is stacked below. The idea behind the check makes sense: if a fullscreen window opens another window (e.g. a configuration dialog) it should not be put back to normal layer. Thus the check is adjusted whether the new active window is a transient to the fullscreen window. Thus the intention is still the same, but does not cause the problems. As the code now does not need to differentiate between X11 and Wayland windows (group only on X11) the Client specific implementation is removed and the method unvirtual'ed. BUG: 388310 FIXED-IN: 5.12.0 TEST PLAN Test passes REPOSITORY R108 KWin BRANCH fullscreen-transient-not-group REVISION DETAIL https://phabricator.kde.org/D9699 AFFECTED FILES abstract_client.cpp abstract_client.h autotests/integration/x11_client_test.cpp client.h layers.cpp To: graesslin, #kwin, #plasma Cc: plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart