diff options
| -rw-r--r-- | openbox/action.c | 16 | ||||
| -rw-r--r-- | openbox/action.h | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/openbox/action.c b/openbox/action.c index ef8052e7..66475880 100644 --- a/openbox/action.c +++ b/openbox/action.c @@ -537,6 +537,11 @@ ActionString actionstrings[] = setup_client_action }, { + "movetocenter", + action_move_to_center, + setup_client_action + }, + { "resizerelativehorz", action_resize_relative_horz, setup_client_action @@ -1152,6 +1157,17 @@ void action_move_relative_vert(union ActionData *data) client_action_end(data); } +void action_move_to_center(union ActionData *data) +{ + ObClient *c = data->client.any.c; + Rect *area; + area = screen_area_monitor(c->desktop, 0); + client_action_start(data); + client_move(c, area->width / 2 - c->area.width / 2, + area->height / 2 - c->area.height / 2); + client_action_end(data); +} + void action_resize_relative_horz(union ActionData *data) { ObClient *c = data->relative.any.c; diff --git a/openbox/action.h b/openbox/action.h index f940f7ea..3b991a67 100644 --- a/openbox/action.h +++ b/openbox/action.h @@ -249,6 +249,8 @@ void action_toggle_omnipresent(union ActionData *data); void action_move_relative_horz(union ActionData *data); /* MoveResizeRelative */ void action_move_relative_vert(union ActionData *data); +/* ClientAction */ +void action_move_to_center(union ActionData *data); /* MoveResizeRelative */ void action_resize_relative_horz(union ActionData *data); /* MoveResizeRelative */ |
