summaryrefslogtreecommitdiff
path: root/openbox/keytree.h
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-08-12 07:26:16 +0000
committerDana Jansens <danakj@orodu.net>2003-08-12 07:26:16 +0000
commitc90da6da781932c2d178bfb7e39ec1d5003543b7 (patch)
treee9ed8a17f574701880fe73fcfbd872cdb4868c4d /openbox/keytree.h
parentcb49f853c9b62c4403eb562d39f52c51da292c4f (diff)
move the keyboard and mouse plugins into the kernel for mucho sexiness.
make workspace changing a grabbed/interactive process like focus cycling is, with the popup and all. this is some hot shit.
Diffstat (limited to 'openbox/keytree.h')
-rw-r--r--openbox/keytree.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/openbox/keytree.h b/openbox/keytree.h
new file mode 100644
index 00000000..0c61e478
--- /dev/null
+++ b/openbox/keytree.h
@@ -0,0 +1,25 @@
+#ifndef __plugin_keyboard_tree_h
+#define __plugin_keyboard_tree_h
+
+#include "action.h"
+
+#include <glib.h>
+
+typedef struct KeyBindingTree {
+ guint state;
+ guint key;
+ GList *keylist;
+ GSList *actions; /* list of Action pointers */
+
+ /* the next binding in the tree at the same level */
+ struct KeyBindingTree *next_sibling;
+ /* the first child of this binding (next binding in a chained sequence).*/
+ struct KeyBindingTree *first_child;
+} KeyBindingTree;
+
+void tree_destroy(KeyBindingTree *tree);
+KeyBindingTree *tree_build(GList *keylist);
+void tree_assimilate(KeyBindingTree *node);
+KeyBindingTree *tree_find(KeyBindingTree *search, gboolean *conflict);
+
+#endif