From d56ab4eb18cd7edd08743255f801634760d16a13 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Thu, 16 Jan 2014 16:51:52 -0800 Subject: [PATCH] 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. --- desktop-shell/shell.c | 13 ++++++++++++- desktop-shell/shell.h | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) 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 @@ shell_configuration(struct desktop_shell *shell) "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 @@ shell_add_bindings(struct weston_compositor *ec, struct desktop_shell *shell) 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 @@ struct desktop_shell { } 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; -- 2.7.4