]> git.decadent.org.uk Git - ion3.git/blob - ioncore/bindmaps.h
48631c110e9fb7ad13ef49fee71837bdc6db1696
[ion3.git] / ioncore / bindmaps.h
1 /*
2  * ion/ioncore/bindmaps.h
3  *
4  * Copyright (c) Tuomo Valkonen 1999-2008. 
5  *
6  * See the included file LICENSE for details.
7  */
8
9 #include <libtu/map.h>
10 #include "binding.h"
11
12 #ifndef ION_IONCORE_BINDMAP_H
13 #define ION_IONCORE_BINDMAP_H
14
15 extern WBindmap *ioncore_screen_bindmap;
16 extern WBindmap *ioncore_mplex_bindmap;
17 extern WBindmap *ioncore_mplex_toplevel_bindmap;
18 extern WBindmap *ioncore_frame_bindmap;
19 extern WBindmap *ioncore_frame_toplevel_bindmap;
20 extern WBindmap *ioncore_frame_floating_bindmap;
21 extern WBindmap *ioncore_frame_tiled_bindmap;
22 extern WBindmap *ioncore_frame_transient_bindmap;
23 extern WBindmap *ioncore_moveres_bindmap;
24 extern WBindmap *ioncore_group_bindmap;
25 extern WBindmap *ioncore_groupcw_bindmap;
26 extern WBindmap *ioncore_groupws_bindmap;
27 extern WBindmap *ioncore_clientwin_bindmap;
28
29 extern void ioncore_deinit_bindmaps();
30 extern bool ioncore_init_bindmaps();
31 extern void ioncore_refresh_bindmaps();
32
33 extern WBindmap *ioncore_alloc_bindmap(const char *name, 
34                                        const StringIntMap *areas);
35 extern WBindmap *ioncore_alloc_bindmap_frame(const char *name);
36 extern void ioncore_free_bindmap(const char *name, WBindmap *bm);
37 extern WBindmap *ioncore_lookup_bindmap(const char *name);
38
39 extern bool ioncore_do_defbindings(const char *name, ExtlTab tab);
40 extern ExtlTab ioncore_do_getbindings();
41
42 extern WBindmap *ioncore_create_cycle_bindmap(uint kcb, uint state, 
43                                               ExtlFn cycle, ExtlFn bcycle);
44 extern WBindmap *region_add_cycle_bindmap(WRegion *reg, 
45                                           uint kcb, uint state, 
46                                           ExtlFn cycle, ExtlFn bcycle);
47
48 #endif /* ION_IONCORE_BINDMAP_H */
49