Add RaiseTemp action.
authorMikael Magnusson <mikachu@comhem.se>
Wed, 16 Jan 2008 21:41:10 +0000 (22:41 +0100)
committerMikael Magnusson <mikachu@gmail.com>
Sat, 11 Oct 2014 00:17:19 +0000 (02:17 +0200)
This has the same effect as giving the <raise>yes</raise> 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
openbox/actions/all.c
openbox/actions/all.h
openbox/actions/raisetemp.c [new file with mode: 0644]

index b4389043a69e6b1bcf09b63356ecfd82027bcf52..e7ef29fcf5a85e6b7dbb4467e9a768a10a3ae5d6 100644 (file)
@@ -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 \
index 332e79ca6c92911949ddb269f113751adb755858..7b226b1f5579d1771bc518d9beefe3de36c857fa 100644 (file)
@@ -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();
index 54d63195de6d24480d6256719f439464a4ca3753..ec576844820375df22e12d2a8178f38e4c2e368c 100644 (file)
@@ -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 (file)
index 0000000..a862f14
--- /dev/null
@@ -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;
+}