plugins/keyboard/keyaction.h (raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 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 |