summaryrefslogtreecommitdiff
path: root/plugins/keyboard/keyaction.h
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-03-18 08:38:33 +0000
committerDana Jansens <danakj@orodu.net>2003-03-18 08:38:33 +0000
commit739c958ac58154f8b1896113701e1c7f580d4cde (patch)
tree0f4ea545addb1b432efc3fe880906f0fa244cb12 /plugins/keyboard/keyaction.h
parenteeba457231e3823171716b47a1a4d0900907269e (diff)
keyboard bindings are functional
Diffstat (limited to 'plugins/keyboard/keyaction.h')
-rw-r--r--plugins/keyboard/keyaction.h36
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