]> Dogcows Code - chaz/openbox/blobdiff - openbox/actions.h
Fix some memleaks.
[chaz/openbox] / openbox / actions.h
index df30413099acd108faa13514d9cc9a905b43254b..477e4ba19e85c902e85997bb1d8ee3bba5cef5c5 100644 (file)
@@ -41,51 +41,23 @@ typedef gboolean (*ObActionsInteractiveInputFunc)(guint initial_state,
                                                   gboolean *used);
 typedef void     (*ObActionsInteractiveCancelFunc)(gpointer options);
 
-typedef enum {
-    OB_ACTION_TYPE_GLOBAL,
-    OB_ACTION_TYPE_CLIENT
-} ObActionsType;
-
-/* These structures are all castable as eachother */
-
-struct _ObActionsAnyData {
+struct _ObActionsData {
     ObUserAction uact;
-    Time time;
     guint state;
     gint x;
     gint y;
-};
-
-struct _ObActionsGlobalData {
-    ObActionsType type;
-    ObActionsAnyData any;
-};
+    gint button;
 
-struct _ObActionsClientData {
-    ObActionsType type;
-    ObActionsAnyData any;
-
-    struct _ObClient *c;
+    struct _ObClient *client;
     ObFrameContext context;
 };
 
-struct _ObActionsData {
-    ObActionsType type;
-
-    union {
-        ObActionsAnyData      any;
-        ObActionsGlobalData   global;
-        ObActionsClientData   client;
-    };
-};
-
 void actions_startup(gboolean reconfigure);
 void actions_shutdown(gboolean reconfigure);
 
 /*! If the action is interactive, then i_input and i_cancel are not NULL.
   Otherwise, they should both be NULL. */
 gboolean actions_register(const gchar *name,
-                          ObActionsType type,
                           ObActionsDataSetupFunc setup,
                           ObActionsDataFreeFunc free,
                           ObActionsRunFunc run,
@@ -107,10 +79,10 @@ void actions_act_unref(ObActionsAct *act);
 */
 void actions_run_acts(GSList *acts,
                       ObUserAction uact,
-                      Time time,
                       guint state,
                       gint x,
                       gint y,
+                      gint button,
                       ObFrameContext con,
                       struct _ObClient *client);
 
@@ -118,3 +90,6 @@ gboolean actions_interactive_act_running();
 void actions_interactive_cancel_act();
 
 gboolean actions_interactive_input_event(XEvent *e);
+
+/*! Function for actions to call when they are moving a client around */
+void actions_client_move(ObActionsData *data, gboolean start);
This page took 0.023048 seconds and 4 git commands to generate.