]> Dogcows Code - chaz/openbox/blobdiff - openbox/action.h
track window groups
[chaz/openbox] / openbox / action.h
index 5208025140b8c314c0d16330752d0c99d1946a27..a5b1708e412b459478770f0e4db8e6a58fc10721 100644 (file)
@@ -23,13 +23,13 @@ struct ClientAction {
 
 struct MoveResizeRelative {
     Client *c;
-    int dx;
-    int dy;
+    int delta;
 };
 
 struct SendToDesktop {
     Client *c;
-    guint desktop;
+    guint desk;
+    gboolean follow;
 };
 
 struct SendToNextPreviousDesktop {
@@ -63,6 +63,19 @@ struct Resize {
     Corner corner;
 };
 
+struct ShowMenu {
+    Client *c;
+    char *menuName;
+};
+
+struct CycleWindows {
+    Client *c;
+    gboolean linear;
+    gboolean forward;
+    gboolean final;
+    gboolean cancel;
+};
+
 union ActionData {
     struct AnyAction any;
     struct Execute execute;
@@ -74,6 +87,8 @@ union ActionData {
     struct NextPreviousDesktop nextprevdesktop;
     struct Move move;
     struct Resize resize;
+    struct ShowMenu showMenu;
+    struct CycleWindows cycle;
 };
 
 typedef struct {
@@ -85,6 +100,19 @@ typedef struct {
 } Action;
 
 Action *action_new(void (*func)(union ActionData *data));
+
+/* Creates a new Action from the name of the action
+   A few action types need data set after making this call still. Check if
+   the returned action's "func" is one of these.
+   action_execute - the path needs to be set
+   action_restart - the path can optionally be set
+   action_desktop - the destination desktop needs to be set
+   action_move_relative_horz - the delta
+   action_move_relative_vert - the delta
+   action_resize_relative_horz - the delta
+   action_resize_relative_vert - the delta
+*/
+Action *action_from_string(char *name);
 void action_free(Action *a);
 
 /* Execute */
@@ -108,15 +136,23 @@ void action_kill(union ActionData *data);
 /* ClientAction */
 void action_shade(union ActionData *data);
 /* ClientAction */
+void action_shadelower(union ActionData *data);
+/* ClientAction */
+void action_unshaderaise(union ActionData *data);
+/* ClientAction */
 void action_unshade(union ActionData *data);
 /* ClientAction */
 void action_toggle_shade(union ActionData *data);
 /* ClientAction */
 void action_toggle_omnipresent(union ActionData *data);
 /* MoveResizeRelative */
-void action_move_relative(union ActionData *data);
+void action_move_relative_horz(union ActionData *data);
+/* MoveResizeRelative */
+void action_move_relative_vert(union ActionData *data);
 /* MoveResizeRelative */
-void action_resize_relative(union ActionData *data);
+void action_resize_relative_horz(union ActionData *data);
+/* MoveResizeRelative */
+void action_resize_relative_vert(union ActionData *data);
 /* ClientAction */
 void action_maximize_full(union ActionData *data);
 /* ClientAction */
@@ -165,5 +201,8 @@ void action_resize(union ActionData *data);
 void action_restart(union ActionData *data);
 /* Any */
 void action_exit(union ActionData *data);
-
+/* ShowMenu */
+void action_showmenu(union ActionData *data);
+/* CycleWindows */
+void action_cycle_windows(union ActionData *data);
 #endif
This page took 0.021453 seconds and 4 git commands to generate.