diff options
Diffstat (limited to 'plugins/keyboard/keyaction.h')
| -rw-r--r-- | plugins/keyboard/keyaction.h | 36 |
1 files changed, 36 insertions, 0 deletions
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 |
