summaryrefslogtreecommitdiff
path: root/desktop-shell/exposay.c
diff options
context:
space:
mode:
authorMario Kleiner <mario.kleiner.de@gmail.com>2015-06-21 21:25:08 +0200
committerBryce Harrington <bryce@osg.samsung.com>2015-06-30 12:12:53 -0700
commit9f4d655494a5dfd01b45b82dc425ab549c8b3624 (patch)
tree6b4cd0f0c4c60f3a3a6a103374aabf97bdc1ce5d /desktop-shell/exposay.c
parent3559f892e4975ca915e90484df86793b40e2b703 (diff)
downloadweston-9f4d655494a5dfd01b45b82dc425ab549c8b3624.tar.gz
desktop-shell: Allow multiple active fullscreen windows on multi-display setup.
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: Mario Kleiner <mario.kleiner.de@gmail.com> Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
Diffstat (limited to 'desktop-shell/exposay.c')
-rw-r--r--desktop-shell/exposay.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/desktop-shell/exposay.c b/desktop-shell/exposay.c
index b6413405..ea2a3751 100644
--- a/desktop-shell/exposay.c
+++ b/desktop-shell/exposay.c
@@ -566,7 +566,7 @@ exposay_transition_active(struct desktop_shell *shell)
shell->exposay.clicked = NULL;
wl_list_init(&shell->exposay.surface_list);
- lower_fullscreen_layer(shell);
+ lower_fullscreen_layer(shell, NULL);
shell->exposay.grab_kbd.interface = &exposay_kbd_grab;
weston_keyboard_start_grab(seat->keyboard,
&shell->exposay.grab_kbd);