summaryrefslogtreecommitdiff
path: root/src/core/keybindings.c
diff options
context:
space:
mode:
authorAlexander Larsson <[email protected]>2012-01-09 17:55:18 +0100
committerBenjamin Valentin <benpicco@rechenknecht2k7.(none)>2012-03-16 00:32:51 +0100
commite2d0da87ec3f7add9643c7f7f424df080d95d8dc (patch)
tree81f0b3024b3440b881b9e61e165a93d23ca0b22d /src/core/keybindings.c
parentdacdbd19b2d6037235aa4ed1bd28f89286236046 (diff)
downloadmarco-e2d0da87ec3f7add9643c7f7f424df080d95d8dc.tar.bz2
marco-e2d0da87ec3f7add9643c7f7f424df080d95d8dc.tar.xz
Introduce key combination to switch between windows on all workspaces taken from https://bugzilla.gnome.org/show_bug.cgi?id=577699
Diffstat (limited to 'src/core/keybindings.c')
-rw-r--r--src/core/keybindings.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index b9371c85..e1d87920 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -1340,9 +1340,11 @@ meta_display_process_key_event (MetaDisplay *display,
break;
case META_GRAB_OP_KEYBOARD_TABBING_NORMAL:
+ case META_GRAB_OP_KEYBOARD_TABBING_NORMAL_ALL_WORKSPACES:
case META_GRAB_OP_KEYBOARD_TABBING_DOCK:
case META_GRAB_OP_KEYBOARD_TABBING_GROUP:
case META_GRAB_OP_KEYBOARD_ESCAPING_NORMAL:
+ case META_GRAB_OP_KEYBOARD_ESCAPING_NORMAL_ALL_WORKSPACES:
case META_GRAB_OP_KEYBOARD_ESCAPING_DOCK:
case META_GRAB_OP_KEYBOARD_ESCAPING_GROUP:
meta_topic (META_DEBUG_KEYBINDINGS,
@@ -2029,6 +2031,7 @@ process_tab_grab (MetaDisplay *display,
target_window->desc);
display->mouse_mode = FALSE;
meta_window_activate (target_window, event->xkey.time);
+ meta_workspace_activate (target_window->workspace, event->xkey.time);
meta_topic (META_DEBUG_KEYBINDINGS,
"Ending grab early so we can focus the target window\n");
@@ -2070,6 +2073,7 @@ process_tab_grab (MetaDisplay *display,
switch (display->grab_op)
{
case META_GRAB_OP_KEYBOARD_ESCAPING_NORMAL:
+ case META_GRAB_OP_KEYBOARD_ESCAPING_NORMAL_ALL_WORKSPACES:
case META_GRAB_OP_KEYBOARD_ESCAPING_DOCK:
/* carry on */
break;
@@ -2087,6 +2091,7 @@ process_tab_grab (MetaDisplay *display,
switch (display->grab_op)
{
case META_GRAB_OP_KEYBOARD_TABBING_NORMAL:
+ case META_GRAB_OP_KEYBOARD_TABBING_NORMAL_ALL_WORKSPACES:
case META_GRAB_OP_KEYBOARD_TABBING_DOCK:
/* carry on */
break;
@@ -2810,6 +2815,8 @@ tab_op_from_tab_type (MetaTabList type)
{
case META_TAB_LIST_NORMAL:
return META_GRAB_OP_KEYBOARD_TABBING_NORMAL;
+ case META_TAB_LIST_NORMAL_ALL_WORKSPACES:
+ return META_GRAB_OP_KEYBOARD_TABBING_NORMAL_ALL_WORKSPACES;
case META_TAB_LIST_DOCKS:
return META_GRAB_OP_KEYBOARD_TABBING_DOCK;
case META_TAB_LIST_GROUP:
@@ -2828,6 +2835,8 @@ cycle_op_from_tab_type (MetaTabList type)
{
case META_TAB_LIST_NORMAL:
return META_GRAB_OP_KEYBOARD_ESCAPING_NORMAL;
+ case META_TAB_LIST_NORMAL_ALL_WORKSPACES:
+ return META_GRAB_OP_KEYBOARD_ESCAPING_NORMAL_ALL_WORKSPACES;
case META_TAB_LIST_DOCKS:
return META_GRAB_OP_KEYBOARD_ESCAPING_DOCK;
case META_TAB_LIST_GROUP:
@@ -2888,6 +2897,7 @@ do_choose_window (MetaDisplay *display,
initial_selection->desc);
display->mouse_mode = FALSE;
meta_window_activate (initial_selection, event->xkey.time);
+ meta_workspace_activate (initial_selection->workspace, event->xkey.time);
}
else if (meta_display_begin_grab_op (display,
screen,
@@ -2917,6 +2927,7 @@ do_choose_window (MetaDisplay *display,
meta_display_end_grab_op (display, event->xkey.time);
display->mouse_mode = FALSE;
meta_window_activate (initial_selection, event->xkey.time);
+ meta_workspace_activate (initial_selection->workspace, event->xkey.time);
}
else
{