2 * ion/ioncore/bindmaps.h
4 * Copyright (c) Tuomo Valkonen 1999-2007.
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.
12 #include <libtu/map.h>
15 #ifndef ION_IONCORE_BINDMAP_H
16 #define ION_IONCORE_BINDMAP_H
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;
32 extern void ioncore_deinit_bindmaps();
33 extern bool ioncore_init_bindmaps();
34 extern void ioncore_refresh_bindmaps();
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);
42 extern bool ioncore_do_defbindings(const char *name, ExtlTab tab);
43 extern ExtlTab ioncore_do_getbindings();
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,
49 ExtlFn cycle, ExtlFn bcycle);
51 #endif /* ION_IONCORE_BINDMAP_H */