]> Dogcows Code - chaz/openbox/blobdiff - plugins/keyboard/keyaction.h
keyboard bindings are functional
[chaz/openbox] / plugins / keyboard / keyaction.h
diff --git a/plugins/keyboard/keyaction.h b/plugins/keyboard/keyaction.h
new file mode 100644 (file)
index 0000000..e4ae977
--- /dev/null
@@ -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
This page took 0.022394 seconds and 4 git commands to generate.