shell: Disable exposay by default
Add a config file option to enable it, but leave it off by default. Exposay
still triggers too many lock-ups or stuck grabs and triggers under X even
when the Wayland window doesn't have keyboard focus.
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index b5d5e29..3ef6424 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -438,6 +438,15 @@
"binding-modifier", &s, "super");
shell->binding_modifier = get_modifier(s);
free(s);
+
+ weston_config_section_get_string(section,
+ "exposay-modifier", &s, "none");
+ if (strcmp(s, "none") == 0)
+ shell->exposay_modifier = 0;
+ else
+ shell->exposay_modifier = get_modifier(s);
+ free(s);
+
weston_config_section_get_string(section, "animation", &s, "none");
shell->win_animation_type = get_animation_type(s);
free(s);
@@ -5514,7 +5523,9 @@
workspace_move_surface_down_binding,
shell);
- weston_compositor_add_modifier_binding(ec, mod, exposay_binding, shell);
+ if (shell->exposay_modifier)
+ weston_compositor_add_modifier_binding(ec, shell->exposay_modifier,
+ exposay_binding, shell);
/* Add bindings for mod+F[1-6] for workspace 1 to 6. */
if (shell->workspaces.num > 1) {
diff --git a/desktop-shell/shell.h b/desktop-shell/shell.h
index 8ef550f..dbb2854 100644
--- a/desktop-shell/shell.h
+++ b/desktop-shell/shell.h
@@ -178,6 +178,7 @@
} exposay;
uint32_t binding_modifier;
+ uint32_t exposay_modifier;
enum animation_type win_animation_type;
enum animation_type startup_animation_type;
enum animation_type focus_animation_type;