summaryrefslogtreecommitdiff
path: root/src/keybindings.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/keybindings.c')
-rw-r--r--src/keybindings.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/keybindings.c b/src/keybindings.c
index dd162af7..2afe556b 100644
--- a/src/keybindings.c
+++ b/src/keybindings.c
@@ -154,6 +154,16 @@ static void handle_run_command (MetaDisplay *display,
MetaWindow *window,
XEvent *event,
MetaKeyBinding *binding);
+static void handle_maximize_vert (MetaDisplay *display,
+ MetaScreen *screen,
+ MetaWindow *window,
+ XEvent *event,
+ MetaKeyBinding *binding);
+static void handle_maximize_horiz (MetaDisplay *display,
+ MetaScreen *screen,
+ MetaWindow *window,
+ XEvent *event,
+ MetaKeyBinding *binding);
/* debug */
static void handle_spew_mark (MetaDisplay *display,
@@ -329,6 +339,8 @@ static const MetaKeyHandler window_handlers[] = {
{ META_KEYBINDING_RAISE_OR_LOWER, handle_raise_or_lower, NULL},
{ META_KEYBINDING_RAISE, handle_raise, NULL},
{ META_KEYBINDING_LOWER, handle_lower, NULL},
+ { META_KEYBINDING_MAXIMIZE_VERTICALLY, handle_maximize_vert, NULL },
+ { META_KEYBINDING_MAXIMIZE_HORIZONTALLY, handle_maximize_horiz, NULL },
{ NULL, NULL, NULL }
};
@@ -2239,6 +2251,35 @@ handle_run_command (MetaDisplay *display,
}
}
+
+static void
+handle_maximize_vert (MetaDisplay *display,
+ MetaScreen *screen,
+ MetaWindow *window,
+ XEvent *event,
+ MetaKeyBinding *binding)
+{
+ if (window)
+ {
+ if (window->has_resize_func)
+ meta_window_fill_vertical (window);
+ }
+}
+
+static void
+handle_maximize_horiz (MetaDisplay *display,
+ MetaScreen *screen,
+ MetaWindow *window,
+ XEvent *event,
+ MetaKeyBinding *binding)
+{
+ if (window)
+ {
+ if (window->has_resize_func)
+ meta_window_fill_horizontal (window);
+ }
+}
+
static gboolean
process_workspace_switch_grab (MetaDisplay *display,
MetaScreen *screen,