1 /*
2  * Copyright (C) 2005-2011 Kim Woelders
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy
5  * of this software and associated documentation files (the "Software"), to
6  * deal in the Software without restriction, including without limitation the
7  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8  * sell copies of the Software, and to permit persons to whom the Software is
9  * furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies of the Software, its documentation and marketing & publicity
13  * materials, and acknowledgment shall be given in the documentation, materials
14  * and software packages that this Software was used.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19  * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22  */
23 #ifndef _EWIN_OPS_H_
24 #define _EWIN_OPS_H_
25 
26 typedef enum {
27    EWIN_OP_INVALID,
28 
29    EWIN_OP_BORDER,
30    EWIN_OP_TITLE,
31 
32    EWIN_OP_CLOSE,
33    EWIN_OP_KILL,
34    EWIN_OP_ICONIFY,
35    EWIN_OP_ALONE,
36    EWIN_OP_SHADE,
37    EWIN_OP_STICK,
38    EWIN_OP_FOCUS,
39 
40    EWIN_OP_DESK,
41    EWIN_OP_AREA,
42    EWIN_OP_MOVE,
43    EWIN_OP_SIZE,
44    EWIN_OP_MOVE_REL,
45    EWIN_OP_SIZE_REL,
46 
47    EWIN_OP_MAX_WIDTH,
48    EWIN_OP_MAX_HEIGHT,
49    EWIN_OP_MAX_SIZE,
50    EWIN_OP_FULLSCREEN,
51    EWIN_OP_ZOOM,
52 
53    EWIN_OP_LAYER,
54    EWIN_OP_RAISE,
55    EWIN_OP_LOWER,
56 
57    EWIN_OP_OPACITY,
58    EWIN_OP_FOCUSED_OPACITY,
59 
60    EWIN_OP_SNAP,
61 
62    EWIN_OP_FOCUS_CLICK,
63    EWIN_OP_IGNORE_ARRANGE,
64    EWIN_OP_NEVER_USE_AREA,
65    EWIN_OP_NO_BUTTON_GRABS,
66    EWIN_OP_SKIP_LISTS,
67    EWIN_OP_AUTOSHADE,
68 
69    EWIN_OP_INH_APP_FOCUS,
70    EWIN_OP_INH_APP_MOVE,
71    EWIN_OP_INH_APP_SIZE,
72    EWIN_OP_INH_USER_CLOSE,
73    EWIN_OP_INH_USER_MOVE,
74    EWIN_OP_INH_USER_SIZE,
75    EWIN_OP_INH_WM_FOCUS,
76 
77    EWIN_OP_FADE,
78    EWIN_OP_SHADOW,
79    EWIN_OP_NO_REDIRECT,
80    EWIN_OP_NO_ARGB,
81 } winop_e;
82 
83 typedef struct {
84    const char         *name;
85    char                len;
86    char                ok_ipc;
87    char                ok_match;
88    char                op;
89 } WinOp;
90 
91 const WinOp        *EwinOpFind(const char *op);
92 
93 #endif /* _EWIN_OPS_H_ */
94