From 0279f43089af247a90a1d7e36112cf83d5361d89 Mon Sep 17 00:00:00 2001 From: Mikael Magnusson Date: Wed, 16 Jan 2008 22:41:10 +0100 Subject: [PATCH] Add RaiseTemp action. This has the same effect as giving the yes option to next/prevwindow but makes it optional and keybindable, so if W-Tab is nextwindow, you can have W-q as raisetemp. --- Makefile.am | 1 + openbox/actions/all.c | 1 + openbox/actions/all.h | 1 + openbox/actions/raisetemp.c | 25 +++++++++++++++++++++++++ 4 files changed, 28 insertions(+) create mode 100644 openbox/actions/raisetemp.c diff --git a/Makefile.am b/Makefile.am index f25bf8e7..69ba03a2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -226,6 +226,7 @@ openbox_openbox_SOURCES = \ openbox/actions/omnipresent.c \ openbox/actions/raise.c \ openbox/actions/raiselower.c \ + openbox/actions/raisetemp.c \ openbox/actions/reconfigure.c \ openbox/actions/resize.c \ openbox/actions/resizerelative.c \ diff --git a/openbox/actions/all.c b/openbox/actions/all.c index 332e79ca..7b226b1f 100644 --- a/openbox/actions/all.c +++ b/openbox/actions/all.c @@ -15,6 +15,7 @@ void action_all_startup(void) action_move_startup(); action_focus_startup(); action_raise_startup(); + action_raisetemp_startup(); action_lower_startup(); action_raiselower_startup(); action_unfocus_startup(); diff --git a/openbox/actions/all.h b/openbox/actions/all.h index 54d63195..ec576844 100644 --- a/openbox/actions/all.h +++ b/openbox/actions/all.h @@ -16,6 +16,7 @@ void action_close_startup(void); void action_move_startup(void); void action_focus_startup(void); void action_raise_startup(void); +void action_raisetemp_startup(void); void action_lower_startup(void); void action_raiselower_startup(void); void action_unfocus_startup(void); diff --git a/openbox/actions/raisetemp.c b/openbox/actions/raisetemp.c new file mode 100644 index 00000000..a862f14e --- /dev/null +++ b/openbox/actions/raisetemp.c @@ -0,0 +1,25 @@ +#include "openbox/actions.h" +#include "openbox/stacking.h" +#include "openbox/window.h" +#include "openbox/focus_cycle.h" + +static gboolean run_func(ObActionsData *data, gpointer options); + +void action_raisetemp_startup(void) +{ + actions_register("RaiseTemp", + NULL, NULL, + run_func); +} + +/* Always return FALSE because its not interactive */ +static gboolean run_func(ObActionsData *data, gpointer options) +{ + if (focus_cycle_target) { + actions_client_move(data, TRUE); + stacking_temp_raise(CLIENT_AS_WINDOW(data->client)); + actions_client_move(data, FALSE); + } + + return FALSE; +} -- 2.39.2