Update file headers year copyright
[wmaker-crm.git] / src / keybind.h
blobb0680d34c93656455b424df35c32121cbd6c5742
1 /*
2 * Window Maker window manager
4 * Copyright (c) 1997-2003 Alfredo K. Kojima
5 * Copyright (c) 2014-2023 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_KEEP_ON_TOP,
67 WKBD_KEEP_AT_BOTTOM,
68 WKBD_OMNIPRESENT,
69 WKBD_RAISE,
70 WKBD_LOWER,
71 WKBD_RAISELOWER,
72 WKBD_MOVERESIZE,
73 WKBD_SHADE,
74 WKBD_WORKSPACEMAP,
75 WKBD_FOCUSNEXT,
76 WKBD_FOCUSPREV,
77 WKBD_GROUPNEXT,
78 WKBD_GROUPPREV,
80 /* window, menu */
81 WKBD_CLOSE,
83 /* Dock */
84 WKBD_DOCKRAISELOWER,
86 /* Clip */
87 WKBD_CLIPRAISELOWER,
89 /* workspace */
90 WKBD_WORKSPACE1,
91 WKBD_WORKSPACE2,
92 WKBD_WORKSPACE3,
93 WKBD_WORKSPACE4,
94 WKBD_WORKSPACE5,
95 WKBD_WORKSPACE6,
96 WKBD_WORKSPACE7,
97 WKBD_WORKSPACE8,
98 WKBD_WORKSPACE9,
99 WKBD_WORKSPACE10,
100 WKBD_NEXTWORKSPACE,
101 WKBD_PREVWORKSPACE,
102 WKBD_LASTWORKSPACE,
103 WKBD_NEXTWSLAYER,
104 WKBD_PREVWSLAYER,
106 /* move to workspace */
107 WKBD_MOVE_WORKSPACE1,
108 WKBD_MOVE_WORKSPACE2,
109 WKBD_MOVE_WORKSPACE3,
110 WKBD_MOVE_WORKSPACE4,
111 WKBD_MOVE_WORKSPACE5,
112 WKBD_MOVE_WORKSPACE6,
113 WKBD_MOVE_WORKSPACE7,
114 WKBD_MOVE_WORKSPACE8,
115 WKBD_MOVE_WORKSPACE9,
116 WKBD_MOVE_WORKSPACE10,
117 WKBD_MOVE_NEXTWORKSPACE,
118 WKBD_MOVE_PREVWORKSPACE,
119 WKBD_MOVE_LASTWORKSPACE,
120 WKBD_MOVE_NEXTWSLAYER,
121 WKBD_MOVE_PREVWSLAYER,
123 /* window shortcuts */
124 WKBD_WINDOW1,
125 WKBD_WINDOW2,
126 WKBD_WINDOW3,
127 WKBD_WINDOW4,
128 WKBD_WINDOW5,
129 WKBD_WINDOW6,
130 WKBD_WINDOW7,
131 WKBD_WINDOW8,
132 WKBD_WINDOW9,
133 WKBD_WINDOW10,
135 /* shortcuts to move window between heads */
136 WKBD_MOVE_12_TO_6_HEAD,
137 WKBD_MOVE_6_TO_12_HEAD,
139 /* launch a new instance of the active window */
140 WKBD_RELAUNCH,
142 /* screen */
143 WKBD_SWITCH_SCREEN,
145 /* open "run" dialog */
146 WKBD_RUN,
148 /* open "exit" dialog */
149 WKBD_EXIT,
151 /* screen print */
152 WKBD_PRINTS,
154 /* window print */
155 WKBD_PRINTW,
157 /* partial print */
158 WKBD_PRINTP,
160 #ifdef KEEP_XKB_LOCK_STATUS
161 WKBD_TOGGLE,
162 #endif
163 /* keep this last */
164 WKBD_LAST
167 typedef struct WShortKey {
168 unsigned int modifier;
169 KeyCode keycode;
170 } WShortKey;
172 /* ---[ Global Variables ]------------------------------------------------ */
174 extern WShortKey wKeyBindings[WKBD_LAST];
176 /* ---[ Functions ]------------------------------------------------------- */
178 void wKeyboardInitialize(void);
180 #endif /* WMKEYBIND_H */