2 871e83a0 2005-07-13 devnull * Original code posted to comp.sources.x
3 871e83a0 2005-07-13 devnull * Modifications by Russ Cox <rsc@swtch.com>.
7 871e83a0 2005-07-13 devnull Path: uunet!wyse!mikew
8 871e83a0 2005-07-13 devnull From: mikew@wyse.wyse.com (Mike Wexler)
9 871e83a0 2005-07-13 devnull Newsgroups: comp.sources.x
10 871e83a0 2005-07-13 devnull Subject: v02i056: subroutine to print events in human readable form, Part01/01
11 871e83a0 2005-07-13 devnull Message-ID: <1935@wyse.wyse.com>
12 871e83a0 2005-07-13 devnull Date: 22 Dec 88 19:28:25 GMT
13 871e83a0 2005-07-13 devnull Organization: Wyse Technology, San Jose
14 871e83a0 2005-07-13 devnull Lines: 1093
15 871e83a0 2005-07-13 devnull Approved: mikew@wyse.com
17 871e83a0 2005-07-13 devnull Submitted-by: richsun!darkstar!ken
18 871e83a0 2005-07-13 devnull Posting-number: Volume 2, Issue 56
19 871e83a0 2005-07-13 devnull Archive-name: showevent/part01
22 871e83a0 2005-07-13 devnull There are times during debugging when it would be real useful to be able to
23 871e83a0 2005-07-13 devnull print the fields of an event in a human readable form. Too many times I found
24 871e83a0 2005-07-13 devnull myself scrounging around in section 8 of the Xlib manual looking for the valid
25 871e83a0 2005-07-13 devnull fields for the events I wanted to see, then adding printf's to display the
26 871e83a0 2005-07-13 devnull numeric values of the fields, and then scanning through X.h trying to decode
27 871e83a0 2005-07-13 devnull the cryptic detail and state fields. After playing with xev, I decided to
28 871e83a0 2005-07-13 devnull write a couple of standard functions that I could keep in a library and call
29 871e83a0 2005-07-13 devnull on whenever I needed a little debugging verbosity. The first function,
30 871e83a0 2005-07-13 devnull GetType(), is useful for returning the string representation of the type of
31 871e83a0 2005-07-13 devnull an event. The second function, ShowEvent(), is used to display all the fields
32 871e83a0 2005-07-13 devnull of an event in a readable format. The functions are not complicated, in fact,
33 871e83a0 2005-07-13 devnull they are mind-numbingly boring - but that's just the point nobody wants to
34 871e83a0 2005-07-13 devnull spend the time writing functions like this, they just want to have them when
35 871e83a0 2005-07-13 devnull they need them.
37 871e83a0 2005-07-13 devnull A simple, sample program is included which does little else but to demonstrate
38 871e83a0 2005-07-13 devnull the use of these two functions. These functions have saved me many an hour
39 871e83a0 2005-07-13 devnull during debugging and I hope you find some benefit to these. If you have any
40 871e83a0 2005-07-13 devnull comments, suggestions, improvements, or if you find any blithering errors you
41 871e83a0 2005-07-13 devnull can get it touch with me at the following location:
43 871e83a0 2005-07-13 devnull ken@richsun.UUCP
46 871e83a0 2005-07-13 devnull #include <stdio.h>
47 871e83a0 2005-07-13 devnull #include <X11/Intrinsic.h>
48 871e83a0 2005-07-13 devnull #include <X11/Xproto.h>
49 871e83a0 2005-07-13 devnull #include "printevent.h"
51 871e83a0 2005-07-13 devnull static char* sep = " ";
53 871e83a0 2005-07-13 devnull /******************************************************************************/
54 871e83a0 2005-07-13 devnull /**** Miscellaneous routines to convert values to their string equivalents ****/
55 871e83a0 2005-07-13 devnull /******************************************************************************/
57 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a boolean parameter */
58 871e83a0 2005-07-13 devnull static char*
59 871e83a0 2005-07-13 devnull TorF(int bool)
61 871e83a0 2005-07-13 devnull switch (bool) {
62 871e83a0 2005-07-13 devnull case True:
63 871e83a0 2005-07-13 devnull return ("True");
65 871e83a0 2005-07-13 devnull case False:
66 871e83a0 2005-07-13 devnull return ("False");
69 871e83a0 2005-07-13 devnull return ("?");
73 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a property notify state */
74 871e83a0 2005-07-13 devnull static char*
75 871e83a0 2005-07-13 devnull PropertyState(int state)
77 871e83a0 2005-07-13 devnull switch (state) {
78 871e83a0 2005-07-13 devnull case PropertyNewValue:
79 871e83a0 2005-07-13 devnull return ("PropertyNewValue");
81 871e83a0 2005-07-13 devnull case PropertyDelete:
82 871e83a0 2005-07-13 devnull return ("PropertyDelete");
85 871e83a0 2005-07-13 devnull return ("?");
89 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a visibility notify state */
90 871e83a0 2005-07-13 devnull static char*
91 871e83a0 2005-07-13 devnull VisibilityState(int state)
93 871e83a0 2005-07-13 devnull switch (state) {
94 871e83a0 2005-07-13 devnull case VisibilityUnobscured:
95 871e83a0 2005-07-13 devnull return ("VisibilityUnobscured");
97 871e83a0 2005-07-13 devnull case VisibilityPartiallyObscured:
98 871e83a0 2005-07-13 devnull return ("VisibilityPartiallyObscured");
100 871e83a0 2005-07-13 devnull case VisibilityFullyObscured:
101 871e83a0 2005-07-13 devnull return ("VisibilityFullyObscured");
103 871e83a0 2005-07-13 devnull default:
104 871e83a0 2005-07-13 devnull return ("?");
108 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a timestamp */
109 871e83a0 2005-07-13 devnull static char*
110 871e83a0 2005-07-13 devnull ServerTime(Time time)
112 871e83a0 2005-07-13 devnull unsigned long msec;
113 871e83a0 2005-07-13 devnull unsigned long sec;
114 871e83a0 2005-07-13 devnull unsigned long min;
115 871e83a0 2005-07-13 devnull unsigned long hr;
116 871e83a0 2005-07-13 devnull unsigned long day;
117 871e83a0 2005-07-13 devnull static char buffer[32];
119 871e83a0 2005-07-13 devnull msec = time % 1000;
120 871e83a0 2005-07-13 devnull time /= 1000;
121 871e83a0 2005-07-13 devnull sec = time % 60;
122 871e83a0 2005-07-13 devnull time /= 60;
123 871e83a0 2005-07-13 devnull min = time % 60;
124 871e83a0 2005-07-13 devnull time /= 60;
125 871e83a0 2005-07-13 devnull hr = time % 24;
126 871e83a0 2005-07-13 devnull time /= 24;
127 871e83a0 2005-07-13 devnull day = time;
130 871e83a0 2005-07-13 devnull sprintf(buffer, "%lu day%s %02lu:%02lu:%02lu.%03lu",
131 871e83a0 2005-07-13 devnull day, day == 1 ? "" : "(s)", hr, min, sec, msec);
133 871e83a0 2005-07-13 devnull sprintf(buffer, "%lud%luh%lum%lu.%03lds", day, hr, min, sec, msec);
134 871e83a0 2005-07-13 devnull return (buffer);
137 871e83a0 2005-07-13 devnull /* Simple structure to ease the interpretation of masks */
138 871e83a0 2005-07-13 devnull typedef struct MaskType MaskType;
139 871e83a0 2005-07-13 devnull struct MaskType
141 871e83a0 2005-07-13 devnull unsigned int value;
142 871e83a0 2005-07-13 devnull char *string;
145 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a mask of buttons and/or modifier keys */
146 871e83a0 2005-07-13 devnull static char*
147 871e83a0 2005-07-13 devnull ButtonAndOrModifierState(unsigned int state)
149 871e83a0 2005-07-13 devnull static char buffer[256];
150 871e83a0 2005-07-13 devnull static MaskType masks[] = {
151 871e83a0 2005-07-13 devnull {Button1Mask, "Button1Mask"},
152 871e83a0 2005-07-13 devnull {Button2Mask, "Button2Mask"},
153 871e83a0 2005-07-13 devnull {Button3Mask, "Button3Mask"},
154 871e83a0 2005-07-13 devnull {Button4Mask, "Button4Mask"},
155 871e83a0 2005-07-13 devnull {Button5Mask, "Button5Mask"},
156 871e83a0 2005-07-13 devnull {ShiftMask, "ShiftMask"},
157 871e83a0 2005-07-13 devnull {LockMask, "LockMask"},
158 871e83a0 2005-07-13 devnull {ControlMask, "ControlMask"},
159 871e83a0 2005-07-13 devnull {Mod1Mask, "Mod1Mask"},
160 871e83a0 2005-07-13 devnull {Mod2Mask, "Mod2Mask"},
161 871e83a0 2005-07-13 devnull {Mod3Mask, "Mod3Mask"},
162 871e83a0 2005-07-13 devnull {Mod4Mask, "Mod4Mask"},
163 871e83a0 2005-07-13 devnull {Mod5Mask, "Mod5Mask"},
165 871e83a0 2005-07-13 devnull int num_masks = sizeof(masks) / sizeof(MaskType);
167 871e83a0 2005-07-13 devnull Boolean first = True;
169 871e83a0 2005-07-13 devnull buffer[0] = 0;
171 871e83a0 2005-07-13 devnull for (i = 0; i < num_masks; i++)
172 871e83a0 2005-07-13 devnull if (state & masks[i].value)
173 871e83a0 2005-07-13 devnull if (first) {
174 871e83a0 2005-07-13 devnull first = False;
175 871e83a0 2005-07-13 devnull strcpy(buffer, masks[i].string);
176 871e83a0 2005-07-13 devnull } else {
177 871e83a0 2005-07-13 devnull strcat(buffer, " | ");
178 871e83a0 2005-07-13 devnull strcat(buffer, masks[i].string);
180 871e83a0 2005-07-13 devnull return (buffer);
183 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a mask of configure window values */
184 871e83a0 2005-07-13 devnull static char*
185 871e83a0 2005-07-13 devnull ConfigureValueMask(unsigned int valuemask)
187 871e83a0 2005-07-13 devnull static char buffer[256];
188 871e83a0 2005-07-13 devnull static MaskType masks[] = {
189 871e83a0 2005-07-13 devnull {CWX, "CWX"},
190 871e83a0 2005-07-13 devnull {CWY, "CWY"},
191 871e83a0 2005-07-13 devnull {CWWidth, "CWWidth"},
192 871e83a0 2005-07-13 devnull {CWHeight, "CWHeight"},
193 871e83a0 2005-07-13 devnull {CWBorderWidth, "CWBorderWidth"},
194 871e83a0 2005-07-13 devnull {CWSibling, "CWSibling"},
195 871e83a0 2005-07-13 devnull {CWStackMode, "CWStackMode"},
197 871e83a0 2005-07-13 devnull int num_masks = sizeof(masks) / sizeof(MaskType);
199 871e83a0 2005-07-13 devnull Boolean first = True;
201 871e83a0 2005-07-13 devnull buffer[0] = 0;
203 871e83a0 2005-07-13 devnull for (i = 0; i < num_masks; i++)
204 871e83a0 2005-07-13 devnull if (valuemask & masks[i].value)
205 871e83a0 2005-07-13 devnull if (first) {
206 871e83a0 2005-07-13 devnull first = False;
207 871e83a0 2005-07-13 devnull strcpy(buffer, masks[i].string);
208 871e83a0 2005-07-13 devnull } else {
209 871e83a0 2005-07-13 devnull strcat(buffer, " | ");
210 871e83a0 2005-07-13 devnull strcat(buffer, masks[i].string);
213 871e83a0 2005-07-13 devnull return (buffer);
216 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a motion hint */
217 871e83a0 2005-07-13 devnull static char*
218 871e83a0 2005-07-13 devnull IsHint(char is_hint)
220 871e83a0 2005-07-13 devnull switch (is_hint) {
221 871e83a0 2005-07-13 devnull case NotifyNormal:
222 871e83a0 2005-07-13 devnull return ("NotifyNormal");
224 871e83a0 2005-07-13 devnull case NotifyHint:
225 871e83a0 2005-07-13 devnull return ("NotifyHint");
227 871e83a0 2005-07-13 devnull default:
228 871e83a0 2005-07-13 devnull return ("?");
232 871e83a0 2005-07-13 devnull /* Returns the string equivalent of an id or the value "None" */
233 871e83a0 2005-07-13 devnull static char*
234 871e83a0 2005-07-13 devnull MaybeNone(int value)
236 871e83a0 2005-07-13 devnull static char buffer[16];
238 871e83a0 2005-07-13 devnull if (value == None)
239 871e83a0 2005-07-13 devnull return ("None");
241 871e83a0 2005-07-13 devnull sprintf(buffer, "0x%x", value);
242 871e83a0 2005-07-13 devnull return (buffer);
246 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a colormap state */
247 871e83a0 2005-07-13 devnull static char*
248 871e83a0 2005-07-13 devnull ColormapState(int state)
250 871e83a0 2005-07-13 devnull switch (state) {
251 871e83a0 2005-07-13 devnull case ColormapInstalled:
252 871e83a0 2005-07-13 devnull return ("ColormapInstalled");
254 871e83a0 2005-07-13 devnull case ColormapUninstalled:
255 871e83a0 2005-07-13 devnull return ("ColormapUninstalled");
257 871e83a0 2005-07-13 devnull default:
258 871e83a0 2005-07-13 devnull return ("?");
262 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a crossing detail */
263 871e83a0 2005-07-13 devnull static char*
264 871e83a0 2005-07-13 devnull CrossingDetail(int detail)
266 871e83a0 2005-07-13 devnull switch (detail) {
267 871e83a0 2005-07-13 devnull case NotifyAncestor:
268 871e83a0 2005-07-13 devnull return ("NotifyAncestor");
270 871e83a0 2005-07-13 devnull case NotifyInferior:
271 871e83a0 2005-07-13 devnull return ("NotifyInferior");
273 871e83a0 2005-07-13 devnull case NotifyVirtual:
274 871e83a0 2005-07-13 devnull return ("NotifyVirtual");
276 871e83a0 2005-07-13 devnull case NotifyNonlinear:
277 871e83a0 2005-07-13 devnull return ("NotifyNonlinear");
279 871e83a0 2005-07-13 devnull case NotifyNonlinearVirtual:
280 871e83a0 2005-07-13 devnull return ("NotifyNonlinearVirtual");
282 871e83a0 2005-07-13 devnull default:
283 871e83a0 2005-07-13 devnull return ("?");
287 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a focus change detail */
288 871e83a0 2005-07-13 devnull static char*
289 871e83a0 2005-07-13 devnull FocusChangeDetail(int detail)
291 871e83a0 2005-07-13 devnull switch (detail) {
292 871e83a0 2005-07-13 devnull case NotifyAncestor:
293 871e83a0 2005-07-13 devnull return ("NotifyAncestor");
295 871e83a0 2005-07-13 devnull case NotifyInferior:
296 871e83a0 2005-07-13 devnull return ("NotifyInferior");
298 871e83a0 2005-07-13 devnull case NotifyVirtual:
299 871e83a0 2005-07-13 devnull return ("NotifyVirtual");
301 871e83a0 2005-07-13 devnull case NotifyNonlinear:
302 871e83a0 2005-07-13 devnull return ("NotifyNonlinear");
304 871e83a0 2005-07-13 devnull case NotifyNonlinearVirtual:
305 871e83a0 2005-07-13 devnull return ("NotifyNonlinearVirtual");
307 871e83a0 2005-07-13 devnull case NotifyPointer:
308 871e83a0 2005-07-13 devnull return ("NotifyPointer");
310 871e83a0 2005-07-13 devnull case NotifyPointerRoot:
311 871e83a0 2005-07-13 devnull return ("NotifyPointerRoot");
313 871e83a0 2005-07-13 devnull case NotifyDetailNone:
314 871e83a0 2005-07-13 devnull return ("NotifyDetailNone");
316 871e83a0 2005-07-13 devnull default:
317 871e83a0 2005-07-13 devnull return ("?");
321 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a configure detail */
322 871e83a0 2005-07-13 devnull static char*
323 871e83a0 2005-07-13 devnull ConfigureDetail(int detail)
325 871e83a0 2005-07-13 devnull switch (detail) {
326 871e83a0 2005-07-13 devnull case Above:
327 871e83a0 2005-07-13 devnull return ("Above");
329 871e83a0 2005-07-13 devnull case Below:
330 871e83a0 2005-07-13 devnull return ("Below");
332 871e83a0 2005-07-13 devnull case TopIf:
333 871e83a0 2005-07-13 devnull return ("TopIf");
335 871e83a0 2005-07-13 devnull case BottomIf:
336 871e83a0 2005-07-13 devnull return ("BottomIf");
338 871e83a0 2005-07-13 devnull case Opposite:
339 871e83a0 2005-07-13 devnull return ("Opposite");
341 871e83a0 2005-07-13 devnull default:
342 871e83a0 2005-07-13 devnull return ("?");
346 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a grab mode */
347 871e83a0 2005-07-13 devnull static char*
348 871e83a0 2005-07-13 devnull GrabMode(int mode)
350 871e83a0 2005-07-13 devnull switch (mode) {
351 871e83a0 2005-07-13 devnull case NotifyNormal:
352 871e83a0 2005-07-13 devnull return ("NotifyNormal");
354 871e83a0 2005-07-13 devnull case NotifyGrab:
355 871e83a0 2005-07-13 devnull return ("NotifyGrab");
357 871e83a0 2005-07-13 devnull case NotifyUngrab:
358 871e83a0 2005-07-13 devnull return ("NotifyUngrab");
360 871e83a0 2005-07-13 devnull case NotifyWhileGrabbed:
361 871e83a0 2005-07-13 devnull return ("NotifyWhileGrabbed");
363 871e83a0 2005-07-13 devnull default:
364 871e83a0 2005-07-13 devnull return ("?");
368 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a mapping request */
369 871e83a0 2005-07-13 devnull static char*
370 871e83a0 2005-07-13 devnull MappingRequest(int request)
372 871e83a0 2005-07-13 devnull switch (request) {
373 871e83a0 2005-07-13 devnull case MappingModifier:
374 871e83a0 2005-07-13 devnull return ("MappingModifier");
376 871e83a0 2005-07-13 devnull case MappingKeyboard:
377 871e83a0 2005-07-13 devnull return ("MappingKeyboard");
379 871e83a0 2005-07-13 devnull case MappingPointer:
380 871e83a0 2005-07-13 devnull return ("MappingPointer");
382 871e83a0 2005-07-13 devnull default:
383 871e83a0 2005-07-13 devnull return ("?");
387 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a stacking order place */
388 871e83a0 2005-07-13 devnull static char*
389 871e83a0 2005-07-13 devnull Place(int place)
391 871e83a0 2005-07-13 devnull switch (place) {
392 871e83a0 2005-07-13 devnull case PlaceOnTop:
393 871e83a0 2005-07-13 devnull return ("PlaceOnTop");
395 871e83a0 2005-07-13 devnull case PlaceOnBottom:
396 871e83a0 2005-07-13 devnull return ("PlaceOnBottom");
398 871e83a0 2005-07-13 devnull default:
399 871e83a0 2005-07-13 devnull return ("?");
403 871e83a0 2005-07-13 devnull /* Returns the string equivalent of a major code */
404 871e83a0 2005-07-13 devnull static char*
405 871e83a0 2005-07-13 devnull MajorCode(int code)
407 871e83a0 2005-07-13 devnull static char buffer[32];
409 871e83a0 2005-07-13 devnull switch (code) {
410 871e83a0 2005-07-13 devnull case X_CopyArea:
411 871e83a0 2005-07-13 devnull return ("X_CopyArea");
413 871e83a0 2005-07-13 devnull case X_CopyPlane:
414 871e83a0 2005-07-13 devnull return ("X_CopyPlane");
416 871e83a0 2005-07-13 devnull default:
417 871e83a0 2005-07-13 devnull sprintf(buffer, "0x%x", code);
418 871e83a0 2005-07-13 devnull return (buffer);
422 871e83a0 2005-07-13 devnull /* Returns the string equivalent the keycode contained in the key event */
423 871e83a0 2005-07-13 devnull static char*
424 871e83a0 2005-07-13 devnull Keycode(XKeyEvent *ev)
426 871e83a0 2005-07-13 devnull static char buffer[256];
427 871e83a0 2005-07-13 devnull KeySym keysym_str;
428 871e83a0 2005-07-13 devnull char *keysym_name;
429 871e83a0 2005-07-13 devnull char string[256];
431 871e83a0 2005-07-13 devnull XLookupString(ev, string, 64, &keysym_str, NULL);
433 871e83a0 2005-07-13 devnull if (keysym_str == NoSymbol)
434 871e83a0 2005-07-13 devnull keysym_name = "NoSymbol";
435 871e83a0 2005-07-13 devnull else if (!(keysym_name = XKeysymToString(keysym_str)))
436 871e83a0 2005-07-13 devnull keysym_name = "(no name)";
437 871e83a0 2005-07-13 devnull sprintf(buffer, "%u (keysym 0x%x \"%s\")",
438 871e83a0 2005-07-13 devnull (int)ev->keycode, (int)keysym_str, keysym_name);
439 871e83a0 2005-07-13 devnull return (buffer);
442 871e83a0 2005-07-13 devnull /* Returns the string equivalent of an atom or "None"*/
443 871e83a0 2005-07-13 devnull static char*
444 871e83a0 2005-07-13 devnull AtomName(Display *dpy, Atom atom)
446 871e83a0 2005-07-13 devnull static char buffer[256];
447 871e83a0 2005-07-13 devnull char *atom_name;
449 871e83a0 2005-07-13 devnull if (atom == None)
450 871e83a0 2005-07-13 devnull return ("None");
452 871e83a0 2005-07-13 devnull atom_name = XGetAtomName(dpy, atom);
453 871e83a0 2005-07-13 devnull strncpy(buffer, atom_name, 256);
454 871e83a0 2005-07-13 devnull XFree(atom_name);
455 871e83a0 2005-07-13 devnull return (buffer);
458 871e83a0 2005-07-13 devnull /******************************************************************************/
459 871e83a0 2005-07-13 devnull /**** Routines to print out readable values for the field of various events ***/
460 871e83a0 2005-07-13 devnull /******************************************************************************/
462 871e83a0 2005-07-13 devnull static void
463 871e83a0 2005-07-13 devnull VerbMotion(XMotionEvent *ev)
465 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
466 871e83a0 2005-07-13 devnull printf("root=0x%x%s", (int)ev->root, sep);
467 871e83a0 2005-07-13 devnull printf("subwindow=0x%x%s", (int)ev->subwindow, sep);
468 871e83a0 2005-07-13 devnull printf("time=%s%s", ServerTime(ev->time), sep);
469 871e83a0 2005-07-13 devnull printf("x=%d y=%d%s", ev->x, ev->y, sep);
470 871e83a0 2005-07-13 devnull printf("x_root=%d y_root=%d%s", ev->x_root, ev->y_root, sep);
471 871e83a0 2005-07-13 devnull printf("state=%s%s", ButtonAndOrModifierState(ev->state), sep);
472 871e83a0 2005-07-13 devnull printf("is_hint=%s%s", IsHint(ev->is_hint), sep);
473 871e83a0 2005-07-13 devnull printf("same_screen=%s\n", TorF(ev->same_screen));
476 871e83a0 2005-07-13 devnull static void
477 871e83a0 2005-07-13 devnull VerbButton(XButtonEvent *ev)
479 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
480 871e83a0 2005-07-13 devnull printf("root=0x%x%s", (int)ev->root, sep);
481 871e83a0 2005-07-13 devnull printf("subwindow=0x%x%s", (int)ev->subwindow, sep);
482 871e83a0 2005-07-13 devnull printf("time=%s%s", ServerTime(ev->time), sep);
483 871e83a0 2005-07-13 devnull printf("x=%d y=%d%s", ev->x, ev->y, sep);
484 871e83a0 2005-07-13 devnull printf("x_root=%d y_root=%d%s", ev->x_root, ev->y_root, sep);
485 871e83a0 2005-07-13 devnull printf("state=%s%s", ButtonAndOrModifierState(ev->state), sep);
486 871e83a0 2005-07-13 devnull printf("button=%s%s", ButtonAndOrModifierState(ev->button), sep);
487 871e83a0 2005-07-13 devnull printf("same_screen=%s\n", TorF(ev->same_screen));
490 871e83a0 2005-07-13 devnull static void
491 871e83a0 2005-07-13 devnull VerbColormap(XColormapEvent *ev)
493 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
494 871e83a0 2005-07-13 devnull printf("colormap=%s%s", MaybeNone(ev->colormap), sep);
495 871e83a0 2005-07-13 devnull printf("new=%s%s", TorF(ev->new), sep);
496 871e83a0 2005-07-13 devnull printf("state=%s\n", ColormapState(ev->state));
499 871e83a0 2005-07-13 devnull static void
500 871e83a0 2005-07-13 devnull VerbCrossing(XCrossingEvent *ev)
502 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
503 871e83a0 2005-07-13 devnull printf("root=0x%x%s", (int)ev->root, sep);
504 871e83a0 2005-07-13 devnull printf("subwindow=0x%x%s", (int)ev->subwindow, sep);
505 871e83a0 2005-07-13 devnull printf("time=%s%s", ServerTime(ev->time), sep);
506 871e83a0 2005-07-13 devnull printf("x=%d y=%d%s", ev->x, ev->y, sep);
507 871e83a0 2005-07-13 devnull printf("x_root=%d y_root=%d%s", ev->x_root, ev->y_root, sep);
508 871e83a0 2005-07-13 devnull printf("mode=%s%s", GrabMode(ev->mode), sep);
509 871e83a0 2005-07-13 devnull printf("detail=%s%s", CrossingDetail(ev->detail), sep);
510 871e83a0 2005-07-13 devnull printf("same_screen=%s%s", TorF(ev->same_screen), sep);
511 871e83a0 2005-07-13 devnull printf("focus=%s%s", TorF(ev->focus), sep);
512 871e83a0 2005-07-13 devnull printf("state=%s\n", ButtonAndOrModifierState(ev->state));
515 871e83a0 2005-07-13 devnull static void
516 871e83a0 2005-07-13 devnull VerbExpose(XExposeEvent *ev)
518 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
519 871e83a0 2005-07-13 devnull printf("x=%d y=%d%s", ev->x, ev->y, sep);
520 871e83a0 2005-07-13 devnull printf("width=%d height=%d%s", ev->width, ev->height, sep);
521 871e83a0 2005-07-13 devnull printf("count=%d\n", ev->count);
524 871e83a0 2005-07-13 devnull static void
525 871e83a0 2005-07-13 devnull VerbGraphicsExpose(XGraphicsExposeEvent *ev)
527 871e83a0 2005-07-13 devnull printf("drawable=0x%x%s", (int)ev->drawable, sep);
528 871e83a0 2005-07-13 devnull printf("x=%d y=%d%s", ev->x, ev->y, sep);
529 871e83a0 2005-07-13 devnull printf("width=%d height=%d%s", ev->width, ev->height, sep);
530 871e83a0 2005-07-13 devnull printf("major_code=%s%s", MajorCode(ev->major_code), sep);
531 871e83a0 2005-07-13 devnull printf("minor_code=%d\n", ev->minor_code);
534 871e83a0 2005-07-13 devnull static void
535 871e83a0 2005-07-13 devnull VerbNoExpose(XNoExposeEvent *ev)
537 871e83a0 2005-07-13 devnull printf("drawable=0x%x%s", (int)ev->drawable, sep);
538 871e83a0 2005-07-13 devnull printf("major_code=%s%s", MajorCode(ev->major_code), sep);
539 871e83a0 2005-07-13 devnull printf("minor_code=%d\n", ev->minor_code);
542 871e83a0 2005-07-13 devnull static void
543 871e83a0 2005-07-13 devnull VerbFocus(XFocusChangeEvent *ev)
545 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
546 871e83a0 2005-07-13 devnull printf("mode=%s%s", GrabMode(ev->mode), sep);
547 871e83a0 2005-07-13 devnull printf("detail=%s\n", FocusChangeDetail(ev->detail));
550 871e83a0 2005-07-13 devnull static void
551 871e83a0 2005-07-13 devnull VerbKeymap(XKeymapEvent *ev)
555 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
556 871e83a0 2005-07-13 devnull printf("key_vector=");
557 871e83a0 2005-07-13 devnull for (i = 0; i < 32; i++)
558 871e83a0 2005-07-13 devnull printf("%02x", ev->key_vector[i]);
559 871e83a0 2005-07-13 devnull printf("\n");
562 871e83a0 2005-07-13 devnull static void
563 871e83a0 2005-07-13 devnull VerbKey(XKeyEvent *ev)
565 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
566 871e83a0 2005-07-13 devnull printf("root=0x%x%s", (int)ev->root, sep);
567 871e83a0 2005-07-13 devnull if(ev->subwindow)
568 871e83a0 2005-07-13 devnull printf("subwindow=0x%x%s", (int)ev->subwindow, sep);
569 871e83a0 2005-07-13 devnull printf("time=%s%s", ServerTime(ev->time), sep);
570 871e83a0 2005-07-13 devnull printf("[%d,%d]%s", ev->x, ev->y, sep);
571 871e83a0 2005-07-13 devnull printf("root=[%d,%d]%s", ev->x_root, ev->y_root, sep);
572 871e83a0 2005-07-13 devnull if(ev->state)
573 871e83a0 2005-07-13 devnull printf("state=%s%s", ButtonAndOrModifierState(ev->state), sep);
574 871e83a0 2005-07-13 devnull printf("keycode=%s%s", Keycode(ev), sep);
575 871e83a0 2005-07-13 devnull if(!ev->same_screen)
576 871e83a0 2005-07-13 devnull printf("!same_screen", TorF(ev->same_screen));
577 871e83a0 2005-07-13 devnull printf("\n");
580 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
581 871e83a0 2005-07-13 devnull printf("root=0x%x%s", (int)ev->root, sep);
582 871e83a0 2005-07-13 devnull printf("subwindow=0x%x%s", (int)ev->subwindow, sep);
583 871e83a0 2005-07-13 devnull printf("time=%s%s", ServerTime(ev->time), sep);
584 871e83a0 2005-07-13 devnull printf("x=%d y=%d%s", ev->x, ev->y, sep);
585 871e83a0 2005-07-13 devnull printf("x_root=%d y_root=%d%s", ev->x_root, ev->y_root, sep);
586 871e83a0 2005-07-13 devnull printf("state=%s%s", ButtonAndOrModifierState(ev->state), sep);
587 871e83a0 2005-07-13 devnull printf("keycode=%s%s", Keycode(ev), sep);
588 871e83a0 2005-07-13 devnull printf("same_screen=%s\n", TorF(ev->same_screen));
591 871e83a0 2005-07-13 devnull static void
592 871e83a0 2005-07-13 devnull VerbProperty(XPropertyEvent *ev)
594 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
595 871e83a0 2005-07-13 devnull printf("atom=%s%s", AtomName(ev->display, ev->atom), sep);
596 871e83a0 2005-07-13 devnull printf("time=%s%s", ServerTime(ev->time), sep);
597 871e83a0 2005-07-13 devnull printf("state=%s\n", PropertyState(ev->state));
600 871e83a0 2005-07-13 devnull static void
601 871e83a0 2005-07-13 devnull VerbResizeRequest(XResizeRequestEvent *ev)
603 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
604 871e83a0 2005-07-13 devnull printf("width=%d height=%d\n", ev->width, ev->height);
607 871e83a0 2005-07-13 devnull static void
608 871e83a0 2005-07-13 devnull VerbCirculate(XCirculateEvent *ev)
610 871e83a0 2005-07-13 devnull printf("event=0x%x%s", (int)ev->event, sep);
611 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
612 871e83a0 2005-07-13 devnull printf("place=%s\n", Place(ev->place));
615 871e83a0 2005-07-13 devnull static void
616 871e83a0 2005-07-13 devnull VerbConfigure(XConfigureEvent *ev)
618 871e83a0 2005-07-13 devnull printf("event=0x%x%s", (int)ev->event, sep);
619 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
620 871e83a0 2005-07-13 devnull printf("x=%d y=%d%s", ev->x, ev->y, sep);
621 871e83a0 2005-07-13 devnull printf("width=%d height=%d%s", ev->width, ev->height, sep);
622 871e83a0 2005-07-13 devnull printf("border_width=%d%s", ev->border_width, sep);
623 871e83a0 2005-07-13 devnull printf("above=%s%s", MaybeNone(ev->above), sep);
624 871e83a0 2005-07-13 devnull printf("override_redirect=%s\n", TorF(ev->override_redirect));
627 871e83a0 2005-07-13 devnull static void
628 871e83a0 2005-07-13 devnull VerbCreateWindow(XCreateWindowEvent *ev)
630 871e83a0 2005-07-13 devnull printf("parent=0x%x%s", (int)ev->parent, sep);
631 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
632 871e83a0 2005-07-13 devnull printf("x=%d y=%d%s", ev->x, ev->y, sep);
633 871e83a0 2005-07-13 devnull printf("width=%d height=%d%s", ev->width, ev->height, sep);
634 871e83a0 2005-07-13 devnull printf("border_width=%d%s", ev->border_width, sep);
635 871e83a0 2005-07-13 devnull printf("override_redirect=%s\n", TorF(ev->override_redirect));
638 871e83a0 2005-07-13 devnull static void
639 871e83a0 2005-07-13 devnull VerbDestroyWindow(XDestroyWindowEvent *ev)
641 871e83a0 2005-07-13 devnull printf("event=0x%x%s", (int)ev->event, sep);
642 871e83a0 2005-07-13 devnull printf("window=0x%x\n", (int)ev->window);
645 871e83a0 2005-07-13 devnull static void
646 871e83a0 2005-07-13 devnull VerbGravity(XGravityEvent *ev)
648 871e83a0 2005-07-13 devnull printf("event=0x%x%s", (int)ev->event, sep);
649 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
650 871e83a0 2005-07-13 devnull printf("x=%d y=%d\n", ev->x, ev->y);
653 871e83a0 2005-07-13 devnull static void
654 871e83a0 2005-07-13 devnull VerbMap(XMapEvent *ev)
656 871e83a0 2005-07-13 devnull printf("event=0x%x%s", (int)ev->event, sep);
657 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
658 871e83a0 2005-07-13 devnull printf("override_redirect=%s\n", TorF(ev->override_redirect));
661 871e83a0 2005-07-13 devnull static void
662 871e83a0 2005-07-13 devnull VerbReparent(XReparentEvent *ev)
664 871e83a0 2005-07-13 devnull printf("event=0x%x%s", (int)ev->event, sep);
665 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
666 871e83a0 2005-07-13 devnull printf("parent=0x%x%s", (int)ev->parent, sep);
667 871e83a0 2005-07-13 devnull printf("x=%d y=%d%s", ev->x, ev->y, sep);
668 871e83a0 2005-07-13 devnull printf("override_redirect=%s\n", TorF(ev->override_redirect));
671 871e83a0 2005-07-13 devnull static void
672 871e83a0 2005-07-13 devnull VerbUnmap(XUnmapEvent *ev)
674 871e83a0 2005-07-13 devnull printf("event=0x%x%s", (int)ev->event, sep);
675 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
676 871e83a0 2005-07-13 devnull printf("from_configure=%s\n", TorF(ev->from_configure));
679 871e83a0 2005-07-13 devnull static void
680 871e83a0 2005-07-13 devnull VerbCirculateRequest(XCirculateRequestEvent *ev)
682 871e83a0 2005-07-13 devnull printf("parent=0x%x%s", (int)ev->parent, sep);
683 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
684 871e83a0 2005-07-13 devnull printf("place=%s\n", Place(ev->place));
687 871e83a0 2005-07-13 devnull static void
688 871e83a0 2005-07-13 devnull VerbConfigureRequest(XConfigureRequestEvent *ev)
690 871e83a0 2005-07-13 devnull printf("parent=0x%x%s", (int)ev->parent, sep);
691 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
692 871e83a0 2005-07-13 devnull printf("x=%d y=%d%s", ev->x, ev->y, sep);
693 871e83a0 2005-07-13 devnull printf("width=%d height=%d%s", ev->width, ev->height, sep);
694 871e83a0 2005-07-13 devnull printf("border_width=%d%s", ev->border_width, sep);
695 871e83a0 2005-07-13 devnull printf("above=%s%s", MaybeNone(ev->above), sep);
696 871e83a0 2005-07-13 devnull printf("detail=%s%s", ConfigureDetail(ev->detail), sep);
697 871e83a0 2005-07-13 devnull printf("value_mask=%s\n", ConfigureValueMask(ev->value_mask));
700 871e83a0 2005-07-13 devnull static void
701 871e83a0 2005-07-13 devnull VerbMapRequest(XMapRequestEvent *ev)
703 871e83a0 2005-07-13 devnull printf("parent=0x%x%s", (int)ev->parent, sep);
704 871e83a0 2005-07-13 devnull printf("window=0x%x\n", (int)ev->window);
707 871e83a0 2005-07-13 devnull static void
708 871e83a0 2005-07-13 devnull VerbClient(XClientMessageEvent *ev)
712 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
713 871e83a0 2005-07-13 devnull printf("message_type=%s%s", AtomName(ev->display, ev->message_type), sep);
714 871e83a0 2005-07-13 devnull printf("format=%d\n", ev->format);
715 871e83a0 2005-07-13 devnull printf("data (shown as longs)=");
716 871e83a0 2005-07-13 devnull for (i = 0; i < 5; i++)
717 871e83a0 2005-07-13 devnull printf(" 0x%08lx", ev->data.l[i]);
718 871e83a0 2005-07-13 devnull printf("\n");
721 871e83a0 2005-07-13 devnull static void
722 871e83a0 2005-07-13 devnull VerbMapping(XMappingEvent *ev)
724 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
725 871e83a0 2005-07-13 devnull printf("request=%s%s", MappingRequest(ev->request), sep);
726 871e83a0 2005-07-13 devnull printf("first_keycode=0x%x%s", ev->first_keycode, sep);
727 871e83a0 2005-07-13 devnull printf("count=0x%x\n", ev->count);
730 871e83a0 2005-07-13 devnull static void
731 871e83a0 2005-07-13 devnull VerbSelectionClear(XSelectionClearEvent *ev)
733 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
734 871e83a0 2005-07-13 devnull printf("selection=%s%s", AtomName(ev->display, ev->selection), sep);
735 871e83a0 2005-07-13 devnull printf("time=%s\n", ServerTime(ev->time));
738 871e83a0 2005-07-13 devnull static void
739 871e83a0 2005-07-13 devnull VerbSelection(XSelectionEvent *ev)
741 871e83a0 2005-07-13 devnull printf("requestor=0x%x%s", (int)ev->requestor, sep);
742 871e83a0 2005-07-13 devnull printf("selection=%s%s", AtomName(ev->display, ev->selection), sep);
743 871e83a0 2005-07-13 devnull printf("target=%s%s", AtomName(ev->display, ev->target), sep);
744 871e83a0 2005-07-13 devnull printf("property=%s%s", AtomName(ev->display, ev->property), sep);
745 871e83a0 2005-07-13 devnull printf("time=%s\n", ServerTime(ev->time));
748 871e83a0 2005-07-13 devnull static void
749 871e83a0 2005-07-13 devnull VerbSelectionRequest(XSelectionRequestEvent *ev)
751 871e83a0 2005-07-13 devnull printf("owner=0x%x%s", (int)ev->owner, sep);
752 871e83a0 2005-07-13 devnull printf("requestor=0x%x%s", (int)ev->requestor, sep);
753 871e83a0 2005-07-13 devnull printf("selection=%s%s", AtomName(ev->display, ev->selection), sep);
754 871e83a0 2005-07-13 devnull printf("target=%s%s", AtomName(ev->display, ev->target), sep);
755 871e83a0 2005-07-13 devnull printf("property=%s%s", AtomName(ev->display, ev->property), sep);
756 871e83a0 2005-07-13 devnull printf("time=%s\n", ServerTime(ev->time));
759 871e83a0 2005-07-13 devnull static void
760 871e83a0 2005-07-13 devnull VerbVisibility(XVisibilityEvent *ev)
762 871e83a0 2005-07-13 devnull printf("window=0x%x%s", (int)ev->window, sep);
763 871e83a0 2005-07-13 devnull printf("state=%s\n", VisibilityState(ev->state));
766 871e83a0 2005-07-13 devnull /******************************************************************************/
767 871e83a0 2005-07-13 devnull /************ Return the string representation for type of an event ***********/
768 871e83a0 2005-07-13 devnull /******************************************************************************/
770 871e83a0 2005-07-13 devnull char *eventtype(XEvent *ev)
772 871e83a0 2005-07-13 devnull static char buffer[20];
774 871e83a0 2005-07-13 devnull switch (ev->type) {
775 871e83a0 2005-07-13 devnull case KeyPress:
776 871e83a0 2005-07-13 devnull return ("KeyPress");
777 871e83a0 2005-07-13 devnull case KeyRelease:
778 871e83a0 2005-07-13 devnull return ("KeyRelease");
779 871e83a0 2005-07-13 devnull case ButtonPress:
780 871e83a0 2005-07-13 devnull return ("ButtonPress");
781 871e83a0 2005-07-13 devnull case ButtonRelease:
782 871e83a0 2005-07-13 devnull return ("ButtonRelease");
783 871e83a0 2005-07-13 devnull case MotionNotify:
784 871e83a0 2005-07-13 devnull return ("MotionNotify");
785 871e83a0 2005-07-13 devnull case EnterNotify:
786 871e83a0 2005-07-13 devnull return ("EnterNotify");
787 871e83a0 2005-07-13 devnull case LeaveNotify:
788 871e83a0 2005-07-13 devnull return ("LeaveNotify");
789 871e83a0 2005-07-13 devnull case FocusIn:
790 871e83a0 2005-07-13 devnull return ("FocusIn");
791 871e83a0 2005-07-13 devnull case FocusOut:
792 871e83a0 2005-07-13 devnull return ("FocusOut");
793 871e83a0 2005-07-13 devnull case KeymapNotify:
794 871e83a0 2005-07-13 devnull return ("KeymapNotify");
795 871e83a0 2005-07-13 devnull case Expose:
796 871e83a0 2005-07-13 devnull return ("Expose");
797 871e83a0 2005-07-13 devnull case GraphicsExpose:
798 871e83a0 2005-07-13 devnull return ("GraphicsExpose");
799 871e83a0 2005-07-13 devnull case NoExpose:
800 871e83a0 2005-07-13 devnull return ("NoExpose");
801 871e83a0 2005-07-13 devnull case VisibilityNotify:
802 871e83a0 2005-07-13 devnull return ("VisibilityNotify");
803 871e83a0 2005-07-13 devnull case CreateNotify:
804 871e83a0 2005-07-13 devnull return ("CreateNotify");
805 871e83a0 2005-07-13 devnull case DestroyNotify:
806 871e83a0 2005-07-13 devnull return ("DestroyNotify");
807 871e83a0 2005-07-13 devnull case UnmapNotify:
808 871e83a0 2005-07-13 devnull return ("UnmapNotify");
809 871e83a0 2005-07-13 devnull case MapNotify:
810 871e83a0 2005-07-13 devnull return ("MapNotify");
811 871e83a0 2005-07-13 devnull case MapRequest:
812 871e83a0 2005-07-13 devnull return ("MapRequest");
813 871e83a0 2005-07-13 devnull case ReparentNotify:
814 871e83a0 2005-07-13 devnull return ("ReparentNotify");
815 871e83a0 2005-07-13 devnull case ConfigureNotify:
816 871e83a0 2005-07-13 devnull return ("ConfigureNotify");
817 871e83a0 2005-07-13 devnull case ConfigureRequest:
818 871e83a0 2005-07-13 devnull return ("ConfigureRequest");
819 871e83a0 2005-07-13 devnull case GravityNotify:
820 871e83a0 2005-07-13 devnull return ("GravityNotify");
821 871e83a0 2005-07-13 devnull case ResizeRequest:
822 871e83a0 2005-07-13 devnull return ("ResizeRequest");
823 871e83a0 2005-07-13 devnull case CirculateNotify:
824 871e83a0 2005-07-13 devnull return ("CirculateNotify");
825 871e83a0 2005-07-13 devnull case CirculateRequest:
826 871e83a0 2005-07-13 devnull return ("CirculateRequest");
827 871e83a0 2005-07-13 devnull case PropertyNotify:
828 871e83a0 2005-07-13 devnull return ("PropertyNotify");
829 871e83a0 2005-07-13 devnull case SelectionClear:
830 871e83a0 2005-07-13 devnull return ("SelectionClear");
831 871e83a0 2005-07-13 devnull case SelectionRequest:
832 871e83a0 2005-07-13 devnull return ("SelectionRequest");
833 871e83a0 2005-07-13 devnull case SelectionNotify:
834 871e83a0 2005-07-13 devnull return ("SelectionNotify");
835 871e83a0 2005-07-13 devnull case ColormapNotify:
836 871e83a0 2005-07-13 devnull return ("ColormapNotify");
837 871e83a0 2005-07-13 devnull case ClientMessage:
838 871e83a0 2005-07-13 devnull return ("ClientMessage");
839 871e83a0 2005-07-13 devnull case MappingNotify:
840 871e83a0 2005-07-13 devnull return ("MappingNotify");
842 871e83a0 2005-07-13 devnull sprintf(buffer, "%d", ev->type);
843 871e83a0 2005-07-13 devnull return buffer;
846 871e83a0 2005-07-13 devnull /******************************************************************************/
847 871e83a0 2005-07-13 devnull /**************** Print the values of all fields for any event ****************/
848 871e83a0 2005-07-13 devnull /******************************************************************************/
850 871e83a0 2005-07-13 devnull void printevent(XEvent *e)
852 871e83a0 2005-07-13 devnull XAnyEvent *ev = (void*)e;
854 871e83a0 2005-07-13 devnull printf("%3ld %-20s ", ev->serial, eventtype(e));
855 871e83a0 2005-07-13 devnull if(ev->send_event)
856 871e83a0 2005-07-13 devnull printf("(sendevent) ");
858 871e83a0 2005-07-13 devnull printf("type=%s%s", eventtype(e), sep);
859 871e83a0 2005-07-13 devnull printf("serial=%lu%s", ev->serial, sep);
860 871e83a0 2005-07-13 devnull printf("send_event=%s%s", TorF(ev->send_event), sep);
861 871e83a0 2005-07-13 devnull printf("display=0x%p%s", ev->display, sep);
864 871e83a0 2005-07-13 devnull switch (ev->type) {
865 871e83a0 2005-07-13 devnull case MotionNotify:
866 871e83a0 2005-07-13 devnull VerbMotion((void*)ev);
869 871e83a0 2005-07-13 devnull case ButtonPress:
870 871e83a0 2005-07-13 devnull case ButtonRelease:
871 871e83a0 2005-07-13 devnull VerbButton((void*)ev);
874 871e83a0 2005-07-13 devnull case ColormapNotify:
875 871e83a0 2005-07-13 devnull VerbColormap((void*)ev);
878 871e83a0 2005-07-13 devnull case EnterNotify:
879 871e83a0 2005-07-13 devnull case LeaveNotify:
880 871e83a0 2005-07-13 devnull VerbCrossing((void*)ev);
883 871e83a0 2005-07-13 devnull case Expose:
884 871e83a0 2005-07-13 devnull VerbExpose((void*)ev);
887 871e83a0 2005-07-13 devnull case GraphicsExpose:
888 871e83a0 2005-07-13 devnull VerbGraphicsExpose((void*)ev);
891 871e83a0 2005-07-13 devnull case NoExpose:
892 871e83a0 2005-07-13 devnull VerbNoExpose((void*)ev);
895 871e83a0 2005-07-13 devnull case FocusIn:
896 871e83a0 2005-07-13 devnull case FocusOut:
897 871e83a0 2005-07-13 devnull VerbFocus((void*)ev);
900 871e83a0 2005-07-13 devnull case KeymapNotify:
901 871e83a0 2005-07-13 devnull VerbKeymap((void*)ev);
904 871e83a0 2005-07-13 devnull case KeyPress:
905 871e83a0 2005-07-13 devnull case KeyRelease:
906 871e83a0 2005-07-13 devnull VerbKey((void*)ev);
909 871e83a0 2005-07-13 devnull case PropertyNotify:
910 871e83a0 2005-07-13 devnull VerbProperty((void*)ev);
913 871e83a0 2005-07-13 devnull case ResizeRequest:
914 871e83a0 2005-07-13 devnull VerbResizeRequest((void*)ev);
917 871e83a0 2005-07-13 devnull case CirculateNotify:
918 871e83a0 2005-07-13 devnull VerbCirculate((void*)ev);
921 871e83a0 2005-07-13 devnull case ConfigureNotify:
922 871e83a0 2005-07-13 devnull VerbConfigure((void*)ev);
925 871e83a0 2005-07-13 devnull case CreateNotify:
926 871e83a0 2005-07-13 devnull VerbCreateWindow((void*)ev);
929 871e83a0 2005-07-13 devnull case DestroyNotify:
930 871e83a0 2005-07-13 devnull VerbDestroyWindow((void*)ev);
933 871e83a0 2005-07-13 devnull case GravityNotify:
934 871e83a0 2005-07-13 devnull VerbGravity((void*)ev);
937 871e83a0 2005-07-13 devnull case MapNotify:
938 871e83a0 2005-07-13 devnull VerbMap((void*)ev);
941 871e83a0 2005-07-13 devnull case ReparentNotify:
942 871e83a0 2005-07-13 devnull VerbReparent((void*)ev);
945 871e83a0 2005-07-13 devnull case UnmapNotify:
946 871e83a0 2005-07-13 devnull VerbUnmap((void*)ev);
949 871e83a0 2005-07-13 devnull case CirculateRequest:
950 871e83a0 2005-07-13 devnull VerbCirculateRequest((void*)ev);
953 871e83a0 2005-07-13 devnull case ConfigureRequest:
954 871e83a0 2005-07-13 devnull VerbConfigureRequest((void*)ev);
957 871e83a0 2005-07-13 devnull case MapRequest:
958 871e83a0 2005-07-13 devnull VerbMapRequest((void*)ev);
961 871e83a0 2005-07-13 devnull case ClientMessage:
962 871e83a0 2005-07-13 devnull VerbClient((void*)ev);
965 871e83a0 2005-07-13 devnull case MappingNotify:
966 871e83a0 2005-07-13 devnull VerbMapping((void*)ev);
969 871e83a0 2005-07-13 devnull case SelectionClear:
970 871e83a0 2005-07-13 devnull VerbSelectionClear((void*)ev);
973 871e83a0 2005-07-13 devnull case SelectionNotify:
974 871e83a0 2005-07-13 devnull VerbSelection((void*)ev);
977 871e83a0 2005-07-13 devnull case SelectionRequest:
978 871e83a0 2005-07-13 devnull VerbSelectionRequest((void*)ev);
981 871e83a0 2005-07-13 devnull case VisibilityNotify:
982 871e83a0 2005-07-13 devnull VerbVisibility((void*)ev);