]> Dogcows Code - chaz/openbox/blobdiff - openbox/action.h
change how rc parsing will work. a=b will be parsed in any [section] and given to...
[chaz/openbox] / openbox / action.h
index cf6f633e18fa6cce1b83df9caf430c30410a75ef..0fe42f64b31494cbea9ab621a53e80d6b65c3f1f 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,18 @@ struct Resize {
     Corner corner;
 };
 
+struct ShowMenu {
+    Client *c;
+    char *menuName;
+};
+
+struct CycleWindows {
+    Client *c;
+    gboolean linear;
+    gboolean forward;
+    gboolean final;
+};
+
 union ActionData {
     struct AnyAction any;
     struct Execute execute;
@@ -74,6 +86,8 @@ union ActionData {
     struct NextPreviousDesktop nextprevdesktop;
     struct Move move;
     struct Resize resize;
+    struct ShowMenu showMenu;
+    struct CycleWindows cycle;
 };
 
 typedef struct {
@@ -85,6 +99,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 +135,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_resize_relative(union ActionData *data);
+void action_move_relative_vert(union ActionData *data);
+/* MoveResizeRelative */
+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 */
@@ -161,5 +196,12 @@ void action_toggle_decorations(union ActionData *data);
 void action_move(union ActionData *data);
 /* Resize */
 void action_resize(union ActionData *data);
-
+/* Execute */
+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.022479 seconds and 4 git commands to generate.