]> git.decadent.org.uk Git - ion3.git/blob - ioncore/bindmaps.h
f9e05791793e354c302de44c790dae2f2ab6e62a
[ion3.git] / ioncore / bindmaps.h
1 /*
2  * ion/ioncore/bindmaps.h
3  *
4  * Copyright (c) Tuomo Valkonen 1999-2007. 
5  *
6  * Ion is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2.1 of the License, or
9  * (at your option) any later version.
10  */
11
12 #include <libtu/map.h>
13 #include "binding.h"
14
15 #ifndef ION_IONCORE_BINDMAP_H
16 #define ION_IONCORE_BINDMAP_H
17
18 extern WBindmap *ioncore_screen_bindmap;
19 extern WBindmap *ioncore_mplex_bindmap;
20 extern WBindmap *ioncore_mplex_toplevel_bindmap;
21 extern WBindmap *ioncore_frame_bindmap;
22 extern WBindmap *ioncore_frame_toplevel_bindmap;
23 extern WBindmap *ioncore_frame_floating_bindmap;
24 extern WBindmap *ioncore_frame_tiled_bindmap;
25 extern WBindmap *ioncore_frame_transient_bindmap;
26 extern WBindmap *ioncore_moveres_bindmap;
27 extern WBindmap *ioncore_group_bindmap;
28 extern WBindmap *ioncore_groupcw_bindmap;
29 extern WBindmap *ioncore_groupws_bindmap;
30 extern WBindmap *ioncore_clientwin_bindmap;
31
32 extern void ioncore_deinit_bindmaps();
33 extern bool ioncore_init_bindmaps();
34 extern void ioncore_refresh_bindmaps();
35
36 extern WBindmap *ioncore_alloc_bindmap(const char *name, 
37                                        const StringIntMap *areas);
38 extern WBindmap *ioncore_alloc_bindmap_frame(const char *name);
39 extern void ioncore_free_bindmap(const char *name, WBindmap *bm);
40 extern WBindmap *ioncore_lookup_bindmap(const char *name);
41
42 extern bool ioncore_do_defbindings(const char *name, ExtlTab tab);
43 extern ExtlTab ioncore_do_getbindings();
44
45 extern WBindmap *ioncore_create_cycle_bindmap(uint kcb, uint state, 
46                                               ExtlFn cycle, ExtlFn bcycle);
47 extern WBindmap *region_add_cycle_bindmap(WRegion *reg, 
48                                           uint kcb, uint state, 
49                                           ExtlFn cycle, ExtlFn bcycle);
50
51 #endif /* ION_IONCORE_BINDMAP_H */
52