X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=plugins%2Fkeyboard%2Fkeyaction.h;fp=plugins%2Fkeyboard%2Fkeyaction.h;h=e4ae977c6aa20234dbed429d7d8f64be720b3ea7;hb=739c958ac58154f8b1896113701e1c7f580d4cde;hp=0000000000000000000000000000000000000000;hpb=eeba457231e3823171716b47a1a4d0900907269e;p=chaz%2Fopenbox diff --git a/plugins/keyboard/keyaction.h b/plugins/keyboard/keyaction.h new file mode 100644 index 00000000..e4ae977c --- /dev/null +++ b/plugins/keyboard/keyaction.h @@ -0,0 +1,36 @@ +#ifndef __plugin_keyboard_action_h +#define __plugin_keyboard_action_h + +#include "../../kernel/action.h" + +typedef enum { + DataType_Bool, + DataType_Int, + DataType_Uint, + DataType_String +} KeyActionDataType; + +typedef union { + gboolean b; + int i; + guint u; + char *s; +} KeyActionData; + +typedef struct { + Action action; + KeyActionDataType type[2]; + KeyActionData data[2]; +} KeyAction; + +void keyaction_set_none(KeyAction *a, guint index); +void keyaction_set_bool(KeyAction *a, guint index, gboolean bool); +void keyaction_set_int(KeyAction *a, guint index, int i); +void keyaction_set_uint(KeyAction *a, guint index, guint uint); +void keyaction_set_string(KeyAction *a, guint index, char *string); + +void keyaction_free(KeyAction *a); + +void keyaction_do(KeyAction *a, Client *c); + +#endif