From ee6671c3fac371b7d631976953e304e1f761e928 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Fri, 22 Jun 2007 14:41:45 +0000 Subject: [PATCH] add maximize action --- Makefile.am | 1 + openbox/action.c | 39 --------------------------------------- openbox/actions/all.c | 1 + openbox/actions/all.h | 1 + openbox/actions/maximize.c | 26 ++++++++++++++++++++++++++ 5 files changed, 29 insertions(+), 39 deletions(-) create mode 100644 openbox/actions/maximize.c diff --git a/Makefile.am b/Makefile.am index 43dc878..5192166 100644 --- a/Makefile.am +++ b/Makefile.am @@ -166,6 +166,7 @@ openbox_openbox_SOURCES = \ openbox/actions/fullscreen.c \ openbox/actions/iconify.c \ openbox/actions/lower.c \ + openbox/actions/maximize.c \ openbox/actions/move.c \ openbox/actions/raise.c \ openbox/actions/raiselower.c \ diff --git a/openbox/action.c b/openbox/action.c index 50df9f2..7dd9da4 100644 --- a/openbox/action.c +++ b/openbox/action.c @@ -525,21 +525,6 @@ ActionString actionstrings[] = setup_client_action }, { - "maximizefull", - action_maximize_full, - setup_client_action - }, - { - "unmaximizefull", - action_unmaximize_full, - setup_client_action - }, - { - "togglemaximizefull", - action_toggle_maximize_full, - setup_client_action - }, - { "maximizehorz", action_maximize_horz, setup_client_action @@ -1142,30 +1127,6 @@ void action_resize_relative(union ActionData *data) client_action_end(data, FALSE); } -void action_maximize_full(union ActionData *data) -{ - client_action_start(data); - client_maximize(data->client.any.c, TRUE, 0); - client_action_end(data, config_focus_under_mouse); -} - -void action_unmaximize_full(union ActionData *data) -{ - client_action_start(data); - client_maximize(data->client.any.c, FALSE, 0); - client_action_end(data, config_focus_under_mouse); -} - -void action_toggle_maximize_full(union ActionData *data) -{ - client_action_start(data); - client_maximize(data->client.any.c, - !(data->client.any.c->max_horz || - data->client.any.c->max_vert), - 0); - client_action_end(data, config_focus_under_mouse); -} - void action_maximize_horz(union ActionData *data) { client_action_start(data); diff --git a/openbox/actions/all.c b/openbox/actions/all.c index a7295ac..72813e3 100644 --- a/openbox/actions/all.c +++ b/openbox/actions/all.c @@ -20,4 +20,5 @@ void action_all_startup() action_unfocus_startup(); action_iconify_startup(); action_fullscreen_startup(); + action_maximize_startup(); } diff --git a/openbox/actions/all.h b/openbox/actions/all.h index 238dc3a..069c50a 100644 --- a/openbox/actions/all.h +++ b/openbox/actions/all.h @@ -21,5 +21,6 @@ void action_raiselower_startup(); void action_unfocus_startup(); void action_iconify_startup(); void action_fullscreen_startup(); +void action_maximize_startup(); #endif diff --git a/openbox/actions/maximize.c b/openbox/actions/maximize.c new file mode 100644 index 0000000..508c2d3 --- /dev/null +++ b/openbox/actions/maximize.c @@ -0,0 +1,26 @@ +#include "openbox/actions.h" +#include "openbox/client.h" + +static gboolean run_func(ObActionsData *data, gpointer options); + +void action_maximize_startup() +{ + actions_register("Maximize", + NULL, NULL, + run_func, + NULL, NULL); +} + +/* Always return FALSE because its not interactive */ +static gboolean run_func(ObActionsData *data, gpointer options) +{ + if (data->client) { + actions_client_move(data, TRUE); + client_maximize(data->client, + !(data->client->max_horz || data->client->max_vert), + 0); + actions_client_move(data, FALSE); + } + + return FALSE; +} -- 1.9.1