]> Dogcows Code - chaz/openbox/commitdiff
add breakchroot action
authorDana Jansens <danakj@orodu.net>
Fri, 22 Jun 2007 05:02:25 +0000 (05:02 +0000)
committerDana Jansens <danakj@orodu.net>
Fri, 22 Jun 2007 05:02:25 +0000 (05:02 +0000)
Makefile.am
openbox/action.c
openbox/actions/activate.c
openbox/actions/all.c
openbox/actions/all.h
openbox/actions/breakchroot.c [new file with mode: 0644]

index 1276a7a71f4e295ca1f55c238740967f4172552f..bddea964271dbc6c8dc9aff677e88d334d577d35 100644 (file)
@@ -157,6 +157,7 @@ openbox_openbox_SOURCES = \
        openbox/actions/all.c \
        openbox/actions/all.h \
        openbox/actions/activate.c \
+       openbox/actions/breakchroot.c \
        openbox/actions/cyclewindows.c \
        openbox/actions/debug.c \
        openbox/actions/execute.c \
index de2bcdcc24f8f663d9808bce7597ea662a37e28b..2288dcb9886762ffcbbb3436093e0b98ada7ec62 100644 (file)
@@ -446,11 +446,6 @@ void setup_action_addremove_desktop_last(ObAction **a, ObUserAction uact)
     (*a)->data.addremovedesktop.current = FALSE;
 }
 
-void setup_action_focus(ObAction **a, ObUserAction uact)
-{
-    (*a)->data.any.client_action = OB_CLIENT_ACTION_OPTIONAL;
-}
-
 void setup_client_action(ObAction **a, ObUserAction uact)
 {
     (*a)->data.any.client_action = OB_CLIENT_ACTION_ALWAYS;
@@ -498,11 +493,6 @@ ActionString actionstrings[] =
         action_directional_focus,
         setup_action_directional_focus_northwest
     },
-    {
-        "focus",
-        action_focus,
-        setup_action_focus
-    },
     {
         "unfocus",
         action_unfocus,
@@ -838,11 +828,6 @@ ActionString actionstrings[] =
         action_growtoedge,
         setup_action_growtoedge_east
     },
-    {
-        "breakchroot",
-        action_break_chroot,
-        NULL
-    },
     {
         "adddesktoplast",
         action_add_desktop,
@@ -1110,27 +1095,6 @@ void action_run_string(const gchar *name, struct _ObClient *c, Time time)
     action_run(l, c, 0, time);
 }
 
-void action_focus(union ActionData *data)
-{
-    if (data->client.any.c) {
-        if (!data->any.button || client_mouse_focusable(data->client.any.c) ||
-            (data->any.context != OB_FRAME_CONTEXT_CLIENT &&
-             data->any.context != OB_FRAME_CONTEXT_FRAME))
-        {
-            /* if using focus_delay, stop the timer now so that focus doesn't
-               go moving on us */
-            event_halt_focus_delay();
-
-            client_focus(data->client.any.c);
-        }
-    } else {
-        /* focus action on something other than a client, make keybindings
-           work for this openbox instance, but don't focus any specific client
-        */
-        focus_nothing();
-    }
-}
-
 void action_unfocus (union ActionData *data)
 {
     if (data->client.any.c == focus_client)
@@ -1762,12 +1726,6 @@ void action_toggle_dockautohide(union ActionData *data)
     dock_configure();
 }
 
-void action_break_chroot(union ActionData *data)
-{
-    /* break out of one chroot */
-    keyboard_reset_chains(1);
-}
-
 void action_add_desktop(union ActionData *data)
 {
     client_action_start(data);
index 6692362219491c1a996bef0d6d97d6d13ba2d437..a431bafd027c49774cafcd740b409e7e3d100a62 100644 (file)
@@ -62,10 +62,6 @@ static gboolean run_func(ObActionsData *data, gpointer options)
             data->context != OB_FRAME_CONTEXT_CLIENT ||
             data->context != OB_FRAME_CONTEXT_FRAME)
         {
-            /* if using focus_delay, stop the timer now so that focus doesn't
-               go moving on us */
-            event_halt_focus_delay();
-
             client_activate(data->client, o->here, o->raise, o->unshade, TRUE);
         }
     } else {
index a8cf305ff8c6d2e177449b8153657881815aa799..e3ad2b15649e54cbad1352266daf384c00ac2a87 100644 (file)
@@ -11,4 +11,5 @@ void action_all_startup()
     action_restart_startup();
     action_cyclewindows_startup();
     action_activate_startup();
+    action_breakchroot_startup();
 }
index 1f9a7f38f03e002837dba9d9709d7ba14a5b45d5..5db2e55db9d6ffa10007e93a77ed871aaf0ece6b 100644 (file)
@@ -12,5 +12,6 @@ void action_exit_startup();
 void action_restart_startup();
 void action_cyclewindows_startup();
 void action_activate_startup();
+void action_breakchroot_startup();
 
 #endif
diff --git a/openbox/actions/breakchroot.c b/openbox/actions/breakchroot.c
new file mode 100644 (file)
index 0000000..bfdbf16
--- /dev/null
@@ -0,0 +1,21 @@
+#include "openbox/actions.h"
+#include "openbox/keyboard.h"
+
+static gboolean run_func(ObActionsData *data, gpointer options);
+
+void action_breakchroot_startup()
+{
+    actions_register("BreakChroot",
+                     NULL, NULL,
+                     run_func,
+                     NULL, NULL);
+}
+
+/* Always return FALSE because its not interactive */
+static gboolean run_func(ObActionsData *data, gpointer options)
+{
+    /* break out of one chroot */
+    keyboard_reset_chains(1);
+
+    return FALSE;
+}
This page took 0.030793 seconds and 4 git commands to generate.