wmaker: Support omnipresent setting toggle from keyboard
[wmaker-crm.git] / src / keybind.h
blob4aaadd478c6294052987c849cdd260dd1f4e11d1
1 /*
2 * Window Maker window manager
4 * Copyright (c) 1997-2003 Alfredo K. Kojima
5 * Copyright (c) 2014 Window Maker Team
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22 #ifndef WMKEYBIND_H
23 #define WMKEYBIND_H
25 /* <X11/X.h> doesn't define these, even though XFree supports them */
26 #ifndef Button6
27 #define Button6 6
28 #endif
30 #ifndef Button7
31 #define Button7 7
32 #endif
34 #ifndef Button8
35 #define Button8 8
36 #endif
38 #ifndef Button9
39 #define Button9 9
40 #endif
42 enum {
43 /* anywhere */
44 WKBD_ROOTMENU,
45 WKBD_WINDOWMENU,
46 WKBD_WINDOWLIST,
48 /* window */
49 WKBD_MINIATURIZE,
50 WKBD_MINIMIZEALL,
51 WKBD_HIDE,
52 WKBD_HIDE_OTHERS,
53 WKBD_MAXIMIZE,
54 WKBD_VMAXIMIZE,
55 WKBD_HMAXIMIZE,
56 WKBD_LHMAXIMIZE,
57 WKBD_RHMAXIMIZE,
58 WKBD_THMAXIMIZE,
59 WKBD_BHMAXIMIZE,
60 WKBD_LTCMAXIMIZE,
61 WKBD_RTCMAXIMIZE,
62 WKBD_LBCMAXIMIZE,
63 WKBD_RBCMAXIMIZE,
64 WKBD_MAXIMUS,
65 WKBD_SELECT,
66 WKBD_OMNIPRESENT,
67 WKBD_RAISE,
68 WKBD_LOWER,
69 WKBD_RAISELOWER,
70 WKBD_MOVERESIZE,
71 WKBD_SHADE,
72 WKBD_FOCUSNEXT,
73 WKBD_FOCUSPREV,
74 WKBD_GROUPNEXT,
75 WKBD_GROUPPREV,
77 /* window, menu */
78 WKBD_CLOSE,
80 /* Dock */
81 WKBD_DOCKRAISELOWER,
83 /* Clip */
84 WKBD_CLIPRAISELOWER,
86 /* workspace */
87 WKBD_WORKSPACE1,
88 WKBD_WORKSPACE2,
89 WKBD_WORKSPACE3,
90 WKBD_WORKSPACE4,
91 WKBD_WORKSPACE5,
92 WKBD_WORKSPACE6,
93 WKBD_WORKSPACE7,
94 WKBD_WORKSPACE8,
95 WKBD_WORKSPACE9,
96 WKBD_WORKSPACE10,
97 WKBD_NEXTWORKSPACE,
98 WKBD_PREVWORKSPACE,
99 WKBD_LASTWORKSPACE,
100 WKBD_NEXTWSLAYER,
101 WKBD_PREVWSLAYER,
103 /* move to workspace */
104 WKBD_MOVE_WORKSPACE1,
105 WKBD_MOVE_WORKSPACE2,
106 WKBD_MOVE_WORKSPACE3,
107 WKBD_MOVE_WORKSPACE4,
108 WKBD_MOVE_WORKSPACE5,
109 WKBD_MOVE_WORKSPACE6,
110 WKBD_MOVE_WORKSPACE7,
111 WKBD_MOVE_WORKSPACE8,
112 WKBD_MOVE_WORKSPACE9,
113 WKBD_MOVE_WORKSPACE10,
114 WKBD_MOVE_NEXTWORKSPACE,
115 WKBD_MOVE_PREVWORKSPACE,
116 WKBD_MOVE_LASTWORKSPACE,
117 WKBD_MOVE_NEXTWSLAYER,
118 WKBD_MOVE_PREVWSLAYER,
120 /* window shortcuts */
121 WKBD_WINDOW1,
122 WKBD_WINDOW2,
123 WKBD_WINDOW3,
124 WKBD_WINDOW4,
125 WKBD_WINDOW5,
126 WKBD_WINDOW6,
127 WKBD_WINDOW7,
128 WKBD_WINDOW8,
129 WKBD_WINDOW9,
130 WKBD_WINDOW10,
132 /* launch a new instance of the active window */
133 WKBD_RELAUNCH,
135 /* screen */
136 WKBD_SWITCH_SCREEN,
138 /* open "run" dialog */
139 WKBD_RUN,
141 #ifdef KEEP_XKB_LOCK_STATUS
142 WKBD_TOGGLE,
143 #endif
144 /* keep this last */
145 WKBD_LAST
148 typedef struct WShortKey {
149 unsigned int modifier;
150 KeyCode keycode;
151 } WShortKey;
153 /* ---[ Global Variables ]------------------------------------------------ */
155 extern WShortKey wKeyBindings[WKBD_LAST];
157 /* ---[ Functions ]------------------------------------------------------- */
159 void wKeyboardInitialize(void);
161 #endif /* WMKEYBIND_H */