diff options
author | Florian Müllner <fmuellner@gnome.org> | 2012-11-23 03:48:14 +0100 |
---|---|---|
committer | Florian Müllner <fmuellner@gnome.org> | 2012-12-05 18:45:22 +0100 |
commit | 2282326f3045d876e71e2eee1fbc3e3cbe087898 (patch) | |
tree | 487ec30265ae92c1c56e594af1726577957c21f2 | |
parent | 8703daccbe5ee3c1679248c19f2cdb345d12931c (diff) | |
download | mutter-2282326f3045d876e71e2eee1fbc3e3cbe087898.tar.gz |
Add 'switch-applications' keybinding
Add an additional "switcher" keybinding for switching between
applications rather than windows (like the existing 'switch-windows'
and 'switch-group' bindings).
The purpose of the new keybinding is to be taken over by gnome-shell's
application-based alt-tab popup, so rather than actually implementing
an application switcher in mutter, let it duplicate the normal window
switcher when run standalone.
https://bugzilla.gnome.org/show_bug.cgi?id=688913
-rw-r--r-- | src/50-mutter-navigation.xml.in | 5 | ||||
-rw-r--r-- | src/core/keybindings.c | 20 | ||||
-rw-r--r-- | src/meta/prefs.h | 2 |
3 files changed, 26 insertions, 1 deletions
diff --git a/src/50-mutter-navigation.xml.in b/src/50-mutter-navigation.xml.in index bf56d086c..829bef80f 100644 --- a/src/50-mutter-navigation.xml.in +++ b/src/50-mutter-navigation.xml.in @@ -29,9 +29,12 @@ <KeyListEntry name="move-to-workspace-down" _description="Move window one workspace down" /> - <KeyListEntry name="switch-windows" + <KeyListEntry name="switch-applications" _description="Switch applications"/> + <KeyListEntry name="switch-windows" + _description="Switch windows"/> + <KeyListEntry name="switch-group" _description="Switch windows of an application"/> diff --git a/src/core/keybindings.c b/src/core/keybindings.c index 63b0e1387..2ec3c89ba 100644 --- a/src/core/keybindings.c +++ b/src/core/keybindings.c @@ -2317,8 +2317,10 @@ process_tab_grab (MetaDisplay *display, case META_KEYBINDING_ACTION_CYCLE_WINDOWS_BACKWARD: case META_KEYBINDING_ACTION_SWITCH_PANELS: case META_KEYBINDING_ACTION_SWITCH_WINDOWS: + case META_KEYBINDING_ACTION_SWITCH_APPLICATIONS: case META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD: case META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD: + case META_KEYBINDING_ACTION_SWITCH_APPLICATIONS_BACKWARD: case META_KEYBINDING_ACTION_CYCLE_GROUP: case META_KEYBINDING_ACTION_CYCLE_GROUP_BACKWARD: case META_KEYBINDING_ACTION_SWITCH_GROUP: @@ -2425,8 +2427,10 @@ process_tab_grab (MetaDisplay *display, break; case META_KEYBINDING_ACTION_SWITCH_PANELS: case META_KEYBINDING_ACTION_SWITCH_WINDOWS: + case META_KEYBINDING_ACTION_SWITCH_APPLICATIONS: case META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD: case META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD: + case META_KEYBINDING_ACTION_SWITCH_APPLICATIONS_BACKWARD: /* SWITCH_* are traditionally Tab-based actions, * and should cancel traditionally Escape-based ones. */ @@ -2497,11 +2501,13 @@ process_tab_grab (MetaDisplay *display, break; case META_KEYBINDING_ACTION_SWITCH_PANELS: case META_KEYBINDING_ACTION_SWITCH_WINDOWS: + case META_KEYBINDING_ACTION_SWITCH_APPLICATIONS: case META_KEYBINDING_ACTION_SWITCH_GROUP: key_used = TRUE; break; case META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD: case META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD: + case META_KEYBINDING_ACTION_SWITCH_APPLICATIONS_BACKWARD: case META_KEYBINDING_ACTION_SWITCH_GROUP_BACKWARD: key_used = TRUE; backward = TRUE; @@ -3797,6 +3803,20 @@ init_builtin_key_bindings (MetaDisplay *display) handle_switch, META_TAB_LIST_GROUP); add_builtin_keybinding (display, + "switch-applications", + common_keybindings, + META_KEY_BINDING_REVERSES, + META_KEYBINDING_ACTION_SWITCH_APPLICATIONS, + handle_switch, META_TAB_LIST_NORMAL); + + add_builtin_keybinding (display, + "switch-applications-backward", + common_keybindings, + REVERSES_AND_REVERSED, + META_KEYBINDING_ACTION_SWITCH_APPLICATIONS_BACKWARD, + handle_switch, META_TAB_LIST_NORMAL); + + add_builtin_keybinding (display, "switch-windows", common_keybindings, META_KEY_BINDING_REVERSES, diff --git a/src/meta/prefs.h b/src/meta/prefs.h index f480f5892..93e1919d0 100644 --- a/src/meta/prefs.h +++ b/src/meta/prefs.h @@ -160,6 +160,8 @@ typedef enum _MetaKeyBindingAction META_KEYBINDING_ACTION_WORKSPACE_RIGHT, META_KEYBINDING_ACTION_WORKSPACE_UP, META_KEYBINDING_ACTION_WORKSPACE_DOWN, + META_KEYBINDING_ACTION_SWITCH_APPLICATIONS, + META_KEYBINDING_ACTION_SWITCH_APPLICATIONS_BACKWARD, META_KEYBINDING_ACTION_SWITCH_GROUP, META_KEYBINDING_ACTION_SWITCH_GROUP_BACKWARD, META_KEYBINDING_ACTION_SWITCH_WINDOWS, |