1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
|
/*****************************************************************************/
/** Copyright 1988 by Evans & Sutherland Computer Corporation, **/
/** Salt Lake City, Utah **/
/** Portions Copyright 1989 by the Massachusetts Institute of Technology **/
/** Cambridge, Massachusetts **/
/** **/
/** All Rights Reserved **/
/** **/
/** Permission to use, copy, modify, and distribute this software and **/
/** its documentation for any purpose and without fee is hereby **/
/** granted, provided that the above copyright notice appear in all **/
/** copies and that both that copyright notice and this permis- **/
/** sion notice appear in supporting documentation, and that the **/
/** names of Evans & Sutherland and M.I.T. not be used in advertising **/
/** in publicity pertaining to distribution of the software without **/
/** specific, written prior permission. **/
/** **/
/** EVANS & SUTHERLAND AND M.I.T. DISCLAIM ALL WARRANTIES WITH REGARD **/
/** TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- **/
/** ABILITY AND FITNESS, IN NO EVENT SHALL EVANS & SUTHERLAND OR **/
/** M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAM- **/
/** AGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA **/
/** OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER **/
/** TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE **/
/** OR PERFORMANCE OF THIS SOFTWARE. **/
/*****************************************************************************/
/*
* [ ctwm ]
*
* Copyright 1992 Claude Lecommandeur.
*
* Permission to use, copy, modify and distribute this software [ctwm] and
* its documentation for any purpose is hereby granted without fee, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting documen-
* tation, and that the name of Claude Lecommandeur not be used in adverti-
* sing or publicity pertaining to distribution of the software without
* specific, written prior permission. Claude Lecommandeur make no represen-
* tations about the suitability of this software for any purpose. It is
* provided "as is" without express or implied warranty.
*
* Claude Lecommandeur DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
* EVENT SHALL Claude Lecommandeur BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
* USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*
* Author: Claude Lecommandeur [ lecom@sic.epfl.ch ][ April 1992 ]
*/
/**********************************************************************
*
* $XConsortium: parse.h,v 1.14 89/12/14 14:51:25 jim Exp $
*
* .twmrc parsing externs
*
* 8-Apr-88 Tom LaStrange Initial Version.
*
**********************************************************************/
#ifndef _CTWM_PARSE_H
#define _CTWM_PARSE_H
extern unsigned int mods_used;
extern int ConstrainedMoveTime;
extern int RaiseDelay;
extern bool ParseError; /* error parsing the .twmrc file */
/* Needed in the lexer */
extern int (*twmInputFunc)(void);
bool ParseTwmrc(char *filename);
void twmrc_error_prefix(void);
/*
* Funcs in parse_be.c but used elsewhere in the codebase; these should
* be looked at, because I think it probably means either they're
* misused, misnamed, or the code calling them should be in parse_be
* itself anyway.
*/
int ParseIRJustification(const char *s);
int ParseTitleJustification(const char *s);
int ParseAlignement(const char *s);
void assign_var_savecolor(void);
/*
* This is in parse_be.c because it needs to look at keytable, but put
* here because it's only built to be used early in main() as a sanity
* test, to hopefully be seen by devs as soon as they mess up.
*/
void chk_keytable_order(void);
/*
* Historical support for non-flex lex's is presumed no longer necessary.
* Remnants kept for the moment just in case.
*/
#undef NON_FLEX_LEX
#ifdef NON_FLEX_LEX
void twmUnput(int c);
void TwmOutput(int c);
#endif /* NON_FLEX_LEX */
/*
* Various defined numbers for functions and gravity directions. These
* are strictly speaking more config-y than parse-y, but we don't
* currently make such a distinction in the codebase.
*/
#define F_NOP 0
#define F_BEEP 1
#define F_RESTART 2
#define F_QUIT 3
#define F_FOCUS 4
#define F_REFRESH 5
#define F_WINREFRESH 6
#define F_DELTASTOP 7
#define F_MOVE 8
#define F_POPUP 9
#define F_FORCEMOVE 10
#define F_AUTORAISE 11
#define F_IDENTIFY 12
#define F_ICONIFY 13
#define F_DEICONIFY 14
#define F_UNFOCUS 15
#define F_RESIZE 16
#define F_VERTZOOM 17
#define F_LEFTZOOM 18
#define F_RIGHTZOOM 19
#define F_TOPZOOM 20
#define F_BOTTOMZOOM 21
#define F_HORIZOOM 22
#define F_FULLZOOM 23
#define F_RAISE 24
#define F_RAISELOWER 25
#define F_LOWER 26
#define F_DESTROY 27
#define F_DELETE 28
#define F_SAVEYOURSELF 29
#define F_VERSION 30
#define F_TITLE 31
#define F_RIGHTICONMGR 32
#define F_LEFTICONMGR 33
#define F_UPICONMGR 34
#define F_DOWNICONMGR 35
#define F_FORWICONMGR 36
#define F_BACKICONMGR 37
#define F_NEXTICONMGR 38
#define F_PREVICONMGR 39
#define F_SORTICONMGR 40
#define F_CIRCLEUP 41
#define F_CIRCLEDOWN 42
//#define F_CUTFILE 43
#define F_SHOWLIST 44
#define F_HIDELIST 45
#define F_OCCUPY 46
#define F_OCCUPYALL 47
#define F_SHOWWORKMGR 48
#define F_HIDEWORKMGR 49
#define F_SETBUTTONSTATE 50
#define F_SETMAPSTATE 51
#define F_TOGGLESTATE 52
#define F_PIN 53
#define F_MOVEMENU 54
#define F_VANISH 55
#define F_NEXTWORKSPACE 56
#define F_PREVWORKSPACE 57
#define F_SEPARATOR 58
#define F_ADOPTWINDOW 59
#define F_STARTANIMATION 60
#define F_STOPANIMATION 61
#define F_SPEEDUPANIMATION 62
#define F_SLOWDOWNANIMATION 63
#ifdef SOUNDS
#define F_TOGGLESOUND 64
#define F_REREADSOUNDS 65
#endif
#define F_TRACE 66
#define F_WINWARP 67
#define F_ALTCONTEXT 68
#define F_LEFTWORKSPACE 69
#define F_RIGHTWORKSPACE 70
#define F_UPWORKSPACE 71
#define F_DOWNWORKSPACE 72
#define F_RAISEICONS 73
#define F_MOVEPACK 74
#define F_MOVEPUSH 75
#define F_DELETEORDESTROY 76
#define F_SQUEEZE 77
#define F_FORWMAPICONMGR 78
#define F_BACKMAPICONMGR 79
#define F_SAVEGEOMETRY 80
#define F_RESTOREGEOMETRY 81
#define F_TOGGLEWORKMGR 82
#define F_HYPERMOVE 83
#define F_INITSIZE 84
#define F_RING 85
#define F_AUTOLOWER 86
#define F_FITTOCONTENT 87
#define F_SHOWBGRD 88
#define F_FULLSCREENZOOM 89
#define F_MENU 101 /* string */
#define F_WARPTO 102 /* string */
#define F_WARPTOICONMGR 103 /* string */
#define F_WARPRING 104 /* string */
//#define F_FILE 105 /* string */
#define F_EXEC 106 /* string */
//#define F_CUT 107 /* string */
#define F_FUNCTION 108 /* string */
#define F_WARPTOSCREEN 109 /* string */
#define F_COLORMAP 110 /* string */
#define F_GOTOWORKSPACE 111 /* string */
#define F_WARPHERE 112 /* string */
#define F_ALTKEYMAP 113 /* string */
#define F_ADDTOWORKSPACE 114 /* string */
#define F_REMOVEFROMWORKSPACE 115 /* string */
#define F_TOGGLEOCCUPATION 116 /* string */
#define F_PACK 117 /* string */
#define F_FILL 118 /* string */
#define F_JUMPRIGHT 119 /* string */
#define F_JUMPLEFT 120 /* string */
#define F_JUMPUP 121 /* string */
#define F_JUMPDOWN 122 /* string */
#define F_MOVERESIZE 123 /* string */
#define F_MOVETONEXTWORKSPACE 124
#define F_MOVETOPREVWORKSPACE 125
#define F_MOVETONEXTWORKSPACEANDFOLLOW 126
#define F_MOVETOPREVWORKSPACEANDFOLLOW 127
#define F_CHANGESIZE 128 /* string */
#define F_MOVETITLEBAR 129
#define F_SETPRIORITY 150 /* string (but should be number) */
#define F_CHANGEPRIORITY 151 /* string (but should be number) */
#define F_SWITCHPRIORITY 152
#define F_PRIORITYSWITCHING 153
#define F_TINYRAISE 154
#define F_TINYLOWER 155
#define F_UNSQUEEZE 156
#define F_RAISEORSQUEEZE 157
#define F_RESCUE_WINDOWS 158
#endif /* _CTWM_PARSE_H */
|