304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
1 |
/*
|
554.1.4
by Matthew Fuller
Collapse away license details in ctwm.h. |
2 |
* Copyright 1988 by Evans & Sutherland Computer Corporation,
|
3 |
* Salt Lake City, Utah
|
|
4 |
* Portions Copyright 1989 by the Massachusetts Institute of Technology
|
|
5 |
* Cambridge, Massachusetts
|
|
1
by Claude Lecommandeur
CTWM version 1.1 |
6 |
*
|
7 |
* $XConsortium: twm.h,v 1.74 91/05/31 17:38:30 dave Exp $
|
|
8 |
*
|
|
9 |
* twm include file
|
|
10 |
*
|
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
11 |
* 28-Oct-87 Thomas E. LaStrange File created
|
1
by Claude Lecommandeur
CTWM version 1.1 |
12 |
* 10-Oct-90 David M. Sternlicht Storeing saved colors on root
|
554.1.4
by Matthew Fuller
Collapse away license details in ctwm.h. |
13 |
*
|
14 |
* Copyright 1992 Claude Lecommandeur.
|
|
15 |
*/
|
|
484
by Matthew Fuller
Consistently rename all the include guards so they match the filename, |
16 |
#ifndef _CTWM_CTWM_H
|
17 |
#define _CTWM_CTWM_H
|
|
1
by Claude Lecommandeur
CTWM version 1.1 |
18 |
|
395.1.3
by Matthew Fuller
Pull in ctwm_config.h at the top of ctwm.h. Which is at the top of |
19 |
/*
|
20 |
* Include config first, before anything else. Including ctwm.h should
|
|
21 |
* be the first action of any of our files, so this happens before
|
|
22 |
* ANYthing else, anywhere.
|
|
23 |
*/
|
|
24 |
#include "ctwm_config.h" |
|
25 |
||
19
by Claude Lecommandeur
CTWM version 3.5.2c |
26 |
#ifdef DMALLOC
|
27 |
#include <dmalloc.h> |
|
28 |
#endif
|
|
29 |
||
492.2.48
by Matthew Fuller
Some more Bool->bool conversions. |
30 |
#include <stdbool.h> |
31 |
||
492.2.18
by Matthew Fuller
Expand comment a bit, and comment out (but leave for doc/emergency |
32 |
/*
|
33 |
* Intrinsic.h is needed for at least the Pixel type, which we use in
|
|
34 |
* this file. And Intrinsic.h (always?) implicitly brings in Xlib.h
|
|
35 |
* anyway.
|
|
36 |
*/
|
|
37 |
//#include <X11/Xlib.h>
|
|
38 |
#include <X11/Intrinsic.h> |
|
338.1.6
by Matthew Fuller
Pull in generated config file. |
39 |
|
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
40 |
#include "types.h" |
353
by Matthew Fuller
Conditionalize #include'ing ewmh.h on EWMH. |
41 |
#ifdef EWMH
|
302.1.39
by Olaf 'Rhialto' Seibert
Add some support for NET_WM_WINDOW_TYPE : NET_WM_WINDOW_TYPE_DESKTOP |
42 |
#include "ewmh.h" |
353
by Matthew Fuller
Conditionalize #include'ing ewmh.h on EWMH. |
43 |
#endif
|
2
by Claude Lecommandeur
CTWM version 1.2 |
44 |
|
311.1.1
by Matthew Fuller
Use __attribute__ to tell the compiler that Done never returns. |
45 |
/*
|
46 |
* This appears to be the standard way of testing this for portability,
|
|
47 |
* though calling it GNUC is sorta non-portable portability :)
|
|
48 |
*/
|
|
49 |
#ifndef __GNUC__
|
|
50 |
#define __attribute__(x) /*NOTHING*/ |
|
51 |
#endif
|
|
52 |
||
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
53 |
#define BW 2 /* border width */ |
54 |
#define BW2 4 /* border width * 2 */ |
|
1
by Claude Lecommandeur
CTWM version 1.1 |
55 |
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
56 |
#define MAX_BUTTONS 11 /* max mouse buttons supported */ |
1
by Claude Lecommandeur
CTWM version 1.1 |
57 |
|
667.1.8
by Matthew Fuller
Comment this set of defs to note how it's coloring a little outside |
58 |
|
59 |
/*
|
|
60 |
* Contexts for button presses.
|
|
61 |
* n.b.: These go alongside the ModXMask X11 defs, so better stay above
|
|
62 |
* them!
|
|
63 |
*/
|
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
64 |
#define Alt1Mask (1<<8)
|
65 |
#define Alt2Mask (1<<9)
|
|
66 |
#define Alt3Mask (1<<10)
|
|
67 |
#define Alt4Mask (1<<11)
|
|
68 |
#define Alt5Mask (1<<12)
|
|
12
by Claude Lecommandeur
CTWM version 3.3 |
69 |
|
667.1.21
by Matthew Fuller
Add some x-ref comments to warn of future collisions. |
70 |
// X-ref the Over_Mask's used for testing in mk_twmkeys_entry() if we
|
71 |
// grow more here, to avoid collision.
|
|
72 |
||
667.1.8
by Matthew Fuller
Comment this set of defs to note how it's coloring a little outside |
73 |
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
74 |
#define C_NO_CONTEXT -1
|
75 |
#define C_WINDOW 0
|
|
76 |
#define C_TITLE 1
|
|
77 |
#define C_ICON 2
|
|
78 |
#define C_ROOT 3
|
|
79 |
#define C_FRAME 4
|
|
80 |
#define C_ICONMGR 5
|
|
81 |
#define C_NAME 6
|
|
1
by Claude Lecommandeur
CTWM version 1.1 |
82 |
#define C_IDENTIFY 7
|
12
by Claude Lecommandeur
CTWM version 3.3 |
83 |
#define C_ALTERNATE 8
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
84 |
#define C_WORKSPACE 9
|
85 |
#define NUM_CONTEXTS 10
|
|
86 |
||
87 |
#define C_WINDOW_BIT (1 << C_WINDOW)
|
|
88 |
#define C_TITLE_BIT (1 << C_TITLE)
|
|
89 |
#define C_ICON_BIT (1 << C_ICON)
|
|
90 |
#define C_ROOT_BIT (1 << C_ROOT)
|
|
91 |
#define C_FRAME_BIT (1 << C_FRAME)
|
|
92 |
#define C_ICONMGR_BIT (1 << C_ICONMGR)
|
|
93 |
#define C_NAME_BIT (1 << C_NAME)
|
|
94 |
#define C_ALTER_BIT (1 << C_ALTERNATE)
|
|
95 |
#define C_WORKSPACE_BIT (1 << C_WORKSPACE)
|
|
96 |
||
97 |
#define C_ALL_BITS (C_WINDOW_BIT | C_TITLE_BIT | C_ICON_BIT |\
|
|
98 |
C_ROOT_BIT | C_FRAME_BIT | C_ICONMGR_BIT |\
|
|
99 |
C_WORKSPACE_BIT)
|
|
1
by Claude Lecommandeur
CTWM version 1.1 |
100 |
|
101 |
/* modifiers for button presses */
|
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
102 |
#define MOD_SIZE ((ShiftMask | ControlMask | Mod1Mask \
|
103 |
| Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask) + 1)
|
|
1
by Claude Lecommandeur
CTWM version 1.1 |
104 |
|
497.1.8
by Matthew Fuller
More verbose comment for ZOOM_NONE. |
105 |
/*
|
106 |
* Used for TwmWindow.zoomed. Var holds the number of the function that
|
|
107 |
* caused zooming, if one has, else ZOOM_NONE. This mirror F_NOP
|
|
108 |
* currently, but that's OK, because f.nop doesn't do anything, so it
|
|
109 |
* can't be a real cause of zooming.
|
|
110 |
*/
|
|
1
by Claude Lecommandeur
CTWM version 1.1 |
111 |
#define ZOOM_NONE 0
|
112 |
||
113 |
#define FBF(fix_fore, fix_back, fix_font)\
|
|
114 |
Gcv.foreground = fix_fore;\
|
|
115 |
Gcv.background = fix_back;\
|
|
116 |
Gcv.font = fix_font;\
|
|
117 |
XChangeGC(dpy, Scr->NormalGC, GCFont|GCForeground|GCBackground,&Gcv)
|
|
118 |
||
119 |
#define FB(fix_fore, fix_back)\
|
|
120 |
Gcv.foreground = fix_fore;\
|
|
121 |
Gcv.background = fix_back;\
|
|
122 |
XChangeGC(dpy, Scr->NormalGC, GCForeground|GCBackground,&Gcv)
|
|
123 |
||
17
by Claude Lecommandeur
CTWM version 3.5 |
124 |
#define MaxSize(a, b) (((a) < (b)) ? (b) : (a))
|
125 |
#define MinSize(a, b) (((a) > (b)) ? (b) : (a))
|
|
126 |
||
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
127 |
struct MyFont { |
128 |
char *basename; /* name of the font */ |
|
129 |
XFontSet font_set; |
|
130 |
int ascent; |
|
131 |
int descent; |
|
132 |
int height; /* height of the font */ |
|
133 |
int y; /* Y coordinate to draw characters */ |
|
134 |
/* Average height, maintained using the extra two auxiliary fields. */
|
|
135 |
unsigned int avg_height; |
|
136 |
float avg_fheight; |
|
137 |
unsigned int avg_count; |
|
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
138 |
};
|
1
by Claude Lecommandeur
CTWM version 1.1 |
139 |
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
140 |
struct ColorPair { |
141 |
Pixel fore, back, shadc, shadd; |
|
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
142 |
};
|
1
by Claude Lecommandeur
CTWM version 1.1 |
143 |
|
240.1.2
by Rhialto
3 - Selected a number of cleanups from Stefan Monnier |
144 |
struct TitleButtonFunc { |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
145 |
struct TitleButtonFunc *next; /* next in the list of function buttons */ |
146 |
int num; /* button number */ |
|
147 |
int mods; /* modifiers */ |
|
148 |
int func; /* function to execute */ |
|
149 |
char *action; /* optional action arg */ |
|
150 |
struct MenuRoot *menuroot; /* menu to pop on F_MENU */ |
|
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
151 |
};
|
11
by Claude Lecommandeur
CTWM version 3.2p1 |
152 |
|
240.1.2
by Rhialto
3 - Selected a number of cleanups from Stefan Monnier |
153 |
struct TitleButton { |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
154 |
struct TitleButton *next; /* next link in chain */ |
155 |
char *name; /* bitmap name in case of deferal */ |
|
156 |
Image *image; /* image to display in button */ |
|
157 |
int srcx, srcy; /* from where to start copying */ |
|
158 |
unsigned int width, height; /* size of pixmap */ |
|
159 |
int dstx, dsty; /* to where to start copying */ |
|
492.2.73
by Matthew Fuller
Trivial bool-ification of this struct member. |
160 |
bool rightside; /* t: on right, f: on left */ |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
161 |
TitleButtonFunc *funs; /* funcs assoc'd to each button */ |
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
162 |
};
|
1
by Claude Lecommandeur
CTWM version 1.1 |
163 |
|
240.1.2
by Rhialto
3 - Selected a number of cleanups from Stefan Monnier |
164 |
struct TBWindow { |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
165 |
Window window; /* which window in this frame */ |
166 |
Image *image; /* image to display in button */ |
|
167 |
TitleButton *info; /* description of this window */ |
|
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
168 |
};
|
1
by Claude Lecommandeur
CTWM version 1.1 |
169 |
|
496.1.20
by Matthew Fuller
Create and use an enum type for SqueezeInfo.justify. |
170 |
|
171 |
typedef enum { |
|
172 |
SIJ_LEFT, |
|
173 |
SIJ_CENTER, |
|
174 |
SIJ_RIGHT, |
|
175 |
} SIJust; |
|
176 |
||
240.1.2
by Rhialto
3 - Selected a number of cleanups from Stefan Monnier |
177 |
struct SqueezeInfo { |
496.1.20
by Matthew Fuller
Create and use an enum type for SqueezeInfo.justify. |
178 |
SIJust justify; |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
179 |
int num; /* signed pixel count or numerator */ |
180 |
int denom; /* 0 for pix count or denominator */ |
|
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
181 |
};
|
1
by Claude Lecommandeur
CTWM version 1.1 |
182 |
|
496.1.14
by Matthew Fuller
Create an enum for the IconRegion Alignement (misspelling preserved |
183 |
|
184 |
/*
|
|
185 |
* Type for IconRegion alignment and config entries relating
|
|
186 |
*
|
|
187 |
* Misspeelt for hysterical raisins
|
|
188 |
*/
|
|
189 |
typedef enum { |
|
190 |
IRA_UNDEF, |
|
191 |
IRA_TOP, |
|
192 |
IRA_CENTER, |
|
193 |
IRA_BOTTOM, |
|
194 |
IRA_BORDER, |
|
496.1.29
by Matthew Fuller
make indent |
195 |
} IRAlignement; |
496.1.14
by Matthew Fuller
Create an enum for the IconRegion Alignement (misspelling preserved |
196 |
|
496.1.16
by Matthew Fuller
Convert TitleJustification elements to their own enum type, and fixup |
197 |
/*
|
198 |
* Justification for title stuff. Window titles (TitleJustification),
|
|
199 |
* icon titles (IconJustification). _Not_ the same as for
|
|
200 |
* IconRegionJustification.
|
|
201 |
*/
|
|
202 |
typedef enum { |
|
203 |
TJ_UNDEF, |
|
204 |
TJ_LEFT, |
|
205 |
TJ_CENTER, |
|
206 |
TJ_RIGHT, |
|
207 |
} TitleJust; |
|
208 |
||
496.1.17
by Matthew Fuller
Convert IconRegion Justification to its own enum type too. This is |
209 |
/*
|
210 |
* And IconRegion Justification's.
|
|
211 |
*/
|
|
212 |
typedef enum { |
|
213 |
IRJ_UNDEF, |
|
214 |
IRJ_LEFT, |
|
215 |
IRJ_CENTER, |
|
216 |
IRJ_RIGHT, |
|
217 |
IRJ_BORDER, |
|
218 |
} IRJust; |
|
219 |
||
1
by Claude Lecommandeur
CTWM version 1.1 |
220 |
|
513.1.14
by Matthew Fuller
Comment a little on why this is combined and why it should be split. |
221 |
/*
|
222 |
* Gravity used by IconRegion and WindowRegion. Strictly, there should
|
|
223 |
* probably be separate vertical/horizontal types, but it'll take some
|
|
224 |
* nontrivial code reshuffling to make that possible because of how the
|
|
225 |
* values are used in the split* functions.
|
|
226 |
*/
|
|
513.1.7
by Matthew Fuller
Add a RegGravity enum to hold the gravity values. |
227 |
typedef enum { |
228 |
GRAV_NORTH, |
|
229 |
GRAV_EAST, |
|
230 |
GRAV_SOUTH, |
|
231 |
GRAV_WEST, |
|
232 |
} RegGravity; |
|
233 |
||
234 |
||
497.1.1
by Matthew Fuller
enum-ify Screen->RandomPlacement. |
235 |
/* RandomPlacement bits */
|
236 |
typedef enum { |
|
237 |
RP_OFF, |
|
238 |
RP_ALL, |
|
239 |
RP_UNMAPPED, |
|
240 |
} RandPlac; |
|
241 |
||
497.1.2
by Matthew Fuller
enum-ise Screen->UsePPosition. |
242 |
/* UsePPosition */
|
243 |
typedef enum { |
|
244 |
PPOS_OFF, |
|
245 |
PPOS_ON, |
|
246 |
PPOS_NON_ZERO, |
|
247 |
/*
|
|
248 |
* may eventually want an option for having the PPosition be the
|
|
249 |
* initial location for the drag lines.
|
|
250 |
*/
|
|
251 |
} UsePPoss; |
|
252 |
||
497.1.1
by Matthew Fuller
enum-ify Screen->RandomPlacement. |
253 |
|
1
by Claude Lecommandeur
CTWM version 1.1 |
254 |
/* Colormap window entry for each window in WM_COLORMAP_WINDOWS
|
255 |
* ICCCM property.
|
|
256 |
*/
|
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
257 |
struct TwmColormap { |
258 |
Colormap c; /* Colormap id */ |
|
259 |
int state; /* install(ability) state */ |
|
260 |
unsigned long install_req; /* request number which installed it */ |
|
261 |
Window w; /* window causing load of color table */ |
|
262 |
int refcnt; |
|
263 |
};
|
|
264 |
||
497.1.6
by Matthew Fuller
Comment. |
265 |
/* TwmColormap.state bit definitions */
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
266 |
#define CM_INSTALLABLE 1
|
267 |
#define CM_INSTALLED 2
|
|
268 |
#define CM_INSTALL 4
|
|
269 |
||
497.1.6
by Matthew Fuller
Comment. |
270 |
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
271 |
struct ColormapWindow { |
272 |
Window w; /* Window id */ |
|
273 |
TwmColormap *colormap; /* Colormap for this window */ |
|
274 |
int visibility; /* Visibility of this window */ |
|
275 |
int refcnt; |
|
276 |
};
|
|
277 |
||
278 |
struct Colormaps { |
|
279 |
ColormapWindow **cwins; /* current list of colormap windows */ |
|
280 |
int number_cwins; /* number of elements in current list */ |
|
281 |
char *scoreboard; /* conflicts between installable colortables */ |
|
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
282 |
};
|
1
by Claude Lecommandeur
CTWM version 1.1 |
283 |
|
284 |
#define ColormapsScoreboardLength(cm) ((cm)->number_cwins * \
|
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
285 |
((cm)->number_cwins - 1) / 2)
|
1
by Claude Lecommandeur
CTWM version 1.1 |
286 |
|
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
287 |
struct WindowRegion { |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
288 |
struct WindowRegion *next; |
289 |
int x, y, w, h; |
|
513.1.8
by Matthew Fuller
Swap to the new enum for these gravity values, and retire the old |
290 |
RegGravity grav1, grav2; |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
291 |
name_list *clientlist; |
292 |
struct WindowEntry *entries; |
|
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
293 |
};
|
6
by Claude Lecommandeur
CTWM version 2.2 |
294 |
|
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
295 |
struct WindowEntry { |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
296 |
struct WindowEntry *next; |
297 |
int x, y, w, h; |
|
298 |
struct TwmWindow *twm_win; |
|
492.2.81
by Matthew Fuller
short->bool these 'used' elements. |
299 |
bool used; |
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
300 |
};
|
6
by Claude Lecommandeur
CTWM version 2.2 |
301 |
|
240.1.2
by Rhialto
3 - Selected a number of cleanups from Stefan Monnier |
302 |
struct WindowBox { |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
303 |
struct WindowBox *next; |
304 |
char *name; |
|
305 |
char *geometry; |
|
306 |
name_list *winlist; |
|
307 |
Window window; |
|
308 |
struct TwmWindow *twmwin; |
|
93
by Richard Levitte
- Convert all functions to use proper prototypes. |
309 |
};
|
20
by Claude Lecommandeur
CTWM version 3.6 |
310 |
|
612.3.1
by Matthew Fuller
Extract struct TwmWindow from ctwm.h and off into its own file. We |
311 |
|
312 |
/*
|
|
313 |
* Pull in struct TwmWindow. Moved to a separate file to ease scanning
|
|
314 |
* through both it and the other stuff in here.
|
|
1
by Claude Lecommandeur
CTWM version 1.1 |
315 |
*/
|
612.3.1
by Matthew Fuller
Extract struct TwmWindow from ctwm.h and off into its own file. We |
316 |
#include "twm_window_struct.h" |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
317 |
|
611.1.2
by Matthew Fuller
Doc what these are for. |
318 |
|
319 |
/* Flags for TwmWindow.protocols */
|
|
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
320 |
#define DoesWmTakeFocus (1L << 0)
|
321 |
#define DoesWmSaveYourself (1L << 1)
|
|
322 |
#define DoesWmDeleteWindow (1L << 2)
|
|
323 |
||
8
by Claude Lecommandeur
CTWM version 3.0 |
324 |
|
1
by Claude Lecommandeur
CTWM version 1.1 |
325 |
extern char *ProgramName; |
647.1.7
by Matthew Fuller
Start splitting out signal handlers and their setup into their own |
326 |
extern size_t ProgramNameLen; |
1
by Claude Lecommandeur
CTWM version 1.1 |
327 |
extern Display *dpy; |
207.1.10
by Richard Levitte
Clean out USE_SESSION, X11R6 and the remainders of I18N |
328 |
extern XtAppContext appContext; |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
329 |
extern Window ResizeWindow; /* the window we are resizing */ |
492.2.94
by Matthew Fuller
boolify these globals. |
330 |
extern bool HasShape; /* this server supports Shape extension */ |
240.1.2
by Rhialto
3 - Selected a number of cleanups from Stefan Monnier |
331 |
extern int ShapeEventBase, ShapeErrorBase; |
1
by Claude Lecommandeur
CTWM version 1.1 |
332 |
|
333 |
extern int PreviousScreen; |
|
334 |
||
335 |
extern Cursor UpperLeftCursor; |
|
336 |
extern Cursor RightButt; |
|
337 |
extern Cursor MiddleButt; |
|
338 |
extern Cursor LeftButt; |
|
339 |
||
340 |
extern XClassHint NoClass; |
|
341 |
||
342 |
extern XContext TwmContext; |
|
343 |
extern XContext MenuContext; |
|
344 |
extern XContext ScreenContext; |
|
345 |
extern XContext ColormapContext; |
|
346 |
||
347 |
extern char *Home; |
|
348 |
extern int HomeLen; |
|
349 |
||
492.2.94
by Matthew Fuller
boolify these globals. |
350 |
extern bool HandlingEvents; |
240.1.2
by Rhialto
3 - Selected a number of cleanups from Stefan Monnier |
351 |
extern Cursor TopCursor, TopLeftCursor, LeftCursor, BottomLeftCursor, |
304.1.2
by Matthew Fuller
Run 'make indent' to reindent the world. |
352 |
BottomCursor, BottomRightCursor, RightCursor, TopRightCursor; |
1
by Claude Lecommandeur
CTWM version 1.1 |
353 |
|
502.1.18
by Matthew Fuller
Add comments about the usage of Junk vars, and collapse their |
354 |
/* Junk vars; see comment in ctwm.c about usage */
|
355 |
extern Window JunkRoot, JunkChild; |
|
356 |
extern int JunkX, JunkY; |
|
1
by Claude Lecommandeur
CTWM version 1.1 |
357 |
extern unsigned int JunkWidth, JunkHeight, JunkBW, JunkDepth, JunkMask; |
502.1.18
by Matthew Fuller
Add comments about the usage of Junk vars, and collapse their |
358 |
|
1
by Claude Lecommandeur
CTWM version 1.1 |
359 |
extern XGCValues Gcv; |
360 |
extern int Argc; |
|
361 |
extern char **Argv; |
|
362 |
||
492.2.48
by Matthew Fuller
Some more Bool->bool conversions. |
363 |
extern bool RestartPreviousState; |
1
by Claude Lecommandeur
CTWM version 1.1 |
364 |
|
647.1.8
by Matthew Fuller
Use a more general "signal recvd" flag in place of the specific |
365 |
extern bool SignalFlag; ///< Some signal flag has been set |
120
by Richard Levitte
- Move the restarting code from Restart() to DoRestart(). |
366 |
|
1
by Claude Lecommandeur
CTWM version 1.1 |
367 |
#define OCCUPY(w, b) ((b == NULL) ? 1 : (w->occupation & (1 << b->number)))
|
17
by Claude Lecommandeur
CTWM version 3.5 |
368 |
|
389.1.30
by Matthew Fuller
Create a structure to stick command-line args into, starting with some |
369 |
|
370 |
/*
|
|
371 |
* Command-line arg handling bits
|
|
372 |
*/
|
|
373 |
typedef struct _ctwm_cl_args { |
|
492.2.71
by Matthew Fuller
bool-ify these boolean flags in command-line args, instead of them |
374 |
bool MultiScreen; // ! --single, grab multiple screens |
375 |
bool Monochrome; // --mono, force monochrome |
|
376 |
bool cfgchk; // --cfgchk, check config and exit |
|
389.1.43
by Matthew Fuller
Convert --file over to CLarg. |
377 |
char *InitFile; // --file, config filename |
389.1.45
by Matthew Fuller
Convert --display to CLarg. |
378 |
char *display_name; // --display, X server display |
389.1.38
by Matthew Fuller
Add a little whitespace for readability. |
379 |
|
492.2.71
by Matthew Fuller
bool-ify these boolean flags in command-line args, instead of them |
380 |
bool PrintErrorMessages; // --verbose, show more debug output |
492.2.70
by Matthew Fuller
Convert WelcomeWindow conditionals (in multiple structs) to bool. |
381 |
bool ShowWelcomeWindow; // ! --nowelcome, show splash screen |
389.1.39
by Matthew Fuller
Switch --verbose/--quiet flag over to CLarg. |
382 |
|
492.2.71
by Matthew Fuller
bool-ify these boolean flags in command-line args, instead of them |
383 |
bool is_captive; // --window (flag), running captive |
389.1.48
by Matthew Fuller
Move --window's optional argument value into CLarg. |
384 |
Window capwin; // --window (arg), existing window to capture |
389.1.47
by Matthew Fuller
Add captivename to CLarg, but don't use it yet; there's a place |
385 |
char *captivename; // --name, captive name |
389.1.46
by Matthew Fuller
Convert the 'captive' flag to is_captive and move it into CLarg. |
386 |
|
389.1.30
by Matthew Fuller
Create a structure to stick command-line args into, starting with some |
387 |
#ifdef USEM4
|
492.2.71
by Matthew Fuller
bool-ify these boolean flags in command-line args, instead of them |
388 |
bool KeepTmpFile; // --keep-defs, keep generated m4 defs |
389.1.30
by Matthew Fuller
Create a structure to stick command-line args into, starting with some |
389 |
char *keepM4_filename; // --keep, keep m4 post-processed output |
492.2.71
by Matthew Fuller
bool-ify these boolean flags in command-line args, instead of them |
390 |
bool GoThroughM4; // ! --nom4, do m4 processing |
389.1.30
by Matthew Fuller
Create a structure to stick command-line args into, starting with some |
391 |
#endif
|
389.1.38
by Matthew Fuller
Add a little whitespace for readability. |
392 |
|
389.1.37
by Matthew Fuller
Convert --replace flag to CLarg. |
393 |
#ifdef EWMH
|
492.2.71
by Matthew Fuller
bool-ify these boolean flags in command-line args, instead of them |
394 |
bool ewmh_replace; // --replace, replacing running WM |
389.1.37
by Matthew Fuller
Convert --replace flag to CLarg. |
395 |
#endif
|
389.1.49
by Matthew Fuller
Convert --clientId to CLarg. |
396 |
|
397 |
char *client_id; // --clientId, session client id |
|
389.1.50
by Matthew Fuller
Convert --restore arg to CLarg. |
398 |
char *restore_filename; // --restore, session filename |
389.1.30
by Matthew Fuller
Create a structure to stick command-line args into, starting with some |
399 |
} ctwm_cl_args; |
400 |
extern ctwm_cl_args CLarg; |
|
401 |
||
402 |
||
484
by Matthew Fuller
Consistently rename all the include guards so they match the filename, |
403 |
#endif /* _CTWM_CTWM_H */ |