Skip to content
  • Martin Flöser's avatar
    Keep fullscreen windows in active layer based on transients not the group · b7ad4bcf
    Martin Flöser authored
    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
    
    Reviewers: #kwin, #plasma
    
    Subscribers: plasma-devel, kwin
    
    Tags: #plasma
    
    Differential Revision: https://phabricator.kde.org/D9699
    b7ad4bcf