X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions.h;h=f8e1ba83c42d867b2ad6ad10df18b4096f7b7c65;hb=HEAD;hp=afcc96b7ed58826631520d752b31125a2937ad7a;hpb=73575c10ce3ede1637e4f959b56e1f7d5f110b91;p=chaz%2Fopenbox diff --git a/openbox/actions.h b/openbox/actions.h index afcc96b7..f8e1ba83 100644 --- a/openbox/actions.h +++ b/openbox/actions.h @@ -19,6 +19,7 @@ #include "misc.h" #include "frame.h" #include "obt/xml.h" +#include "obt/keyboard.h" #include #include @@ -35,6 +36,7 @@ typedef void (*ObActionsDataFreeFunc)(gpointer options); typedef gboolean (*ObActionsRunFunc)(ObActionsData *data, gpointer options); typedef gpointer (*ObActionsDataSetupFunc)(xmlNodePtr node); +typedef void (*ObActionsShutdownFunc)(void); /* functions for interactive actions */ /* return TRUE if the action is going to be interactive, or false to change @@ -42,9 +44,10 @@ typedef gpointer (*ObActionsDataSetupFunc)(xmlNodePtr node); typedef gboolean (*ObActionsIPreFunc)(guint initial_state, gpointer options); typedef void (*ObActionsIPostFunc)(gpointer options); typedef gboolean (*ObActionsIInputFunc)(guint initial_state, - XEvent *e, - gpointer options, - gboolean *used); + XEvent *e, + ObtIC *ic, + gpointer options, + gboolean *used); typedef void (*ObActionsICancelFunc)(gpointer options); typedef gpointer (*ObActionsIDataSetupFunc)(xmlNodePtr node, ObActionsIPreFunc *pre, @@ -77,6 +80,13 @@ gboolean actions_register(const gchar *name, ObActionsDataFreeFunc free, ObActionsRunFunc run); +gboolean actions_set_shutdown(const gchar *name, + ObActionsShutdownFunc shutdown); +gboolean actions_set_modifies_focused_window(const gchar *name, + gboolean modifies); +gboolean actions_set_can_stop(const gchar *name, + gboolean modifies); + ObActionsAct* actions_parse(xmlNodePtr node); ObActionsAct* actions_parse_string(const gchar *name);