diff options
Diffstat (limited to 'openbox/keytree.h')
| -rw-r--r-- | openbox/keytree.h | 25 |
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 |
