1 /*
2  * Copyright © 2010 Codethink Limited
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  *
19  * Authors:
20  *	Ryan Lortie <desrt@desrt.ca>
21  */
22 
23 #ifndef __CDesktop_enums_h__
24 #define __CDesktop_enums_h__
25 
26 typedef enum
27 {
28   C_DESKTOP_PROXY_MODE_NONE,
29   C_DESKTOP_PROXY_MODE_MANUAL,
30   C_DESKTOP_PROXY_MODE_AUTO
31 } CDesktopProxyMode;
32 
33 typedef enum
34 {
35   C_DESKTOP_TOOLBAR_STYLE_BOTH,
36   C_DESKTOP_TOOLBAR_STYLE_BOTH_HORIZ,
37   C_DESKTOP_TOOLBAR_STYLE_ICONS,
38   C_DESKTOP_TOOLBAR_STYLE_TEXT
39 } CDesktopToolbarStyle;
40 
41 typedef enum
42 {
43   C_DESKTOP_TOOLBAR_ICON_SIZE_SMALL,
44   C_DESKTOP_TOOLBAR_ICON_SIZE_LARGE
45 } CDesktopToolbarIconSize;
46 
47 typedef enum
48 {
49   C_DESKTOP_BACKGROUND_STYLE_NONE,
50   C_DESKTOP_BACKGROUND_STYLE_WALLPAPER,
51   C_DESKTOP_BACKGROUND_STYLE_CENTERED,
52   C_DESKTOP_BACKGROUND_STYLE_SCALED,
53   C_DESKTOP_BACKGROUND_STYLE_STRETCHED,
54   C_DESKTOP_BACKGROUND_STYLE_ZOOM,
55   C_DESKTOP_BACKGROUND_STYLE_SPANNED
56 } CDesktopBackgroundStyle;
57 
58 typedef enum
59 {
60   C_DESKTOP_BACKGROUND_SHADING_SOLID,
61   C_DESKTOP_BACKGROUND_SHADING_VERTICAL,
62   C_DESKTOP_BACKGROUND_SHADING_HORIZONTAL
63 } CDesktopBackgroundShading;
64 
65 typedef enum
66 {
67   C_DESKTOP_MOUSE_DWELL_MODE_WINDOW,
68   C_DESKTOP_MOUSE_DWELL_MODE_GESTURE
69 } CDesktopMouseDwellMode;
70 
71 typedef enum
72 {
73   C_DESKTOP_MOUSE_DWELL_DIRECTION_LEFT,
74   C_DESKTOP_MOUSE_DWELL_DIRECTION_RIGHT,
75   C_DESKTOP_MOUSE_DWELL_DIRECTION_UP,
76   C_DESKTOP_MOUSE_DWELL_DIRECTION_DOWN
77 } CDesktopMouseDwellDirection;
78 
79 typedef enum
80 {
81   C_DESKTOP_SCREENSAVER_MODE_BLANK_ONLY,
82   C_DESKTOP_SCREENSAVER_MODE_RANDOM,
83   C_DESKTOP_SCREENSAVER_MODE_SINGLE
84 } CDesktopScreensaverMode;
85 
86 typedef enum
87 {
88   C_DESKTOP_MAGNIFIER_MOUSE_TRACKING_MODE_NONE,
89   C_DESKTOP_MAGNIFIER_MOUSE_TRACKING_MODE_CENTERED,
90   C_DESKTOP_MAGNIFIER_MOUSE_TRACKING_MODE_PROPORTIONAL,
91   C_DESKTOP_MAGNIFIER_MOUSE_TRACKING_MODE_PUSH
92 } CDesktopMagnifierMouseTrackingMode;
93 
94 typedef enum
95 {
96   C_DESKTOP_MAGNIFIER_SCREEN_POSITION_NONE,
97   C_DESKTOP_MAGNIFIER_SCREEN_POSITION_FULL_SCREEN,
98   C_DESKTOP_MAGNIFIER_SCREEN_POSITION_TOP_HALF,
99   C_DESKTOP_MAGNIFIER_SCREEN_POSITION_BOTTOM_HALF,
100   C_DESKTOP_MAGNIFIER_SCREEN_POSITION_LEFT_HALF,
101   C_DESKTOP_MAGNIFIER_SCREEN_POSITION_RIGHT_HALF
102 } CDesktopMagnifierScreenPosition;
103 
104 typedef enum
105 {
106   C_DESKTOP_MAGNIFIER_LENS_SHAPE_NONE,
107   C_DESKTOP_MAGNIFIER_LENS_SHAPE_SQUARE,
108   C_DESKTOP_MAGNIFIER_LENS_SHAPE_HORIZONTAL,
109   C_DESKTOP_MAGNIFIER_LENS_SHAPE_VERTICAL
110 } CDesktopMagnifierLensShape;
111 
112 typedef enum
113 {
114   C_DESKTOP_TITLEBAR_ACTION_TOGGLE_SHADE = 0,
115   C_DESKTOP_TITLEBAR_ACTION_TOGGLE_MAXIMIZE,
116   C_DESKTOP_TITLEBAR_ACTION_TOGGLE_MAXIMIZE_HORIZONTALLY,
117   C_DESKTOP_TITLEBAR_ACTION_TOGGLE_MAXIMIZE_VERTICALLY,
118   C_DESKTOP_TITLEBAR_ACTION_TOGGLE_STUCK,
119   C_DESKTOP_TITLEBAR_ACTION_TOGGLE_ABOVE,
120   C_DESKTOP_TITLEBAR_ACTION_MINIMIZE,
121   C_DESKTOP_TITLEBAR_ACTION_NONE,
122   C_DESKTOP_TITLEBAR_ACTION_LOWER,
123   C_DESKTOP_TITLEBAR_ACTION_MENU
124 } CDesktopTitlebarAction;
125 
126 typedef enum
127 {
128   /* these must be more than max CDesktopTitlebarAction */
129   C_DESKTOP_TITLEBAR_SCROLL_ACTION_SHADE = 10,
130   C_DESKTOP_TITLEBAR_SCROLL_ACTION_OPACITY,
131   C_DESKTOP_TITLEBAR_SCROLL_ACTION_NONE
132 } CDesktopTitlebarScrollAction;
133 
134 typedef enum
135 {
136   C_DESKTOP_FOCUS_MODE_CLICK,
137   C_DESKTOP_FOCUS_MODE_SLOPPY,
138   C_DESKTOP_FOCUS_MODE_MOUSE
139 } CDesktopFocusMode;
140 
141 typedef enum
142 {
143   C_DESKTOP_FOCUS_NEW_WINDOWS_SMART,
144   C_DESKTOP_FOCUS_NEW_WINDOWS_STRICT
145 } CDesktopFocusNewWindows;
146 
147 typedef enum
148 {
149   C_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH,
150   C_DESKTOP_VISUAL_BELL_FRAME_FLASH
151 } CDesktopVisualBellType;
152 
153 typedef enum
154 {
155 /* All bindings before _SEPARATOR are treated as
156  * "global" bindings, i.e. they work regardless of
157  * Cinnamon's global state (open menus, etc...)
158  */
159         C_DESKTOP_MEDIA_KEY_MUTE,
160         C_DESKTOP_MEDIA_KEY_MUTE_QUIET,
161         C_DESKTOP_MEDIA_KEY_VOLUME_UP,
162         C_DESKTOP_MEDIA_KEY_VOLUME_UP_QUIET,
163         C_DESKTOP_MEDIA_KEY_VOLUME_DOWN,
164         C_DESKTOP_MEDIA_KEY_VOLUME_DOWN_QUIET,
165         C_DESKTOP_MEDIA_KEY_MIC_MUTE,
166         C_DESKTOP_MEDIA_KEY_EJECT,
167         C_DESKTOP_MEDIA_KEY_MEDIA,
168         C_DESKTOP_MEDIA_KEY_PLAY,
169         C_DESKTOP_MEDIA_KEY_PAUSE,
170         C_DESKTOP_MEDIA_KEY_STOP,
171         C_DESKTOP_MEDIA_KEY_PREVIOUS,
172         C_DESKTOP_MEDIA_KEY_NEXT,
173         C_DESKTOP_MEDIA_KEY_REWIND,
174         C_DESKTOP_MEDIA_KEY_FORWARD,
175         C_DESKTOP_MEDIA_KEY_REPEAT,
176         C_DESKTOP_MEDIA_KEY_RANDOM,
177         C_DESKTOP_MEDIA_KEY_SCREENSHOT,
178         C_DESKTOP_MEDIA_KEY_SCREENSHOT_CLIP,
179 
180         C_DESKTOP_MEDIA_KEY_SEPARATOR,
181 /* The rest are normal priority - they won't trigger during
182    a modal Cinnamon state
183  */
184         C_DESKTOP_MEDIA_KEY_WINDOW_SCREENSHOT,
185         C_DESKTOP_MEDIA_KEY_WINDOW_SCREENSHOT_CLIP,
186         C_DESKTOP_MEDIA_KEY_AREA_SCREENSHOT,
187         C_DESKTOP_MEDIA_KEY_AREA_SCREENSHOT_CLIP,
188         C_DESKTOP_MEDIA_KEY_TOUCHPAD,
189         C_DESKTOP_MEDIA_KEY_TOUCHPAD_ON,
190         C_DESKTOP_MEDIA_KEY_TOUCHPAD_OFF,
191         C_DESKTOP_MEDIA_KEY_LOGOUT,
192         C_DESKTOP_MEDIA_KEY_SHUTDOWN,
193         C_DESKTOP_MEDIA_KEY_HOME,
194         C_DESKTOP_MEDIA_KEY_CALCULATOR,
195         C_DESKTOP_MEDIA_KEY_SEARCH,
196         C_DESKTOP_MEDIA_KEY_EMAIL,
197         C_DESKTOP_MEDIA_KEY_SCREENSAVER,
198         C_DESKTOP_MEDIA_KEY_HELP,
199         C_DESKTOP_MEDIA_KEY_TERMINAL,
200         C_DESKTOP_MEDIA_KEY_WWW,
201         C_DESKTOP_MEDIA_KEY_VIDEO_OUT,
202         C_DESKTOP_MEDIA_KEY_ROTATE_VIDEO,
203         C_DESKTOP_MEDIA_KEY_ROTATE_VIDEO_LOCK,
204         C_DESKTOP_MEDIA_KEY_SCREENREADER,
205         C_DESKTOP_MEDIA_KEY_ON_SCREEN_KEYBOARD,
206         C_DESKTOP_MEDIA_KEY_INCREASE_TEXT,
207         C_DESKTOP_MEDIA_KEY_DECREASE_TEXT,
208         C_DESKTOP_MEDIA_KEY_TOGGLE_CONTRAST,
209         C_DESKTOP_MEDIA_KEY_SUSPEND,
210         C_DESKTOP_MEDIA_KEY_HIBERNATE,
211         C_DESKTOP_MEDIA_KEY_SCREEN_BRIGHTNESS_UP,
212         C_DESKTOP_MEDIA_KEY_SCREEN_BRIGHTNESS_DOWN,
213         C_DESKTOP_MEDIA_KEY_KEYBOARD_BRIGHTNESS_UP,
214         C_DESKTOP_MEDIA_KEY_KEYBOARD_BRIGHTNESS_DOWN,
215         C_DESKTOP_MEDIA_KEY_KEYBOARD_BRIGHTNESS_TOGGLE,
216         C_DESKTOP_MEDIA_KEY_BATTERY,
217 
218         C_DESKTOP_MEDIA_KEY_LAST
219 } CDesktopMediaKeyType;
220 
221 __attribute__((unused)) static const char *media_keys[] = {
222         [C_DESKTOP_MEDIA_KEY_MUTE] = "volume-mute",
223         [C_DESKTOP_MEDIA_KEY_MUTE_QUIET] = "mute-quiet",
224         [C_DESKTOP_MEDIA_KEY_VOLUME_UP] = "volume-up",
225         [C_DESKTOP_MEDIA_KEY_VOLUME_UP_QUIET] = "volume-up-quiet",
226         [C_DESKTOP_MEDIA_KEY_VOLUME_DOWN] = "volume-down",
227         [C_DESKTOP_MEDIA_KEY_VOLUME_DOWN_QUIET] = "volume-down-quiet",
228         [C_DESKTOP_MEDIA_KEY_MIC_MUTE] = "mic-mute",
229         [C_DESKTOP_MEDIA_KEY_EJECT] = "eject",
230         [C_DESKTOP_MEDIA_KEY_MEDIA] = "media",
231         [C_DESKTOP_MEDIA_KEY_SCREENSHOT] = "screenshot",
232         [C_DESKTOP_MEDIA_KEY_WINDOW_SCREENSHOT] = "window-screenshot",
233         [C_DESKTOP_MEDIA_KEY_PLAY] = "play",
234         [C_DESKTOP_MEDIA_KEY_PAUSE] = "pause",
235         [C_DESKTOP_MEDIA_KEY_STOP] = "stop",
236         [C_DESKTOP_MEDIA_KEY_PREVIOUS] = "previous",
237         [C_DESKTOP_MEDIA_KEY_NEXT] = "next",
238         [C_DESKTOP_MEDIA_KEY_REWIND] = "audio-rewind",
239         [C_DESKTOP_MEDIA_KEY_FORWARD] = "audio-forward",
240         [C_DESKTOP_MEDIA_KEY_REPEAT] = "audio-repeat",
241         [C_DESKTOP_MEDIA_KEY_RANDOM] = "audio-random",
242         [C_DESKTOP_MEDIA_KEY_AREA_SCREENSHOT] = "area-screenshot",
243         [C_DESKTOP_MEDIA_KEY_SCREENSHOT_CLIP] = "screenshot-clip",
244         [C_DESKTOP_MEDIA_KEY_WINDOW_SCREENSHOT_CLIP] = "window-screenshot-clip",
245         [C_DESKTOP_MEDIA_KEY_AREA_SCREENSHOT_CLIP] = "area-screenshot-clip",
246 
247         [C_DESKTOP_MEDIA_KEY_SEPARATOR] = "",
248 
249         [C_DESKTOP_MEDIA_KEY_TOUCHPAD] = "touchpad-toggle",
250         [C_DESKTOP_MEDIA_KEY_TOUCHPAD_ON] = "touchpad-on",
251         [C_DESKTOP_MEDIA_KEY_TOUCHPAD_OFF] = "touchpad-off",
252         [C_DESKTOP_MEDIA_KEY_LOGOUT] = "logout",
253         [C_DESKTOP_MEDIA_KEY_SHUTDOWN] = "shutdown",
254         [C_DESKTOP_MEDIA_KEY_HOME] = "home",
255         [C_DESKTOP_MEDIA_KEY_CALCULATOR] = "calculator",
256         [C_DESKTOP_MEDIA_KEY_SEARCH] = "search",
257         [C_DESKTOP_MEDIA_KEY_EMAIL] = "email",
258         [C_DESKTOP_MEDIA_KEY_SCREENSAVER] = "screensaver",
259         [C_DESKTOP_MEDIA_KEY_HELP] = "help",
260         [C_DESKTOP_MEDIA_KEY_TERMINAL] = "terminal",
261         [C_DESKTOP_MEDIA_KEY_WWW] = "www",
262         [C_DESKTOP_MEDIA_KEY_VIDEO_OUT] = "video-outputs",
263         [C_DESKTOP_MEDIA_KEY_ROTATE_VIDEO] = "video-rotation",
264         [C_DESKTOP_MEDIA_KEY_ROTATE_VIDEO_LOCK] = "video-rotation-lock",
265         [C_DESKTOP_MEDIA_KEY_SCREENREADER] = "screenreader",
266         [C_DESKTOP_MEDIA_KEY_ON_SCREEN_KEYBOARD] = "on-screen-keyboard",
267         [C_DESKTOP_MEDIA_KEY_INCREASE_TEXT] = "increase-text-size",
268         [C_DESKTOP_MEDIA_KEY_DECREASE_TEXT] = "decrease-text-size",
269         [C_DESKTOP_MEDIA_KEY_TOGGLE_CONTRAST] = "toggle-contrast",
270         [C_DESKTOP_MEDIA_KEY_SUSPEND] = "suspend",
271         [C_DESKTOP_MEDIA_KEY_HIBERNATE] = "hibernate",
272         [C_DESKTOP_MEDIA_KEY_SCREEN_BRIGHTNESS_UP] = "screen-brightness-up",
273         [C_DESKTOP_MEDIA_KEY_SCREEN_BRIGHTNESS_DOWN] = "screen-brightness-down",
274         [C_DESKTOP_MEDIA_KEY_KEYBOARD_BRIGHTNESS_UP] = "kbd-brightness-up",
275         [C_DESKTOP_MEDIA_KEY_KEYBOARD_BRIGHTNESS_DOWN] = "kbd-brightness-down",
276         [C_DESKTOP_MEDIA_KEY_KEYBOARD_BRIGHTNESS_TOGGLE] = "kbd-brightness-toggle",
277         [C_DESKTOP_MEDIA_KEY_BATTERY] = "battery",
278 
279         [C_DESKTOP_MEDIA_KEY_LAST] = ""
280 };
281 
282 #endif /* __CDesktop_enums_h__ */
283