Merge branch 'backport' into work
[dana/openbox.git] / openbox / misc.h
1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
2
3    misc.h for the Openbox window manager
4    Copyright (c) 2003-2007   Dana Jansens
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2 of the License, or
9    (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    See the COPYING file for a copy of the GNU General Public License.
17 */
18
19 #ifndef __ob__misc_h
20 #define __ob__misc_h
21
22 /*! The alpha value to use for icons of iconified windows in various places
23   like the focus cycle popup and client list menus.
24   Give iconic windows 7/16 alpha. A little under 50%.
25  */
26 #define OB_ICONIC_ALPHA 0x70
27
28 typedef enum
29 {
30     OB_CURSOR_NONE,
31     OB_CURSOR_POINTER,
32     OB_CURSOR_BUSYPOINTER,
33     OB_CURSOR_BUSY,
34     OB_CURSOR_MOVE,
35     OB_CURSOR_NORTH,
36     OB_CURSOR_NORTHEAST,
37     OB_CURSOR_EAST,
38     OB_CURSOR_SOUTHEAST,
39     OB_CURSOR_SOUTH,
40     OB_CURSOR_SOUTHWEST,
41     OB_CURSOR_WEST,
42     OB_CURSOR_NORTHWEST,
43     OB_NUM_CURSORS
44 } ObCursor;
45
46 typedef enum
47 {
48     OB_KEY_RETURN,
49     OB_KEY_ESCAPE,
50     OB_KEY_LEFT,
51     OB_KEY_RIGHT,
52     OB_KEY_UP,
53     OB_KEY_DOWN,
54     OB_KEY_TAB,
55     OB_KEY_SPACE,
56     OB_NUM_KEYS
57 } ObKey;
58
59 typedef enum
60 {
61     OB_STATE_STARTING,
62     OB_STATE_RUNNING,
63     OB_STATE_EXITING
64 } ObState;
65
66 typedef enum
67 {
68     OB_DIRECTION_NORTH,
69     OB_DIRECTION_NORTHEAST,
70     OB_DIRECTION_EAST,
71     OB_DIRECTION_SOUTHEAST,
72     OB_DIRECTION_SOUTH,
73     OB_DIRECTION_SOUTHWEST,
74     OB_DIRECTION_WEST,
75     OB_DIRECTION_NORTHWEST
76 } ObDirection;
77
78 typedef enum
79 {
80     OB_ORIENTATION_HORZ,
81     OB_ORIENTATION_VERT
82 } ObOrientation;
83
84 typedef enum
85 {
86     OB_CORNER_TOPLEFT,
87     OB_CORNER_TOPRIGHT,
88     OB_CORNER_BOTTOMLEFT,
89     OB_CORNER_BOTTOMRIGHT
90 } ObCorner;
91
92 typedef enum {
93     OB_MOUSE_ACTION_PRESS,
94     OB_MOUSE_ACTION_RELEASE,
95     OB_MOUSE_ACTION_CLICK,
96     OB_MOUSE_ACTION_DOUBLE_CLICK,
97     OB_MOUSE_ACTION_MOTION,
98     OB_NUM_MOUSE_ACTIONS
99 } ObMouseAction;
100
101 typedef enum {
102     OB_USER_ACTION_NONE, /* being fired from inside another action and such */
103     OB_USER_ACTION_KEYBOARD_KEY,
104     OB_USER_ACTION_MOUSE_PRESS,
105     OB_USER_ACTION_MOUSE_RELEASE,
106     OB_USER_ACTION_MOUSE_CLICK,
107     OB_USER_ACTION_MOUSE_DOUBLE_CLICK,
108     OB_USER_ACTION_MOUSE_MOTION,
109     OB_USER_ACTION_MENU_SELECTION,
110     OB_USER_ACTION_HOOK,
111     OB_NUM_USER_ACTIONS
112 } ObUserAction;
113
114 #endif