chiark / gitweb /
New option: movres.ignore_transience.
[e16] / config / definitions
1 /*******************************************************************/
2 /* This is Enlightenment's definition macro file                   */
3 /* This file determines keyword values and conveience macros for E */
4 /* This file is sourced for every file E has to parse              */
5 /*******************************************************************/
6 #ifndef __E16_DEFINITIONS__
7 #define __E16_DEFINITIONS__
8
9 /* section begin/end stuff */
10 #define __BGN 999
11 #define __END 1000
12
13 #define __E_CFG_VERSION 1001
14
15 /* booleans */
16 #define __OFF 0
17 #define __ON 1
18 #define __NO 0
19 #define __YES 1
20
21 /* focus mode options */
22 #define __POINTER 0
23 #define __SLOPPY 1
24 #define __CLICK_TO_FOCUS 2
25
26 /* move and resize mode */
27 #define __OPAQUE 0
28 #define __LINES 1
29 #define __BOX 2
30 #define __SHADE 3
31 #define __BOXSHADE 4
32 /* for move mode only */
33 #define __TRANSLUCENT 5
34 /* move and resize geometry display modes */
35 #define __NO_GEOMINFO     0
36 #define __CENTER_GEOMINFO 1
37 #define __CORNER_GEOMINFO 2
38
39
40 /* positioning and direction */
41 #define __LEFT 0
42 #define __RIGHT 1
43 #define __TOP 2
44 #define __BOTTOM 3
45 #define __UP 2
46 #define __DOWN 3
47
48 /* attributes */
49 #define __FLAG_TITLE            1
50 #define __FLAG_MINI_ICON        2
51 #define __FLAG_FIXED_HORIZONTAL 4
52 #define __FLAG_FIXED_VERTICAL   8
53 #define __FLAG_FIXED            12
54
55 /* fill rules for imageclasses */
56 #define __STRETCH              0
57 #define __TILE_H               1
58 #define __TILE_V               2
59 #define __TILE                 3
60 #define __INTEGER_TILE_H       4
61 #define __INTEGER_TILE_V       8
62 #define __INTEGER_TILE         12
63
64 /* major sections in the config */
65 #define __CONTROL 0
66 #define __TCLASS 1
67 #define __MENU 2
68 #define __BORDER 3
69 #define __BUTTON 4
70 #define __DESKTOP 5
71 #define __SOUND 9
72 #define __ACLASS 11
73 #define __ICLASS 12
74 #define __MATCH_WINDOW 14
75 #define __COLOR_MODIFIER 15
76 #define __SLIDEOUT 16
77 #define __FX 18
78 #define __ICONBOX 19
79 #define __EXTRAS 20
80 #define __FONTS 21
81
82 #define __MENU_STYLE 699
83 #define __BORDER_PART 505
84
85 #define __TOOLTIP_TEXT 17
86 #define __TOOLTIP 17
87
88 #define __NAME 100
89
90 #define __FONT 203
91 #define __ORIENTATION 200
92 #define __JUSTIFICATION 201
93 #define __DRAWING_EFFECT 204
94 #define __FORGROUND_COLOR 205
95 #define __BACKGROUND_COLOR 206
96 #define __FONT_TO_RIGHT 0
97 #define __FONT_TO_DOWN  1
98 #define __FONT_TO_UP    2
99 #define __FONT_TO_LEFT  3
100
101 #define __EFFECT_NORMAL 0
102 #define __EFFECT_SHADOW 1
103 #define __EFFECT_OUTLINE 2
104
105 #define __FOCUS_MODE 307
106 #define __MOVE_MODE 311
107 #define __RESIZE_MODE 312
108 #define __GEOMINFO_MODE 1371
109 #define __SLIDE_MODE 313
110 #define __SLIDE_ON_CLEANUP 314
111 #define __SLIDE_ON_MAP 315
112 #define __SPEED_OF_MAPPING_SLIDING 316
113 #define __SPEED_OF_CLEANUP_SLIDING 317
114 #define __TIMEOUT_FOR_DESKTOP_BACKGROUNDS 320
115 #define __RESISTANCE_TO_MOVE_A_BUTTON 321
116 #define __AUTOMATICALLY_SAVE_CONFIG 324
117 #define __DOCK_DIRECTION 325
118 #define __SHADING_SPEED 326
119 #define __TOOLTIPS 327
120 #define __TOOLTIP_TIMEOUT 328
121 #define __START_POSITION_OF_DOCK 330
122 #define __USE_SAVEUNDERS 331
123 #define __MENUS_SLIDE_OUT 332
124 #define __NUMBER_OF_DESKTOPS 333
125 #define __BE_PARANOID_ABOUT_SAVING_MEMORY 334
126 #define __TRANSIENTS_FOLLOW_GROUP_LEADER 335
127 #define __SWITCH_TO_DESKTOP_WHERE_TRANSIENT_MAPS 336
128 #define __SHOW_ICONIFIED_ICONS 337
129 #define __AUTORAISE 338
130 #define __AUTORAISE_TIMEOUT 339
131 #define __ALL_NEW_WINDOWS_GET_FOCUS 340
132 #define __NEW_TRANSIENTS_GET_FOCUS 341
133 #define __NEW_TRANSIENTS_GET_FOCUS_IF_GROUP_IS_FOCUSED 342
134 #define __MANUAL_WINDOW_PLACEMENT 343
135 #define __WARP_POINTER_ON_NEXT_FOCUS 345
136 #define __EDGE_FLIP_RESISTANCE 346
137 #define __SHOW_PAGERS 347
138 #define __PAGER_DISPLAY_HIQ 348
139 #define __PAGER_DISPLAY_SNAPSHOTS 349
140 #define __ANIMATE_WINDOW_SHADING 350
141 #define __MENUS_ONSCREEN 351
142 #define __PREFER_USER_BACKGROUNDS 1350
143 #define __ZOOM_PAGER_WINDOWS 1351
144 #define __SHOW_PAGER_WINDOW_TITLE 1352
145 #define __RAISE_WINDOW_ON_NEXT_FOCUS 1353
146 #define __DISPLAY_WARP 1354
147 #define __WARP_POINTER_AFTER_FOCUS 1355
148 #define __PAGER_SCANSPEED 1356
149 #define __GROUP_BORDER 1358
150 #define __GROUP_KILL 1359
151 #define __GROUP_MOVE 1360
152 #define __GROUP_RAISE 1361
153 #define __GROUP_ICONIFY 1362
154 #define __GROUP_STICK 1363
155 #define __GROUP_SHADE 1364
156 #define __GROUP_MIRROR 1365
157 #define __KDE_SUPPORT 1366
158 #define __CLICKS_ALWAYS_RAISE_WINDOWS 1367
159 #define __ROOT_WINDOW_TOOLTIP 1368
160 #define __PAGER_BUTTONS 1369
161
162 #define __DIRECTION_OF_DESKTOP_DRAG 400
163 #define __WIDTH_OF_DRAGBAR 401
164 #define __ORDER_OF_BUTTONS_ON_DRAGBAR 402
165 #define __LENGTH_OF_DRAGBAR 403
166 #define __DESKTOPS_SLIDE_IN 404
167 #define __SPEED_OF_DESKTOP_SLIDE 405
168 #define __HIGH_QUALITY_BACKGROUNDS 406
169 #define __DESKTOP_AREA_SIZE 407
170
171 #define __NORMAL 5
172 #define __CLICKED 352
173 #define __HILITED 353
174 #define __NORMAL_ACTIVE 354
175 #define __CLICKED_ACTIVE 355
176 #define __HILITED_ACTIVE 356
177 #define __EDGE_SCALING 357
178 #define __PADDING 358
179 #define __NORMAL_STICKY 359
180 #define __CLICKED_STICKY 360
181 #define __HILITED_STICKY 361
182 #define __NORMAL_ACTIVE_STICKY 362
183 #define __NORMAL_ACTIVE_CLICKED 363
184 #define __NORMAL_ACTIVE_HILITED 364
185 #define __CLICKED_ACTIVE_STICKY 363
186 #define __HILITED_ACTIVE_STICKY 364
187 #define __MODIFIER 370
188 #define __FILLRULE 371
189 #define __TRANSPARENT 372
190
191 #define __ROTATE 373
192 #define __ROTATE_90 1
193 #define __ROTATE_180 2
194 #define __ROTATE_270 3
195 #define __FLIP 373
196 #define __FLIP_HORIZONTAL 4
197 #define __FLIP_90 5
198 #define __FLIP_VERTICAL 6
199 #define __FLIP_270 7
200
201 #define __BEVEL 374
202 #define __BEVEL_AMIGA 1
203 #define __BEVEL_MOTIF 2
204 #define __BEVEL_NEXT 3
205 #define __BEVEL_DOUBLE 4
206 #define __BEVEL_WIDEDOUBLE 5
207 #define __BEVEL_THINPOINT 6
208 #define __BEVEL_THICKPOINT 7
209
210 #define __KEEP_ON_TOP 453
211 #define __FLAGS 454
212 #define __IS_A_REGION 455
213 #define __MIN_WIDTH 456
214 #define __MAX_WIDTH 457
215 #define __TOPLEFT_ORIGIN 467
216 #define __TOPLEFT_X_PERCENTAGE 458
217 #define __TOPLEFT_X_ABSOLUTE 459
218 #define __TOPLEFT_Y_PERCENTAGE 460
219 #define __TOPLEFT_Y_ABSOLUTE 461
220 #define __BOTTOMRIGHT_ORIGIN 462
221 #define __BOTTOMRIGHT_X_PERCENTAGE 463
222 #define __BOTTOMRIGHT_X_ABSOLUTE 464
223 #define __BOTTOMRIGHT_Y_PERCENTAGE 465
224 #define __BOTTOMRIGHT_Y_ABSOLUTE 466
225 #define __MIN_HEIGHT 468
226 #define __MAX_HEIGHT 469
227 #define __KEEP_WHEN_SHADED 470
228 #define __BORDER_SIZE_LEFT 501
229 #define __BORDER_SIZE_RIGHT 502
230 #define __BORDER_SIZE_TOP 503
231 #define __BORDER_SIZE_BOTTOM 504
232 #define __SHADE_DIRECTION 506
233 #define __CHANGES_SHAPE 507
234 #define __BORDER_GROUP_NAME 508
235
236 #define __X_ORIGIN 528
237 #define __Y_ORIGIN 529
238 #define __X_ABSOLUTE 530
239 #define __X_PERCENTAGE 531
240 #define __Y_ABSOLUTE 532
241 #define __Y_PERCENTAGE 533
242 #define __X_SIZE_PERCENTAGE 534
243 #define __Y_SIZE_PERCENTAGE 535
244 #define __X_SIZE_ABSOLUTE 536
245 #define __Y_SIZE_ABSOLUTE 537
246 #define __USE_SIZE_OF_IMAGE 538
247 #define __PUT_ON_DESKTOP 539
248 #define __MAKE_STICKY 540
249 #define __IS_INTERNAL 541
250 #define __SHOW_BY_DEFAULT 542
251 #define __LABEL 543
252
253 #define __SOLID_COLOR 560
254 #define __BACKGROUND_LAYER 561
255 #define __FORGROUND_LAYER 562
256 #define __USE_ON_DESKTOP 564
257 #define __DESKTOP_ALL -1
258
259 #define __TYPE_NORMAL 5
260 #define __TYPE_GLOBAL 7
261
262 /* possible actions that can be performed */
263 #define __A_EXEC        exec
264 #define __A_CMD
265
266 #define __A_NONE        nop
267 #define __A_EXIT        exit
268 #define __A_ALERT       alert
269 #define __A_SHOW_MENU   menus show
270 #define __A_HIDE_MENU   menus hide
271 #define __A_CLEANUP     misc arrange
272 #define __A_ABOUT       about
273
274 #define __A_MOVE        wop * mo ptr
275 #define __A_RESIZE      wop * sz ptr
276 #define __A_RAISE       wop * ra
277 #define __A_LOWER       wop * lo
278 #define __A_RESIZE_H    wop * sz ptr-h
279 #define __A_RESIZE_V    wop * sz ptr-v
280 #define __A_KILL        wop * close
281 #define __A_KILL_NASTY  wop * kill
282 #define __A_STICK       wop * st
283 #define __A_ICONIFY     wop * ic
284 #define __A_SHADE       wop * sh
285 #define __A_MAX_HEIGHT  wop * th
286 #define __A_MAX_WIDTH   wop * tw
287 #define __A_MAX_SIZE    wop * ts
288 #define __A_SET_LAYER   wop * la
289 #define __A_SNAPSHOT    remember * all
290 #define __A_ZOOM        wop * zoom
291 #define __A_FULLSCREEN  wop * fs
292 #define __A_RAISE_LOWER wop * raiselower
293 #define __A_SET_BORDER  wop * bo
294 #define __A_MOVE_CONSTRAINED    79
295
296 #define __A_ICONIFY_NG  wop % ic
297 #define __A_KILL_NG     wop % close
298 #define __A_MOVE_NG     wop % mo ptr
299 #define __A_RAISE_NG    wop % ra
300 #define __A_LOWER_NG    wop % lo
301 #define __A_STICK_NG    wop % st
302 #define __A_SHADE_NG    wop % sh
303 #define __A_RAISE_LOWER_NG      wop % raiselower
304 #define __A_SET_BORDER_NG       wop % bo
305
306 #define __A_SKIPFOCUS   wop * skipfocus
307 #define __A_SKIPTASK    wop * skiptask
308 #define __A_SKIPWINLIST wop * skipwinlist
309 #define __A_NEVERFOCUS  wop * no_wm_focus
310 #define __A_SKIPLISTS   wop * skiplists
311 #define __A_SWAPMOVE    wop * swapmove
312
313 #define __A_SEND_TO_NEXT_DESK   wop * desk next
314 #define __A_SEND_TO_PREV_DESK   wop * desk prev
315 #define __A_MOVE_WIN_TO_AREA    wop * area
316 #define __A_MOVE_WIN_BY_AREA    wop * arel
317 #define __A_MOVE_WIN_TO_LINEAR_AREA     74
318 #define __A_MOVE_WIN_BY_LINEAR_AREA     75
319
320 #define __A_DESKTOP_NEXT        desk next
321 #define __A_DESKTOP_PREV        desk prev
322 #define __A_DESKTOP_RAISE       desk raise
323 #define __A_DESKTOP_LOWER       desk lower
324 #define __A_DESKTOP_DRAG        desk drag
325 #define __A_DESKTOP_INPLACE     desk this
326 #define __A_GOTO_DESK           desk goto
327
328 #define __A_AREA_SET            area set
329 #define __A_AREA_MOVE_BY        area move
330
331 #define __A_DRAG_BUTTON         button mo ptr
332
333 #define __A_FOCUSMODE_SET       23
334 #define __A_MOVEMODE_SET        24
335 #define __A_RESIZEMODE_SET      25
336 #define __A_SLIDEMODE_SET       26
337 #define __A_CLEANUPSLIDE_SET    27
338 #define __A_MAPSLIDE_SET        28
339 #define __A_SOUND_SET           29
340 #define __A_BUTTONMOVE_RESIST_SET       30
341 #define __A_DESKTOPBG_TIMEOUT_SET       31
342 #define __A_MAPSLIDE_SPEED_SET  32
343 #define __A_CLEANUPSLIDE_SPEED_SET      33
344 #define __A_DRAGDIR_SET         34
345 #define __A_DRAGBAR_ORDER_SET   35
346 #define __A_DRAGBAR_WIDTH_SET   36
347 #define __A_DRAGBAR_LENGTH_SET  37
348 #define __A_DESKSLIDE_SET       38
349 #define __A_DESKSLIDE_SPEED_SET 39
350 #define __A_HIQUALITYBG_SET     40
351
352 #define __A_PLAYSOUNDCLASS      41
353 #define __A_DESKRAY             43
354 #define __A_AUTOSAVE_SET        44
355 #define __A_HIDESHOW_BUTTON     button_show
356 #define __A_SLIDEOUT            slideout
357 #define __A_SCROLL_WINDOWS      48
358 #define __A_TOOLTIP_SET 57
359 #define __A_FOCUS_NEXT          focus next
360 #define __A_FOCUS_PREV          focus prev
361 #define __A_FOCUS_SET   60
362 #define __A_BACKGROUND_SET      bg use
363
364 #define __A_WARP_POINTER        66
365 #define __A_AREA_LINEAR_SET     70
366 #define __A_AREA_LINEAR_MOVE_BY 71
367 #define __A_FX  73
368 #define __A_SET_PAGER_HIQ       76
369 #define __A_SET_PAGER_SNAP      77
370 #define __A_TYPE_TEXT           80
371
372 #define __A_START_GROUP         gop * start
373 #define __A_ADD_TO_GROUP        gop * add
374 #define __A_REMOVE_FROM_GROUP   gop * del
375 #define __A_BREAK_GROUP         gop * break
376 #define __A_SHOWHIDE_GROUP      gop * showhide
377
378 #define __A_CREATE_ICONBOX      ibox new
379
380 #define __MODIFIER_KEY 101
381 #define __TYPE 102
382 #define __ALLOW_ANY_MODIFIER_KEYS 103
383 #define __ACTION 104
384 #define __KEY 427
385 #define __EVENT 428
386 #define __ALLOW_ANY_BUTTON 930
387 #define __ALLOW_ANY_KEY 931
388 #define __NEXT_ACTION 105
389 #define __TOOLTIP_ACTION_TEXT 107
390
391 #define __NONE 0
392 #define __SHIFT 900
393 #define __LOCK 901
394 #define __CTRL 902
395 #define __ALT 903
396 #define __META2 904
397 #define __META3 905
398 #define __WINDOWS_KEY 906
399 #define __META5 907
400 #define __CTRL_ALT 910
401 #define __CTRL_SHIFT 911
402 #define __ALT_SHIFT 912
403 #define __CTRL_ALT_SHIFT 913
404 #define __CTRL_META4 914
405 #define __SHIFT_META4 915
406 #define __CTRL_META4_SHIFT 916
407 #define __CTRL_META5 917
408 #define __SHIFT_META5 918
409 #define __CTRL_META5_SHIFT 919
410 #define __WINDOWS_SHIFT 920
411 #define __WINDOWS_CTRL 921
412 #define __WINDOWS_ALT 922
413
414
415 #define __MOUSE_PRESS 0
416 #define __MOUSE_RELEASE 1
417 #define __MOUSE_ENTER 2
418 #define __MOUSE_LEAVE 3
419 #define __KEY_PRESS 4
420 #define __KEY_RELEASE 5
421 #define __DOUBLE_CLICK 6
422 #define __FOCUS_IN 7
423 #define __FOCUS_OUT 8
424
425 #define __USE_BORDER 480
426 #define __HAS_NAME 481
427 #define __HAS_CLASS 482
428 #define __HAS_TITLE 483
429 #define __IS_IN_WIDTH_RANGE 484
430 #define __IS_IN_HEIGHT_RANGE 485
431 #define __IS_TRANSIENT 486
432 #define __CANNOT_RESIZE_HORIZONTALLY 487
433 #define __CANNOT_RESIZE_VERTICALLY 488
434 #define __IS_SHAPED 489
435 #define __USE_ICON 490
436 #define __MAKE_WINDOW_STICKY 492
437
438 #define __RED 600
439 #define __GREEN 601
440 #define __BLUE 602
441
442 #define __SLIDE_DIRECTION 620
443
444 #define __TOOLTIP_ICON 640
445 #define __BUBBLE1_ICLASS 641
446 #define __BUBBLE2_ICLASS 642
447 #define __BUBBLE3_ICLASS 643
448 #define __BUBBLE4_ICLASS 644
449 #define __DISTANCE 645
450 #define __TOOLTIP_HELP_ICON 646
451
452 #define __BG_ICLASS 700
453 #define __ITEM_ICLASS 701
454 #define __SUBMENU_ICLASS 702
455 #define __USE_ITEM_BACKGROUNDS 703
456 #define __MAXIMUM_NUMBER_OF_COLUMNS 704
457 #define __MAXIMUM_NUMBER_OF_ROWS 705
458 #define __STYLE 706
459 #define __MENU_ITEM 707
460 #define __SUMENU 708
461 #define __MENU_ACTION 709
462 #define __MENU_PREBUILT 710
463 #define __MENU_TITLE 711
464
465 #define __CURSOR 800
466 #define __BG_COLOR 801
467 #define __FG_COLOR 802
468 #define __XBM_FILE 803
469 #define __NATIVE_ID 804
470
471 #define __TRANSPARENCY 2001
472 #define __SHOW_NAMES 2002
473 #define __ICON_SIZE 2003
474 #define __ICON_MODE 2004
475 #define __SCROLLBAR_SIDE 2005
476 #define __SCROLLBAR_ARROWS 2006
477 #define __AUTOMATIC_RESIZE 2007
478 #define __SHOW_ICON_BASE 2008
479 #define __SCROLLBAR_AUTOHIDE 2009
480 #define __COVER_HIDE 2010
481 #define __RESIZE_ANCHOR 2011
482 #define __ICONBOX_ANIMATE 2012
483 #define __EXTRA_HEAD 2013
484
485 #define __HORIZONTAL 0
486 #define __VERTICAL 1
487 #define __BAR_TOP 0
488 #define __BAR_LEFT 0
489 #define __BAR_BOTTOM 1
490 #define __BAR_RIGHT 1
491 #define __START 0
492 #define __BOTH 1
493 #define __FINISH 2
494 #define __NEITHER 3
495
496 /* Native cursor definitions */
497 #define XC_NONE 999
498 #define XC_x_CURSOR 0
499 #define XC_ARROW 2
500 #define XC_BASED_ARROW_DOWN 4
501 #define XC_BASED_ARROW_UP 6
502 #define XC_BOAT 8
503 #define XC_BOGOSITY 10
504 #define XC_BOTTOM_LEFT_CORNER 12
505 #define XC_BOTTOM_RIGHT_CORNER 14
506 #define XC_BOTTOM_SIDE 16
507 #define XC_BOTTOM_TEE 18
508 #define XC_BOX_SPIRAL 20
509 #define XC_CENTER_PTR 22
510 #define XC_CIRCLE 24
511 #define XC_CLOCK 26
512 #define XC_COFFEE_MUG 28
513 #define XC_CROSS 30
514 #define XC_CROSS_REVERSE 32
515 #define XC_CROSSHAIR 34
516 #define XC_DIAMOND_CROSS 36
517 #define XC_DOT 38
518 #define XC_DOTBOX 40
519 #define XC_DOUBLE_ARROW 42
520 #define XC_DRAFT_LARGE 44
521 #define XC_DRAFT_SMALL 46
522 #define XC_DRAPED_BOX 48
523 #define XC_EXCHANGE 50
524 #define XC_FLEUR 52
525 #define XC_GOBBLER 54
526 #define XC_GUMBY 56
527 #define XC_HAND1 58
528 #define XC_HAND2 60
529 #define XC_HEART 62
530 #define XC_ICON 64
531 #define XC_IRON_CROSS 66
532 #define XC_LEFT_PTR 68
533 #define XC_LEFT_SIDE 70
534 #define XC_LEFT_TEE 72
535 #define XC_LEFTBUTTON 74
536 #define XC_LL_ANGLE 76
537 #define XC_LR_ANGLE 78
538 #define XC_MAN 80
539 #define XC_MIDDLEBUTTON 82
540 #define XC_MOUSE 84
541 #define XC_PENCIL 86
542 #define XC_PIRATE 88
543 #define XC_PLUS 90
544 #define XC_QUESTION_ARROW 92
545 #define XC_RIGHT_PTR 94
546 #define XC_RIGHT_SIDE 96
547 #define XC_RIGHT_TEE 98
548 #define XC_RIGHTBUTTON 100
549 #define XC_RTL_LOGO 102
550 #define XC_SAILBOAT 104
551 #define XC_SB_DOWN_ARROW 106
552 #define XC_SB_H_DOUBLE_ARROW 108
553 #define XC_SB_LEFT_ARROW 110
554 #define XC_SB_RIGHT_ARROW 112
555 #define XC_SB_UP_ARROW 114
556 #define XC_SB_V_DOUBLE_ARROW 116
557 #define XC_SHUTTLE 118
558 #define XC_SIZING 120
559 #define XC_SPIDER 122
560 #define XC_SPRAYCAN 124
561 #define XC_STAR 126
562 #define XC_TARGET 128
563 #define XC_TCROSS 130
564 #define XC_TOP_LEFT_ARROW 132
565 #define XC_TOP_LEFT_CORNER 134
566 #define XC_TOP_RIGHT_CORNER 136
567 #define XC_TOP_SIDE 138
568 #define XC_TOP_TEE 140
569 #define XC_TREK 142
570 #define XC_UL_ANGLE 144
571 #define XC_UMBRELLA 146
572 #define XC_UR_ANGLE 148
573 #define XC_WATCH 150
574 #define XC_XTERM 152
575
576 /*******************************************************************/
577 /* Convenience macros to make configuring E SO much simpler        */
578 /*******************************************************************/
579
580 /*********** Window match convenience macros ***********************/
581 #define USE_BORDER_FOR_CLIENT_WITH_TITLE(title, border) \
582 __MATCH_WINDOW __BGN;\
583   __NAME border"_MATCH";\
584   __USE_BORDER border;\
585   __HAS_TITLE title;\
586 __END
587
588 #define USE_BORDER_FOR_CLIENT_WITH_NAME(name, border) \
589 __MATCH_WINDOW __BGN;\
590   __NAME border"_MATCH";\
591   __USE_BORDER border;\
592   __HAS_NAME name;\
593 __END
594
595 #define USE_BORDER_FOR_CLIENT_WITH_CLASS(class, border) \
596 __MATCH_WINDOW __BGN;\
597   __NAME border"_MATCH";\
598   __USE_BORDER border;\
599   __HAS_CLASS class;\
600 __END
601
602 #define USE_BORDER_FOR_TRANSIENT_CLIENT(border) \
603 __MATCH_WINDOW __BGN;\
604   __NAME border"_MATCH";\
605   __USE_BORDER border;\
606   __IS_TRANSIENT __ON;\
607   __END
608
609 #define USE_BORDER_FOR_UNRESIZABLE_CLIENT(border) \
610 __MATCH_WINDOW __BGN;\
611   __NAME border"_MATCH";\
612   __USE_BORDER border;\
613   __CANNOT_RESIZE_HORIZONTALLY __ON;\
614   __CANNOT_RESIZE_VERTICALLY __ON;\
615 __END
616
617 #define USE_BORDER_FOR_SHAPED_CLIENT(border) \
618 __MATCH_WINDOW __BGN;\
619   __NAME border"_MATCH";\
620   __USE_BORDER border;\
621   __IS_SHAPED __ON;\
622 __END
623
624 #define USE_ICON_IMAGECLASS_FOR_CLIENT_TITLE(title, iclass) \
625 __MATCH_WINDOW __BGN;\
626   __NAME iclass"_MATCH";\
627   __USE_ICON iclass;\
628   __HAS_TITLE title;\
629 __END
630
631 #define USE_ICON_IMAGECLASS_FOR_CLIENT_NAME(name, iclass) \
632 __MATCH_WINDOW __BGN;\
633   __NAME iclass"_MATCH";\
634   __USE_ICON iclass;\
635   __HAS_NAME name;\
636 __END
637
638 #define USE_ICON_IMAGECLASS_FOR_CLIENT_CLASS(class, iclass) \
639 __MATCH_WINDOW __BGN;\
640   __NAME iclass"_MATCH";\
641   __USE_ICON iclass;\
642   __HAS_CLASS class;\
643 __END
644
645 #define USE_ICON_IMAGE_FOR_CLIENT_TITLE(title, image) \
646 __ICLASS __BGN;\
647   __NAME image"_ICLASS";\
648   __NORMAL image;\
649 __END;\
650 __MATCH_WINDOW __BGN;\
651   __NAME image"_MATCH";\
652   __USE_ICON image"_ICLASS";\
653   __HAS_TITLE title;\
654 __END
655
656 #define USE_ICON_IMAGE_FOR_CLIENT_NAME(name, image) \
657 __ICLASS __BGN;\
658   __NAME image"_ICLASS";\
659   __NORMAL image;\
660 __END;\
661 __MATCH_WINDOW __BGN;\
662   __NAME image"_MATCH";\
663   __USE_ICON image"_ICLASS";\
664   __HAS_NAME name;\
665 __END
666
667 #define USE_ICON_IMAGE_FOR_CLIENT_CLASS(class, image) \
668 __ICLASS __BGN;\
669   __NAME image"_ICLASS";\
670   __NORMAL image;\
671 __END;\
672 __MATCH_WINDOW __BGN;\
673   __NAME image"_MATCH";\
674   __USE_ICON image"_ICLASS";\
675   __HAS_CLASS class;\
676 __END
677
678 #define USE_ICON_IMAGES_FOR_CLIENT_TITLE(title, image, image2, image3) \
679 __ICLASS __BGN;\
680   __NAME image"_ICLASS";\
681   __NORMAL image;\
682   __HILITED image2;\
683   __CLICKED image3;\
684 __END;\
685 __MATCH_WINDOW __BGN;\
686   __NAME image"_MATCH";\
687   __USE_ICON image"_ICLASS";\
688   __HAS_TITLE title;\
689 __END
690
691 #define USE_ICON_IMAGES_FOR_CLIENT_NAME(name, image, image2, image3) \
692 __ICLASS __BGN;\
693   __NAME image"_ICLASS";\
694   __NORMAL image;\
695   __HILITED image2;\
696   __CLICKED image3;\
697 __END;\
698   __MATCH_WINDOW __BGN;\
699   __NAME image"_MATCH";\
700   __USE_ICON image"_ICLASS";\
701   __HAS_NAME name;\
702 __END
703
704 #define MAKE_WINDOW_STICKY_BY_TITLE(title) \
705 __MATCH_WINDOW __BGN;\
706   __NAME title_"STICKYTITLE";\
707   __MAKE_WINDOW_STICKY 1;\
708   __HAS_TITLE title;\
709 __END
710
711 #define MAKE_WINDOW_STICKY_BY_CLASS(class) \
712 __MATCH_WINDOW __BGN;\
713   __NAME class"_STICKYCLASS";\
714   __MAKE_WINDOW_STICKY 1;\
715   __HAS_CLASS class;\
716 __END
717
718 #define MAKE_WINDOW_STICKY_BY_NAME(name) \
719 __MATCH_WINDOW __BGN;\
720   __NAME name"_STICKYNAME";\
721   __MAKE_WINDOW_STICKY 1;\
722   __HAS_NAME name;\
723 __END
724
725 #define WINDOW_ON_DESK_BY_NAME(name,desk) \
726 __MATCH_WINDOW __BGN;\
727   __NAME name"_DESKNAME";\
728   __DESKTOP desk;\
729   __HAS_NAME name;\
730 __END
731
732 #define WINDOW_ON_DESK_BY_TITLE(title,desk) \
733 __MATCH_WINDOW __BGN;\
734   __NAME title"_DESKTITLE";\
735   __DESKTOP desk;\
736   __HAS_TITLE title;\
737 __END
738
739 #define WINDOW_ON_DESK_BY_CLASS(class,desk) \
740 __MATCH_WINDOW __BGN;\
741   __NAME class"_DESKCLASS";\
742   __DESKTOP desk;\
743   __HAS_TITLE class;\
744 __END
745
746 /*********** Menu creation macros **********************************/
747 #define BEGIN_NEW_DIRSCAN_MENU(name, style, directory) \
748 __MENU __BGN;\
749   __MENU_PREBUILT name style "dirscan" directory
750
751 #define BEGIN_NEW_GNOME_MENU(name, style, directory) \
752 __MENU __BGN;\
753   __MENU_PREBUILT name style "gnome" directory
754
755 #define BEGIN_NEW_BORDERS_MENU(name, style) \
756 __MENU __BGN;\
757   __MENU_PREBUILT name style "borders"
758
759 #define BEGIN_NEW_THEMES_MENU(name, style) \
760 __MENU __BGN;\
761   __MENU_PREBUILT name style "themes"
762
763 #define BEGIN_NEW_WINDOWLIST_MENU(name, style) \
764 __MENU __BGN;\
765   __MENU_PREBUILT name style "windowlist"
766
767 #define BEGIN_NEW_DESKTOPWINDOWLIST_MENU(name, style) \
768 __MENU __BGN;\
769   __MENU_PREBUILT name style "desktopwindowlist"
770
771 #define ADD_MENU_TITLE(name) \
772   __MENU_TITLE name
773
774 #define BEGIN_NEW_FILE_MENU(name, style, thefile) \
775 __MENU __BGN;\
776   __MENU_PREBUILT name style "file" thefile
777
778 #define NORMAL_MENU_STYLE_VERTICAL(name, border, tclass, bg_iclass, item_iclass, submenu_iclass, max_items) \
779 __MENU_STYLE __BGN;\
780   __NAME name;\
781   __BORDER border;\
782   __TCLASS tclass;\
783   __BG_ICLASS bg_iclass;\
784   __ITEM_ICLASS item_iclass;\
785   __SUBMENU_ICLASS submenu_iclass;\
786   __USE_ITEM_BACKGROUNDS __OFF;\
787   __MAXIMUM_NUMBER_OF_ROWS max_items;\
788 __END
789
790 #define NORMAL_MENU_STYLE_HORIZONTAL(name, border, tclass, bg_iclass, item_iclass, submenu_iclass, max_items) \
791 __MENU_STYLE __BGN;\
792   __NAME name;\
793   __BORDER border;\
794   __TCLASS tclass;\
795   __BG_ICLASS bg_iclass;\
796   __ITEM_ICLASS item_iclass;\
797   __SUBMENU_ICLASS submenu_iclass;\
798   __USE_ITEM_BACKGROUNDS __OFF;\
799   __MAXIMUM_NUMBER_OF_COLUMNS max_items;\
800 __END
801
802 #define NEXTSTEP_MENU_STYLE_VERTICAL(name, border, tclass, item_iclass, submenu_iclass, max_items) \
803 __MENU_STYLE __BGN;\
804   __NAME name;\
805   __BORDER border;\
806   __TCLASS tclass;\
807   __ITEM_ICLASS item_iclass;\
808   __SUBMENU_ICLASS submenu_iclass;\
809   __USE_ITEM_BACKGROUNDS __ON;\
810   __MAXIMUM_NUMBER_OF_ROWS max_items;\
811 __END
812
813 #define NEXTSTEP_MENU_STYLE_HORIZONTAL(name, border, tclass, item_iclass, submenu_iclass, max_items) \
814 __MENU_STYLE __BGN;\
815   __NAME name;\
816   __BORDER border;\
817   __TCLASS tclass;\
818   __ITEM_ICLASS item_iclass;\
819   __SUBMENU_ICLASS submenu_iclass;\
820   __USE_ITEM_BACKGROUNDS __ON;\
821   __MAXIMUM_NUMBER_OF_COLUMNS max_items;\
822 __END
823
824 #define BEGIN_NEW_MENU(name, style) \
825 __MENU __BGN;\
826   __NAME name;\
827   __STYLE style
828
829 #define END_MENU \
830 __END
831
832 #define ADD_MENU_ITEM(text, icon_iclass, action, parameters) \
833   __MENU_ITEM icon_iclass text;\
834   __MENU_ACTION action parameters
835
836 #define ADD_MENU_TEXT_ITEM(text, action, parameters) \
837   __MENU_ITEM "NULL" text;\
838   __MENU_ACTION action parameters
839
840 #define ADD_MENU_ICON_ITEM(icon_iclass, action, parameters) \
841   __MENU_ITEM icon_iclass;\
842   __MENU_ACTION action parameters
843
844 #define ADD_MENU_SUBMENU_ITEM(text, icon_iclass, submenu_name) \
845   __SUMENU submenu_name icon_iclass text
846
847 #define ADD_MENU_SUBMENU_TEXT_ITEM(text, submenu_name) \
848   __SUMENU submenu_name "NULL" text
849
850 #define ADD_MENU_SUBMENU_ICON_ITEM(icon_iclass, submenu_name) \
851   __SUMENU submenu_name icon_iclass
852
853 /*********** Tooltip creation macros *******************************/
854 #define DEFINE_TOOLTIP(name, main_iclass, cloud1_iclass, cloud2_iclass, cloud3_iclass, cloud4_iclass, tclass, distance) \
855 __TOOLTIP __BGN;\
856   __NAME name;\
857   __ICLASS main_iclass;\
858   __BUBBLE1_ICLASS cloud1_iclass;\
859   __BUBBLE2_ICLASS cloud2_iclass;\
860   __BUBBLE3_ICLASS cloud3_iclass;\
861   __BUBBLE4_ICLASS cloud4_iclass;\
862   __TOOLTIP_HELP_ICON "DO_HELP_BUTTON";\
863   __TCLASS tclass;\
864   __DISTANCE distance;\
865 __END
866
867 #define DEFINE_TOOLTIP_WITH_LOGO(name, main_iclass, cloud1_iclass, cloud2_iclass, cloud3_iclass, cloud4_iclass, tclass, distance, logo) \
868 __TOOLTIP __BGN;\
869   __NAME name;\
870   __ICLASS main_iclass;\
871   __BUBBLE1_ICLASS cloud1_iclass;\
872   __BUBBLE2_ICLASS cloud2_iclass;\
873   __BUBBLE3_ICLASS cloud3_iclass;\
874   __BUBBLE4_ICLASS cloud4_iclass;\
875   __TOOLTIP_HELP_ICON logo;\
876   __TCLASS tclass;\
877   __DISTANCE distance;\
878 __END
879
880 #define DEFINE_TOOLTIP_SIMPLE(name, iclass, tclass, distance) \
881 __TOOLTIP __BGN;\
882   __NAME name;\
883   __ICLASS iclass;\
884   __TCLASS tclass;\
885   __DISTANCE distance;\
886 __END
887
888 /*********** Sound creation macros *******************************/
889 #define BEGIN_SOUND \
890 __SOUND __BGN
891
892 #define END_SOUND \
893 __END
894
895 /*********** Sound creation macros *******************************/
896 #define BEGIN_SLIDEOUT(name, direction) \
897 __SLIDEOUT __BGN;\
898   __NAME name;\
899   __SLIDE_DIRECTION direction
900
901 #define ADD_BUTTON_TO_SLIDEOUT(name) \
902   __BUTTON name
903
904 #define END_SLIDEOUT \
905 __END
906
907 /*********** Desktop BG creation macros ***************************/
908 #define BEGIN_BACKGROUND(name) \
909 __DESKTOP __BGN;\
910   __NAME name
911
912 #define END_BACKGROUND \
913 __END
914
915 #define SET_SOLID(color) \
916   __SOLID_COLOR color
917
918 #define ON_DESKTOP(num) \
919   __USE_ON_DESKTOP num
920
921 #define DEFAULT_BACKGROUND \
922   __USE_ON_DESKTOP __DESKTOP_ALL
923
924 #define ADD_BACKGROUND_TILED(file)\
925   __BACKGROUND_LAYER file 1 1 0 0 0 0
926
927 #define ADD_BACKGROUND_SCALED(file)\
928   __BACKGROUND_LAYER file 0 0 0 0 1024 1024
929
930 #define ADD_BACKGROUND_TILED_SCALED_VERTICALLY(file)\
931   __BACKGROUND_LAYER file 1 0 0 0 0 1024
932
933 #define ADD_BACKGROUND_TILED_SCALED_HORIZONTALLY(file)\
934   __BACKGROUND_LAYER file 1 0 0 0 1024 0
935
936 #define ADD_BACKGROUND_CENTERED(file)\
937   __BACKGROUND_LAYER file 0 1 512 512 0 0
938
939 #define ADD_BACKGROUND_TILED_CENTER(file)\
940   __BACKGROUND_LAYER file 1 1 512 512 0 0
941
942 #define ADD_BACKGROUND_SCALED_RETAIN_ASPECT(file)\
943   __BACKGROUND_LAYER file 0 1 512 512 1024 1024
944
945 #define ADD_BACKGROUND_TILED_SCALED_RETAIN_ASPECT(file)\
946   __BACKGROUND_LAYER file 1 1 512 512 1024 1024
947
948 #define ADD_OVERLAY_IMAGE_CENTERED(file) \
949   __FORGROUND_LAYER file 1 512 512 0 0
950
951 #define ADD_OVERLAY_IMAGE_TOP_LEFT(file) \
952   __FORGROUND_LAYER file 1 0 0 0 0
953
954 #define ADD_OVERLAY_IMAGE_TOP_RIGHT(file) \
955   __FORGROUND_LAYER file 1 1024 0 0 0
956
957 #define ADD_OVERLAY_IMAGE_BOTTOM_LEFT(file) \
958   __FORGROUND_LAYER file 1 0 1024 0 0
959
960 #define ADD_OVERLAY_IMAGE_BOTTOM_RIGHT(file) \
961   __FORGROUND_LAYER file 1 1024 1024 0 0
962
963 #define ADD_OVERLAY_IMAGE_BOTTOM_MIDDLE(file) \
964   __FORGROUND_LAYER file 1 512 1024 0 0
965
966 #define ADD_OVERLAY_IMAGE_TOP_MIDDLE(file) \
967   __FORGROUND_LAYER file 1 512 0 0 0
968
969 #define ADD_OVERLAY_IMAGE_LEFT_MIDDLE(file) \
970   __FORGROUND_LAYER file 1 0 512 0 0
971
972 #define ADD_OVERLAY_IMAGE_RIGHT_MIDDLE(file) \
973   __FORGROUND_LAYER file 1 1024 512 0 0
974
975 #define ADD_OVERLAY_IMAGE_SCALED(file) \
976   __FORGROUND_LAYER file 0 0 0 1024 1024
977
978 #define ADD_OVERLAY_IMAGE_ASPECT(file) \
979   __FORGROUND_LAYER file 1 512 512 1024 1024
980
981 #define ADD_BACKGROUND_SCALED_RETAIN_ASPECT_ALIGN_RIGHT(file)\
982   __BACKGROUND_LAYER file 0 1 1024 512 0 1024
983
984 #define ADD_BACKGROUND_SCALED_RETAIN_ASPECT_ALIGN_LEFT(file)\
985   __BACKGROUND_LAYER file 0 1 0 512 0 1024
986
987 #define ADD_BACKGROUND_SCALED_RETAIN_ASPECT_ALIGN_TOP(file)\
988   __BACKGROUND_LAYER file 0 1 512 0 1024 0
989
990 #define ADD_BACKGROUND_SCALED_RETAIN_ASPECT_ALIGN_BOTTOM(file)\
991   __BACKGROUND_LAYER file 0 1 512 1024 1024 0
992
993 /*********** Directory definition macros **************************/
994 #define E_SCRIPTS_DIR ENLIGHTENMENT_ROOT/scripts/
995
996 #endif /* __E16_DEFINITIONS__ */