add the fullscreen action
authorDana Jansens <danakj@orodu.net>
Fri, 22 Jun 2007 14:39:01 +0000 (14:39 +0000)
committerDana Jansens <danakj@orodu.net>
Fri, 22 Jun 2007 14:39:01 +0000 (14:39 +0000)
Makefile.am
openbox/action.c
openbox/actions/all.c
openbox/actions/all.h
openbox/actions/fullscreen.c [new file with mode: 0644]

index 03b9480..43dc878 100644 (file)
@@ -163,6 +163,7 @@ openbox_openbox_SOURCES = \
        openbox/actions/execute.c \
        openbox/actions/exit.c \
        openbox/actions/focus.c \
        openbox/actions/execute.c \
        openbox/actions/exit.c \
        openbox/actions/focus.c \
+       openbox/actions/fullscreen.c \
        openbox/actions/iconify.c \
        openbox/actions/lower.c \
        openbox/actions/move.c \
        openbox/actions/iconify.c \
        openbox/actions/lower.c \
        openbox/actions/move.c \
index 5393bb8..50df9f2 100644 (file)
@@ -570,11 +570,6 @@ ActionString actionstrings[] =
         setup_client_action
     },
     {
         setup_client_action
     },
     {
-        "togglefullscreen",
-        action_toggle_fullscreen,
-        setup_client_action
-    },
-    {
         "sendtodesktop",
         action_send_to_desktop,
         setup_action_send_to_desktop
         "sendtodesktop",
         action_send_to_desktop,
         setup_action_send_to_desktop
@@ -1215,13 +1210,6 @@ void action_toggle_maximize_vert(union ActionData *data)
     client_action_end(data, config_focus_under_mouse);
 }
 
     client_action_end(data, config_focus_under_mouse);
 }
 
-void action_toggle_fullscreen(union ActionData *data)
-{
-    client_action_start(data);
-    client_fullscreen(data->client.any.c, !(data->client.any.c->fullscreen));
-    client_action_end(data, config_focus_under_mouse);
-}
-
 void action_send_to_desktop(union ActionData *data)
 {
     ObClient *c = data->sendto.any.c;
 void action_send_to_desktop(union ActionData *data)
 {
     ObClient *c = data->sendto.any.c;
index 101cc75..a7295ac 100644 (file)
@@ -19,4 +19,5 @@ void action_all_startup()
     action_raiselower_startup();
     action_unfocus_startup();
     action_iconify_startup();
     action_raiselower_startup();
     action_unfocus_startup();
     action_iconify_startup();
+    action_fullscreen_startup();
 }
 }
index 0b6813e..238dc3a 100644 (file)
@@ -20,5 +20,6 @@ void action_lower_startup();
 void action_raiselower_startup();
 void action_unfocus_startup();
 void action_iconify_startup();
 void action_raiselower_startup();
 void action_unfocus_startup();
 void action_iconify_startup();
+void action_fullscreen_startup();
 
 #endif
 
 #endif
diff --git a/openbox/actions/fullscreen.c b/openbox/actions/fullscreen.c
new file mode 100644 (file)
index 0000000..c791191
--- /dev/null
@@ -0,0 +1,24 @@
+#include "openbox/actions.h"
+#include "openbox/client.h"
+
+static gboolean run_func(ObActionsData *data, gpointer options);
+
+void action_fullscreen_startup()
+{
+    actions_register("Fullscreen",
+                     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_fullscreen(data->client, !data->client->fullscreen);
+        actions_client_move(data, FALSE);
+    }
+
+    return FALSE;
+}