• Mario Kleiner's avatar
    desktop-shell: Allow multiple active fullscreen windows on multi-display setup. · 9f4d6554
    Mario Kleiner authored
    Desktop shell demoted all fullscreen shell surfaces on all active
    outputs of a multi-display setup whenever any shell surface was
    activated anywhere. This made it impossible to have multiple
    fullscreen windows on separate outputs active at the same
    time, as creating or activating any shell surface would disable
    fullscreen status for all existing fullscreen surfaces.
    
    Make lower_fullscreen_layer() more selective, so on request it
    only demotes fullscreen surfaces on a specified weston_output.
    
    The activate() method for a specific surface will now only request
    demotion of fullscreen surfaces on the target output of the activated
    surface, but leave fullscreen surfaces on unrelated outputs alone.
    
    Desktop wide acting functions like the window switcher or exposay
    will still demote all fullscreen surfaces on all outputs to
    implement their effect as before.
    Signed-off-by: default avatarMario Kleiner <mario.kleiner.de@gmail.com>
    Reviewed-By: default avatarDerek Foreman <derekf@osg.samsung.com>
    9f4d6554
exposay.c 19.2 KB