all my changes while i was offline.
[dana/openbox.git] / plugins / keyboard / tree.h
1 #ifndef __plugin_keyboard_tree_h
2 #define __plugin_keyboard_tree_h
3
4 #include "../../kernel/action.h"
5 #include <glib.h>
6
7 typedef struct KeyBindingTree {
8     guint state;
9     guint key;
10     GList *keylist;
11     GSList *actions; /* list of Action pointers */
12
13     /* the next binding in the tree at the same level */
14     struct KeyBindingTree *next_sibling; 
15     /* the first child of this binding (next binding in a chained sequence).*/
16     struct KeyBindingTree *first_child;
17 } KeyBindingTree;
18
19 void tree_destroy(KeyBindingTree *tree);
20 KeyBindingTree *tree_build(GList *keylist);
21 void tree_assimilate(KeyBindingTree *node);
22 KeyBindingTree *tree_find(KeyBindingTree *search, gboolean *conflict);
23
24 #endif