shell: Disable exposay by default
authorKristian Høgsberg <krh@bitplanet.net>
Fri, 17 Jan 2014 00:51:52 +0000 (16:51 -0800)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 17 Jan 2014 00:52:12 +0000 (16:52 -0800)
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
desktop-shell/shell.h

index b5d5e29..3ef6424 100644 (file)
@@ -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) {
index 8ef550f..dbb2854 100644 (file)
@@ -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;