summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHavoc Pennington <hp@pobox.com>2003-04-25 03:32:41 +0000
committerHavoc Pennington <hp@src.gnome.org>2003-04-25 03:32:41 +0000
commit75fa56391d3bb2565e5ae913cd6a9887a2581f91 (patch)
treebe5a7a2558e3ac5ce650fbf36aff3935d4449cb5
parentec9cf27a818870efc999b65eaadafffb867b665e (diff)
downloadmetacity-75fa56391d3bb2565e5ae913cd6a9887a2581f91.tar.gz
support diagonal keypad keybindings, from Dafydd Harries
2003-04-23 Havoc Pennington <hp@pobox.com> * src/keybindings.c (process_keyboard_move_grab): support diagonal keypad keybindings, from Dafydd Harries
-rw-r--r--ChangeLog5
-rw-r--r--src/keybindings.c37
2 files changed, 28 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 189bbed3..6b2722fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-23 Havoc Pennington <hp@pobox.com>
+
+ * src/keybindings.c (process_keyboard_move_grab): support
+ diagonal keypad keybindings, from Dafydd Harries
+
2003-04-21 Havoc Pennington <hp@redhat.com>
* purge HAVE_GTK_MULTIHEAD from the source code, not just from
diff --git a/src/keybindings.c b/src/keybindings.c
index e1fc24cd..f9ce0f09 100644
--- a/src/keybindings.c
+++ b/src/keybindings.c
@@ -1694,14 +1694,26 @@ process_keyboard_move_grab (MetaDisplay *display,
else
incr = NORMAL_INCREMENT;
+ if (keysym == XK_Escape)
+ {
+ /* End move and restore to original position */
+ meta_window_move_resize (display->grab_window,
+ TRUE,
+ display->grab_initial_window_pos.x,
+ display->grab_initial_window_pos.y,
+ display->grab_initial_window_pos.width,
+ display->grab_initial_window_pos.height);
+ }
+
/* When moving by increments, we still snap to edges if the move
* to the edge is smaller than the increment. This is because
* Shift + arrow to snap is sort of a hidden feature. This way
* people using just arrows shouldn't get too frustrated.
*/
-
switch (keysym)
{
+ case XK_KP_Home:
+ case XK_KP_Prior:
case XK_Up:
case XK_KP_Up:
edge = meta_window_find_next_horizontal_edge (window, FALSE);
@@ -1712,6 +1724,8 @@ process_keyboard_move_grab (MetaDisplay *display,
handled = TRUE;
break;
+ case XK_KP_End:
+ case XK_KP_Next:
case XK_Down:
case XK_KP_Down:
edge = meta_window_find_next_horizontal_edge (window, TRUE);
@@ -1722,6 +1736,12 @@ process_keyboard_move_grab (MetaDisplay *display,
handled = TRUE;
break;
+ }
+
+ switch (keysym)
+ {
+ case XK_KP_Home:
+ case XK_KP_End:
case XK_Left:
case XK_KP_Left:
edge = meta_window_find_next_vertical_edge (window, FALSE);
@@ -1732,6 +1752,8 @@ process_keyboard_move_grab (MetaDisplay *display,
handled = TRUE;
break;
+ case XK_KP_Prior:
+ case XK_KP_Next:
case XK_Right:
case XK_KP_Right:
edge = meta_window_find_next_vertical_edge (window, TRUE);
@@ -1740,19 +1762,6 @@ process_keyboard_move_grab (MetaDisplay *display,
x = edge;
handled = TRUE;
break;
-
- case XK_Escape:
- /* End move and restore to original position */
- meta_window_move_resize (display->grab_window,
- TRUE,
- display->grab_initial_window_pos.x,
- display->grab_initial_window_pos.y,
- display->grab_initial_window_pos.width,
- display->grab_initial_window_pos.height);
- break;
-
- default:
- break;
}
if (handled)