diff --git a/ChangeLog b/ChangeLog index e4bd19b..1967cfc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,21 @@ 2021-01-31 Mike Small - * src/screen.h (struct ScreenInfo): Remove NoGrabServer member + * src/util.h: Remove zoom option - * src/gram.y: Remove ICON_REGION + * src/screen.h (struct ScreenInfo): Remove DoZoom, ZoomCount + + * src/menus.cc (DeIconify,Iconify): Remove zoom effect + + * src/events.c (HandleMapRequest): Remove zoom option + + * src/util.c: Remove zoom effect function + + * src/twm.c (InitVariables): Remove zoom option + + * src/screen.h (struct ScreenInfo): Remove NoGrabServer member + (struct ScreenInfo): Remove zoom option + + * src/gram.y: Remove ICON_REGION, zoom option * src/menus.cc (ExecuteFunction): Remove nograbserver option @@ -12,9 +25,9 @@ * src/deftwmrc.c: ditto - * src/parse.c: ditto and remove IconRegion option. + * src/parse.c: ditto and remove IconRegion, Zoom options. - * man/twmruined.man: Remove nograbserver and IconRegion settings. + * man/twmruined.man: Remove nograbserver, zoom and IconRegion settings. Describe simplified icon placement. * src/util.h: move CreateMenuIcon prototype here diff --git a/README b/README index 2736074..edb1f9f 100644 --- a/README +++ b/README @@ -5,7 +5,8 @@ Features removed... 1. iconmgr feature and icon region (icons always land on the right edge). 2. these configuration options: UsePPosition, SqueezeTitle, RandomPlacement, opaquemove, window highlight, DontIconifyByUnmapping, IconifyByUnmapping, - TitlePadding, title button indent, NoGrabServer (never grab), IconRegion. + TitlePadding, title button indent, NoGrabServer (never grab), IconRegion, + Zoom. Changes ... diff --git a/man/twmruined.man b/man/twmruined.man index 0e6b8fc..02cea8b 100644 --- a/man/twmruined.man +++ b/man/twmruined.man @@ -584,11 +584,6 @@ user's typical screen. Setting this variable to 1 often gives nice results if adjacent colors in the default colormap are distinct. By default, \fItwmruined\fP will attempt to cause temporary lines to appear at the opposite end of the colormap from the graphics. -.IP "\fBZoom\fP [ \fIcount\fP ]" 8 -This variable indicates that outlines suggesting movement of a window -to and from its iconified state should be displayed whenever a window is -iconified or deiconified. The optional \fIcount\fP argument specifies the -number of outlines to be drawn. The default count is 8. .PP The following variables must be set after the fonts have been assigned, so it is usually best to put them at the end of the variables diff --git a/src/events.c b/src/events.c index 1232350..94b7898 100644 --- a/src/events.c +++ b/src/events.c @@ -1242,7 +1242,6 @@ void HandleMapRequest(void) { XPointer context_data; - int zoom_save; Event.xany.window = Event.xmaprequest.window; if (XFindContext(dpy, Event.xany.window, TwmContext, &context_data) == 0) @@ -1284,10 +1283,7 @@ HandleMapRequest(void) break; case IconicState: - zoom_save = Scr->DoZoom; - Scr->DoZoom = FALSE; Iconify(Tmp_win, 0, 0); - Scr->DoZoom = zoom_save; break; } } diff --git a/src/gram.c b/src/gram.c index 33c26ae..83741d8 100644 --- a/src/gram.c +++ b/src/gram.c @@ -154,45 +154,44 @@ extern int yydebug; MONOCHROME = 274, FUNCTION = 275, WINDOW_FUNCTION = 276, - ZOOM = 277, - MAKE_TITLE = 278, - GRAYSCALE = 279, - NO_TITLE = 280, - AUTO_RAISE = 281, - META = 283, - SHIFT = 284, - LOCK = 285, - CONTROL = 286, - WINDOW = 287, - TITLE = 288, - ICON = 289, - ROOT = 290, - FRAME = 291, - COLON = 292, - EQUALS = 293, - START_ICONIFIED = 294, - MOVE = 295, - RESIZE = 296, - WAIT = 297, - SELECT = 298, - KILL = 299, - LEFT_TITLEBUTTON = 300, - RIGHT_TITLEBUTTON = 301, - NUMBER = 302, - KEYWORD = 303, - NKEYWORD = 304, - CKEYWORD = 305, - CLKEYWORD = 306, - FKEYWORD = 307, - FSKEYWORD = 308, - SKEYWORD = 309, - DKEYWORD = 310, - JKEYWORD = 311, - WINDOW_RING = 312, - WARP_CURSOR = 313, - ERRORTOKEN = 314, - NO_STACKMODE = 315, - STRING = 316 + MAKE_TITLE = 277, + GRAYSCALE = 278, + NO_TITLE = 279, + AUTO_RAISE = 280, + META = 281, + SHIFT = 282, + LOCK = 283, + CONTROL = 284, + WINDOW = 285, + TITLE = 286, + ICON = 287, + ROOT = 288, + FRAME = 289, + COLON = 290, + EQUALS = 291, + START_ICONIFIED = 292, + MOVE = 293, + RESIZE = 294, + WAIT = 295, + SELECT = 296, + KILL = 297, + LEFT_TITLEBUTTON = 298, + RIGHT_TITLEBUTTON = 299, + NUMBER = 300, + KEYWORD = 301, + NKEYWORD = 302, + CKEYWORD = 303, + CLKEYWORD = 304, + FKEYWORD = 305, + FSKEYWORD = 306, + SKEYWORD = 307, + DKEYWORD = 308, + JKEYWORD = 309, + WINDOW_RING = 310, + WARP_CURSOR = 311, + ERRORTOKEN = 312, + NO_STACKMODE = 313, + STRING = 314 }; #endif /* Tokens. */ @@ -215,45 +214,44 @@ extern int yydebug; #define MONOCHROME 274 #define FUNCTION 275 #define WINDOW_FUNCTION 276 -#define ZOOM 277 -#define MAKE_TITLE 278 -#define GRAYSCALE 279 -#define NO_TITLE 280 -#define AUTO_RAISE 281 -#define META 283 -#define SHIFT 284 -#define LOCK 285 -#define CONTROL 286 -#define WINDOW 287 -#define TITLE 288 -#define ICON 289 -#define ROOT 290 -#define FRAME 291 -#define COLON 292 -#define EQUALS 293 -#define START_ICONIFIED 294 -#define MOVE 295 -#define RESIZE 296 -#define WAIT 297 -#define SELECT 298 -#define KILL 299 -#define LEFT_TITLEBUTTON 300 -#define RIGHT_TITLEBUTTON 301 -#define NUMBER 302 -#define KEYWORD 303 -#define NKEYWORD 304 -#define CKEYWORD 305 -#define CLKEYWORD 306 -#define FKEYWORD 307 -#define FSKEYWORD 308 -#define SKEYWORD 309 -#define DKEYWORD 310 -#define JKEYWORD 311 -#define WINDOW_RING 312 -#define WARP_CURSOR 313 -#define ERRORTOKEN 314 -#define NO_STACKMODE 315 -#define STRING 316 +#define MAKE_TITLE 277 +#define GRAYSCALE 278 +#define NO_TITLE 279 +#define AUTO_RAISE 280 +#define META 281 +#define SHIFT 282 +#define LOCK 283 +#define CONTROL 284 +#define WINDOW 285 +#define TITLE 286 +#define ICON 287 +#define ROOT 288 +#define FRAME 289 +#define COLON 290 +#define EQUALS 291 +#define START_ICONIFIED 292 +#define MOVE 293 +#define RESIZE 294 +#define WAIT 295 +#define SELECT 296 +#define KILL 297 +#define LEFT_TITLEBUTTON 298 +#define RIGHT_TITLEBUTTON 299 +#define NUMBER 300 +#define KEYWORD 301 +#define NKEYWORD 302 +#define CKEYWORD 303 +#define CLKEYWORD 304 +#define FKEYWORD 305 +#define FSKEYWORD 306 +#define SKEYWORD 307 +#define DKEYWORD 308 +#define JKEYWORD 309 +#define WINDOW_RING 310 +#define WARP_CURSOR 311 +#define ERRORTOKEN 312 +#define NO_STACKMODE 313 +#define STRING 314 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -265,7 +263,7 @@ union YYSTYPE int num; char *ptr; -#line 271 "gram.c" /* yacc.c:355 */ +#line 267 "gram.c" /* yacc.c:355 */ }; typedef union YYSTYPE YYSTYPE; @@ -282,7 +280,7 @@ int yyparse (void); /* Copy the second part of user declarations. */ -#line 288 "gram.c" /* yacc.c:358 */ +#line 284 "gram.c" /* yacc.c:358 */ #ifdef short # undef short @@ -524,21 +522,21 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 214 +#define YYLAST 202 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 62 +#define YYNTOKENS 60 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 58 /* YYNRULES -- Number of rules. */ -#define YYNRULES 144 +#define YYNRULES 142 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 213 +#define YYNSTATES 211 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 316 +#define YYMAXUTOK 314 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -578,7 +576,7 @@ static const yytype_uint8 yytranslate[] = 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 + 55, 56, 57, 58, 59 }; #if YYDEBUG @@ -586,20 +584,20 @@ static const yytype_uint8 yytranslate[] = static const yytype_uint16 yyrline[] = { 0, 133, 133, 136, 137, 140, 141, 142, 143, 144, - 150, 152, 153, 156, 159, 163, 179, 180, 181, 181, - 183, 185, 185, 187, 189, 189, 191, 191, 193, 193, - 195, 195, 198, 198, 200, 200, 202, 202, 204, 204, - 206, 206, 208, 210, 210, 212, 228, 236, 236, 238, - 240, 240, 245, 255, 265, 277, 280, 283, 284, 287, - 288, 289, 290, 291, 301, 304, 305, 308, 309, 310, - 311, 312, 313, 314, 317, 318, 321, 322, 323, 324, - 325, 326, 327, 328, 331, 334, 335, 338, 340, 342, - 344, 346, 348, 350, 352, 354, 356, 358, 360, 362, - 364, 366, 368, 370, 372, 374, 376, 380, 384, 385, - 388, 397, 397, 408, 419, 422, 423, 426, 427, 430, - 433, 434, 437, 442, 445, 446, 449, 454, 457, 458, - 461, 464, 467, 468, 471, 477, 480, 481, 484, 489, - 497, 498, 544, 556, 561 + 145, 148, 151, 155, 171, 172, 173, 173, 175, 177, + 177, 179, 181, 181, 183, 183, 185, 185, 187, 187, + 190, 190, 192, 192, 194, 194, 196, 196, 198, 198, + 200, 202, 202, 204, 220, 228, 228, 230, 232, 232, + 237, 247, 257, 269, 272, 275, 276, 279, 280, 281, + 282, 283, 293, 296, 297, 300, 301, 302, 303, 304, + 305, 306, 309, 310, 313, 314, 315, 316, 317, 318, + 319, 320, 323, 326, 327, 330, 332, 334, 336, 338, + 340, 342, 344, 346, 348, 350, 352, 354, 356, 358, + 360, 362, 364, 366, 368, 372, 376, 377, 380, 389, + 389, 400, 411, 414, 415, 418, 419, 422, 425, 426, + 429, 434, 437, 438, 441, 446, 449, 450, 453, 456, + 459, 460, 463, 469, 472, 473, 476, 481, 489, 490, + 536, 548, 553 }; #endif @@ -611,24 +609,23 @@ static const char *const yytname[] = "$end", "error", "$undefined", "LB", "RB", "LP", "RP", "MENUS", "MENU", "BUTTON", "DEFAULT_FUNCTION", "PLUS", "MINUS", "ALL", "OR", "CURSORS", "ICONS", "COLOR", "SAVECOLOR", "MONOCHROME", "FUNCTION", - "WINDOW_FUNCTION", "ZOOM", "MAKE_TITLE", "GRAYSCALE", "NO_TITLE", - "AUTO_RAISE", "META", "SHIFT", "LOCK", "CONTROL", - "WINDOW", "TITLE", "ICON", "ROOT", "FRAME", "COLON", "EQUALS", - "START_ICONIFIED", "MOVE", "RESIZE", "WAIT", "SELECT", "KILL", - "LEFT_TITLEBUTTON", "RIGHT_TITLEBUTTON", "NUMBER", "KEYWORD", "NKEYWORD", - "CKEYWORD", "CLKEYWORD", "FKEYWORD", "FSKEYWORD", "SKEYWORD", "DKEYWORD", - "JKEYWORD", "WINDOW_RING", "WARP_CURSOR", "ERRORTOKEN", "NO_STACKMODE", - "STRING", "$accept", "twmrc", "stmts", "stmt", "$@1", "$@2", "$@3", - "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "$@11", "$@12", "$@13", - "$@14", "noarg", "sarg", "narg", "full", "fullkey", "keys", "key", - "contexts", "context", "contextkeys", "contextkey", "cursor_list", - "cursor_entries", "cursor_entry", "color_list", "color_entries", - "color_entry", "$@15", "save_color_list", "s_color_entries", - "s_color_entry", "win_color_list", "win_color_entries", - "win_color_entry", "win_list", "win_entries", "win_entry", "icon_list", - "icon_entries", "icon_entry", "function", "function_entries", - "function_entry", "menu", "menu_entries", "menu_entry", "action", - "button", "string", "number", YY_NULLPTR + "WINDOW_FUNCTION", "MAKE_TITLE", "GRAYSCALE", "NO_TITLE", "AUTO_RAISE", + "META", "SHIFT", "LOCK", "CONTROL", "WINDOW", "TITLE", "ICON", "ROOT", + "FRAME", "COLON", "EQUALS", "START_ICONIFIED", "MOVE", "RESIZE", "WAIT", + "SELECT", "KILL", "LEFT_TITLEBUTTON", "RIGHT_TITLEBUTTON", "NUMBER", + "KEYWORD", "NKEYWORD", "CKEYWORD", "CLKEYWORD", "FKEYWORD", "FSKEYWORD", + "SKEYWORD", "DKEYWORD", "JKEYWORD", "WINDOW_RING", "WARP_CURSOR", + "ERRORTOKEN", "NO_STACKMODE", "STRING", "$accept", "twmrc", "stmts", + "stmt", "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", + "$@10", "$@11", "$@12", "$@13", "$@14", "noarg", "sarg", "narg", "full", + "fullkey", "keys", "key", "contexts", "context", "contextkeys", + "contextkey", "cursor_list", "cursor_entries", "cursor_entry", + "color_list", "color_entries", "color_entry", "$@15", "save_color_list", + "s_color_entries", "s_color_entry", "win_color_list", + "win_color_entries", "win_color_entry", "win_list", "win_entries", + "win_entry", "icon_list", "icon_entries", "icon_entry", "function", + "function_entries", "function_entry", "menu", "menu_entries", + "menu_entry", "action", "button", "string", "number", YY_NULLPTR }; #endif @@ -642,17 +639,16 @@ static const yytype_uint16 yytoknum[] = 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316 + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314 }; # endif -#define YYPACT_NINF -109 +#define YYPACT_NINF -87 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-109))) + (!!((Yystate) == (-87))) -#define YYTABLE_NINF -112 +#define YYTABLE_NINF -110 #define yytable_value_is_error(Yytable_value) \ 0 @@ -661,28 +657,28 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -109, 12, 23, -109, -109, -46, -29, -27, 18, -109, - -109, 27, -109, -46, -27, -29, -109, -109, 31, -109, - -109, -46, -46, -109, -29, -46, -109, 34, 48, -109, - -109, -109, -109, -109, -25, 14, 50, -109, -109, -109, - -46, -109, -109, -109, 53, 54, -109, -109, 54, -109, - -109, -109, 67, 54, 67, 67, 67, 36, 40, -109, - -109, 67, 67, 67, -109, -109, -109, -109, -109, -109, - -46, 76, -109, 113, -109, -109, -109, -109, -1, -109, - 79, -109, -109, -109, -109, -109, -109, -27, -27, -109, - -109, -109, 154, 165, 49, -109, -109, -109, -46, -46, - -46, -46, -46, -46, -46, -46, -46, -46, -109, 0, - 63, -109, -109, -109, -109, -109, -109, 2, -109, -109, - -109, -29, -109, -109, -109, -109, -109, -109, -46, 3, - -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, - -109, -109, -46, -109, -46, -46, -109, 1, -109, -109, - -109, -109, 138, 129, 81, -109, -109, 6, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - 82, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -27, -109, -109, -109, -109, -109, -109, -109, -109, - -27, -109, -109, -109, -46, -109, 85, -109, -109, 76, - 52, -109, -109, -109, -46, 5, 84, -109, -109, -46, - -27, -109, -109 + -87, 11, 23, -87, -87, -46, -28, -21, 17, -87, + -87, 19, -87, -46, -21, -87, -87, 22, -87, -87, + -46, -46, -87, -28, -46, -87, 33, 34, -87, -87, + -87, -87, -87, -24, 15, 45, -87, -87, -87, -46, + -87, -87, -87, 49, 50, -87, -87, 50, -87, -87, + 54, 50, 54, 54, 54, 36, 40, -87, -87, 54, + 54, 54, -87, -87, -87, -87, -87, -87, -46, 74, + -87, 110, -87, -87, -87, -87, 0, -87, 77, -87, + -87, -87, -87, -87, -87, -21, -21, -87, -87, -87, + 151, 155, 48, -87, -87, -87, -46, -46, -46, -46, + -46, -46, -46, -46, -46, -46, -87, -3, 64, -87, + -87, -87, -87, -87, -87, -1, -87, -87, -87, -28, + -87, -87, -87, -87, -87, -87, -46, 2, -46, -46, + -46, -46, -46, -46, -46, -46, -46, -46, -87, -87, + -46, -87, -46, -46, -87, 14, -87, -87, -87, -87, + 73, 126, 78, -87, -87, 4, -87, -87, -87, -87, + -87, -87, -87, -87, -87, -87, -87, -87, 82, -87, + -87, -87, -87, -87, -87, -87, -87, -87, -87, -21, + -87, -87, -87, -87, -87, -87, -87, -87, -21, -87, + -87, -87, -46, -87, 85, -87, -87, 74, 55, -87, + -87, -87, -46, 3, 83, -87, -87, -46, -21, -87, + -87 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -690,50 +686,50 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 3, 0, 0, 1, 5, 0, 0, 0, 0, 36, - 38, 0, 43, 0, 0, 10, 24, 40, 23, 28, - 26, 0, 0, 52, 0, 0, 50, 49, 20, 143, - 4, 6, 7, 8, 0, 0, 32, 144, 142, 140, - 0, 45, 85, 11, 0, 0, 115, 42, 0, 34, - 46, 9, 0, 0, 0, 0, 0, 0, 0, 54, - 53, 0, 0, 0, 57, 17, 15, 14, 57, 16, - 0, 0, 141, 0, 128, 37, 108, 39, 0, 44, - 0, 124, 25, 41, 22, 29, 27, 0, 0, 51, - 48, 19, 0, 0, 0, 136, 33, 84, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, - 0, 114, 118, 116, 117, 132, 35, 0, 12, 13, - 64, 59, 60, 61, 62, 65, 58, 74, 0, 0, - 102, 94, 90, 92, 88, 96, 98, 100, 104, 106, - 127, 129, 0, 107, 0, 0, 109, 0, 123, 125, - 126, 63, 0, 0, 0, 135, 137, 0, 101, 93, - 89, 91, 87, 95, 97, 99, 103, 105, 130, 113, - 110, 131, 133, 134, 72, 73, 67, 68, 69, 70, - 71, 0, 66, 81, 82, 76, 77, 78, 79, 80, - 0, 75, 83, 30, 0, 138, 0, 55, 56, 0, - 0, 120, 112, 31, 0, 0, 0, 119, 121, 0, - 0, 122, 139 + 3, 0, 0, 1, 5, 0, 0, 0, 0, 34, + 36, 0, 41, 0, 0, 22, 38, 21, 26, 24, + 0, 0, 50, 0, 0, 48, 47, 18, 141, 4, + 6, 7, 8, 0, 0, 30, 142, 140, 138, 0, + 43, 83, 9, 0, 0, 113, 40, 0, 32, 44, + 0, 0, 0, 0, 0, 0, 0, 52, 51, 0, + 0, 0, 55, 15, 13, 12, 55, 14, 0, 0, + 139, 0, 126, 35, 106, 37, 0, 42, 0, 122, + 23, 39, 20, 27, 25, 0, 0, 49, 46, 17, + 0, 0, 0, 134, 31, 82, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 84, 0, 0, 112, + 116, 114, 115, 130, 33, 0, 10, 11, 62, 57, + 58, 59, 60, 63, 56, 72, 0, 0, 100, 92, + 88, 90, 86, 94, 96, 98, 102, 104, 125, 127, + 0, 105, 0, 0, 107, 0, 121, 123, 124, 61, + 0, 0, 0, 133, 135, 0, 99, 91, 87, 89, + 85, 93, 95, 97, 101, 103, 128, 111, 108, 129, + 131, 132, 70, 71, 65, 66, 67, 68, 69, 0, + 64, 79, 80, 74, 75, 76, 77, 78, 0, 73, + 81, 28, 0, 136, 0, 53, 54, 0, 0, 118, + 110, 29, 0, 0, 0, 117, 119, 0, 0, 120, + 137 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, - -109, -109, -109, 24, -109, -109, -109, -109, -109, -109, - -109, -109, -34, -109, -109, -109, -109, -109, -109, -109, - -109, -109, 151, -109, -109, -109, -109, -109, -109, -109, - -109, -108, -109, -109, -12, -109, -5, -14 + -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, + -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, + -87, -87, -87, 43, -87, -87, -87, -87, -87, -87, + -87, -87, -37, -87, -87, -87, -87, -87, -87, -87, + -87, -87, 140, -87, -87, -87, -87, -87, -87, -87, + -87, -86, -87, -87, -12, -87, -5, -18 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 2, 30, 63, 54, 52, 56, 55, 199, - 71, 80, 44, 45, 53, 48, 62, 61, 31, 32, - 33, 65, 69, 92, 126, 152, 182, 153, 191, 43, - 73, 108, 77, 110, 146, 196, 47, 78, 113, 202, - 205, 208, 82, 117, 149, 75, 109, 141, 116, 147, - 172, 96, 129, 156, 41, 34, 35, 38 + -1, 1, 2, 29, 61, 52, 50, 54, 53, 197, + 69, 78, 43, 44, 51, 47, 60, 59, 30, 31, + 32, 63, 67, 90, 124, 150, 180, 151, 189, 42, + 71, 106, 75, 108, 144, 194, 46, 76, 111, 200, + 203, 206, 80, 115, 147, 73, 107, 139, 114, 145, + 170, 94, 127, 154, 40, 33, 34, 37 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -741,122 +737,120 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 36, 51, 50, 111, 140, 171, 148, 155, 49, 207, - 59, 194, 3, 64, 79, 29, 57, 58, 37, 83, - 60, 42, 66, -2, 4, 39, 40, 39, 40, 67, - 46, 5, 6, 7, -21, 72, 29, -47, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 112, -18, 68, 39, 40, 70, 74, 76, 39, 40, - 29, 29, 20, 29, 29, 94, 29, 143, 21, 22, - 81, 23, 24, 114, 87, 118, 119, 25, 88, 95, - 26, 27, 115, 28, 29, -111, 128, 193, 201, 204, - 210, 203, 93, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 0, 142, 0, 0, 151, 0, 0, - 0, 0, 150, 144, 145, 0, 0, 97, 0, 0, - 0, 98, 99, 154, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 173, 0, 168, 0, 169, - 170, 0, 183, 184, 0, 195, 100, 101, 192, 102, - 0, 174, 175, 103, 104, 105, 106, 107, 0, 0, - 0, 185, 186, 187, 188, 189, 190, 0, 120, 197, - 176, 177, 178, 179, 180, 181, 0, 0, 198, 120, - 0, 0, 121, 122, 123, 124, 0, 0, 0, 200, - 29, 125, 0, 121, 122, 123, 124, 0, 212, 206, - 209, 0, 127, 0, 211, 84, 85, 86, 0, 0, - 0, 0, 89, 90, 91 + 35, 138, 49, 146, 109, 57, 153, 205, 48, 192, + 77, 3, 62, 28, 81, 55, 56, 36, 169, 58, + 41, 64, 45, -2, 4, -19, 38, 39, 65, 38, + 39, 5, 6, 7, 70, 28, -45, -16, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 110, + 68, 66, 72, 74, 38, 39, 28, 79, 28, 28, + 19, 28, 28, 92, 38, 39, 20, 21, 141, 22, + 23, 112, 85, 116, 117, 24, 86, 93, 25, 26, + 113, 27, 28, 126, 191, -109, 172, 173, 199, 208, + 202, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 149, 140, 174, 175, 176, 177, 178, 179, 91, + 148, 201, 142, 143, 95, 0, 0, 0, 96, 97, + 0, 152, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 171, 0, 166, 0, 167, 168, 181, + 182, 98, 99, 193, 100, 0, 190, 0, 101, 102, + 103, 104, 105, 0, 0, 0, 183, 184, 185, 186, + 187, 188, 0, 0, 0, 118, 0, 195, 0, 118, + 0, 0, 0, 0, 0, 0, 196, 119, 120, 121, + 122, 119, 120, 121, 122, 28, 123, 198, 0, 0, + 125, 0, 82, 83, 84, 0, 210, 204, 207, 87, + 88, 89, 209 }; static const yytype_int16 yycheck[] = { - 5, 15, 14, 4, 4, 4, 4, 4, 13, 4, - 24, 5, 0, 38, 48, 61, 21, 22, 47, 53, - 25, 3, 34, 0, 1, 52, 53, 52, 53, 34, - 3, 8, 9, 10, 3, 40, 61, 3, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 51, 3, 38, 52, 53, 5, 3, 3, 52, 53, - 61, 61, 39, 61, 61, 70, 61, 4, 45, 46, - 3, 48, 49, 78, 38, 87, 88, 54, 38, 3, - 57, 58, 3, 60, 61, 3, 37, 6, 3, 37, - 6, 199, 68, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, -1, 109, -1, -1, 121, -1, -1, - -1, -1, 117, 50, 51, -1, -1, 4, -1, -1, - -1, 8, 9, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 147, -1, 142, -1, 144, - 145, -1, 13, 14, -1, 157, 33, 34, 153, 36, - -1, 13, 14, 40, 41, 42, 43, 44, -1, -1, - -1, 32, 33, 34, 35, 36, 37, -1, 14, 181, - 32, 33, 34, 35, 36, 37, -1, -1, 190, 14, - -1, -1, 28, 29, 30, 31, -1, -1, -1, 194, - 61, 37, -1, 28, 29, 30, 31, -1, 210, 204, - 205, -1, 37, -1, 209, 54, 55, 56, -1, -1, - -1, -1, 61, 62, 63 + 5, 4, 14, 4, 4, 23, 4, 4, 13, 5, + 47, 0, 36, 59, 51, 20, 21, 45, 4, 24, + 3, 33, 3, 0, 1, 3, 50, 51, 33, 50, + 51, 8, 9, 10, 39, 59, 3, 3, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 49, + 5, 36, 3, 3, 50, 51, 59, 3, 59, 59, + 37, 59, 59, 68, 50, 51, 43, 44, 4, 46, + 47, 76, 36, 85, 86, 52, 36, 3, 55, 56, + 3, 58, 59, 35, 6, 3, 13, 14, 3, 6, + 35, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 119, 107, 30, 31, 32, 33, 34, 35, 66, + 115, 197, 48, 49, 4, -1, -1, -1, 8, 9, + -1, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 145, -1, 140, -1, 142, 143, 13, + 14, 31, 32, 155, 34, -1, 151, -1, 38, 39, + 40, 41, 42, -1, -1, -1, 30, 31, 32, 33, + 34, 35, -1, -1, -1, 14, -1, 179, -1, 14, + -1, -1, -1, -1, -1, -1, 188, 26, 27, 28, + 29, 26, 27, 28, 29, 59, 35, 192, -1, -1, + 35, -1, 52, 53, 54, -1, 208, 202, 203, 59, + 60, 61, 207 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 63, 64, 0, 1, 8, 9, 10, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 39, 45, 46, 48, 49, 54, 57, 58, 60, 61, - 65, 80, 81, 82, 117, 118, 118, 47, 119, 52, - 53, 116, 3, 91, 74, 75, 3, 98, 77, 118, - 116, 119, 68, 76, 67, 70, 69, 118, 118, 119, - 118, 79, 78, 66, 38, 83, 116, 118, 38, 84, - 5, 72, 118, 92, 3, 107, 3, 94, 99, 94, - 73, 3, 104, 94, 104, 104, 104, 38, 38, 104, - 104, 104, 85, 85, 118, 3, 113, 4, 8, 9, - 33, 34, 36, 40, 41, 42, 43, 44, 93, 108, - 95, 4, 51, 100, 118, 3, 110, 105, 116, 116, - 14, 28, 29, 30, 31, 37, 86, 37, 37, 114, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 4, 109, 118, 4, 50, 51, 96, 111, 4, 106, - 118, 119, 87, 89, 118, 4, 115, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 4, 112, 116, 13, 14, 32, 33, 34, 35, - 36, 37, 88, 13, 14, 32, 33, 34, 35, 36, - 37, 90, 118, 6, 5, 116, 97, 116, 116, 71, - 118, 3, 101, 113, 37, 102, 118, 4, 103, 118, - 6, 118, 116 + 0, 61, 62, 0, 1, 8, 9, 10, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 37, + 43, 44, 46, 47, 52, 55, 56, 58, 59, 63, + 78, 79, 80, 115, 116, 116, 45, 117, 50, 51, + 114, 3, 89, 72, 73, 3, 96, 75, 116, 114, + 66, 74, 65, 68, 67, 116, 116, 117, 116, 77, + 76, 64, 36, 81, 114, 116, 36, 82, 5, 70, + 116, 90, 3, 105, 3, 92, 97, 92, 71, 3, + 102, 92, 102, 102, 102, 36, 36, 102, 102, 102, + 83, 83, 116, 3, 111, 4, 8, 9, 31, 32, + 34, 38, 39, 40, 41, 42, 91, 106, 93, 4, + 49, 98, 116, 3, 108, 103, 114, 114, 14, 26, + 27, 28, 29, 35, 84, 35, 35, 112, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 116, 4, 107, + 116, 4, 48, 49, 94, 109, 4, 104, 116, 117, + 85, 87, 116, 4, 113, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 4, + 110, 114, 13, 14, 30, 31, 32, 33, 34, 35, + 86, 13, 14, 30, 31, 32, 33, 34, 35, 88, + 116, 6, 5, 114, 95, 114, 114, 69, 116, 3, + 99, 111, 35, 100, 116, 4, 101, 116, 6, 116, + 114 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 62, 63, 64, 64, 65, 65, 65, 65, 65, - 65, 65, 65, 65, 65, 65, 65, 65, 66, 65, - 65, 67, 65, 65, 68, 65, 69, 65, 70, 65, - 71, 65, 72, 65, 73, 65, 74, 65, 75, 65, - 76, 65, 65, 77, 65, 65, 65, 78, 65, 65, - 79, 65, 80, 81, 82, 83, 84, 85, 85, 86, - 86, 86, 86, 86, 86, 87, 87, 88, 88, 88, - 88, 88, 88, 88, 89, 89, 90, 90, 90, 90, - 90, 90, 90, 90, 91, 92, 92, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 94, 95, 95, - 96, 97, 96, 96, 98, 99, 99, 100, 100, 101, - 102, 102, 103, 104, 105, 105, 106, 107, 108, 108, - 109, 110, 111, 111, 112, 113, 114, 114, 115, 115, - 116, 116, 117, 118, 119 + 0, 60, 61, 62, 62, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 64, 63, 63, 65, + 63, 63, 66, 63, 67, 63, 68, 63, 69, 63, + 70, 63, 71, 63, 72, 63, 73, 63, 74, 63, + 63, 75, 63, 63, 63, 76, 63, 63, 77, 63, + 78, 79, 80, 81, 82, 83, 83, 84, 84, 84, + 84, 84, 84, 85, 85, 86, 86, 86, 86, 86, + 86, 86, 87, 87, 88, 88, 88, 88, 88, 88, + 88, 88, 89, 90, 90, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 92, 93, 93, 94, 95, + 94, 94, 96, 97, 97, 98, 98, 99, 100, 100, + 101, 102, 103, 103, 104, 105, 106, 106, 107, 108, + 109, 109, 110, 111, 112, 112, 113, 113, 114, 114, + 115, 116, 117 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 0, 2, 1, 1, 1, 1, 2, - 1, 2, 4, 4, 2, 2, 2, 2, 0, 3, - 1, 0, 3, 1, 0, 3, 0, 3, 0, 3, - 0, 9, 0, 4, 0, 4, 0, 3, 0, 3, - 0, 3, 2, 0, 3, 2, 2, 0, 3, 1, - 0, 3, 1, 2, 2, 6, 6, 0, 2, 1, - 1, 1, 1, 2, 1, 0, 2, 1, 1, 1, - 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 0, 2, 3, 2, 3, + 4, 4, 2, 2, 2, 2, 0, 3, 1, 0, + 3, 1, 0, 3, 0, 3, 0, 3, 0, 9, + 0, 4, 0, 4, 0, 3, 0, 3, 0, 3, + 2, 0, 3, 2, 2, 0, 3, 1, 0, 3, + 1, 2, 2, 6, 6, 0, 2, 1, 1, 1, + 1, 2, 1, 0, 2, 1, 1, 1, 1, 1, + 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 0, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, - 2, 3, 2, 3, 2, 3, 2, 3, 0, 2, - 2, 0, 4, 2, 3, 0, 2, 1, 1, 3, - 0, 2, 2, 3, 0, 2, 1, 3, 0, 2, - 2, 3, 0, 2, 1, 3, 0, 2, 2, 7, - 1, 2, 2, 1, 1 + 2, 3, 2, 3, 2, 3, 0, 2, 2, 0, + 4, 2, 3, 0, 2, 1, 1, 3, 0, 2, + 2, 3, 0, 2, 1, 3, 0, 2, 2, 3, + 0, 2, 1, 3, 0, 2, 2, 7, 1, 2, + 2, 1, 1 }; @@ -1534,55 +1528,37 @@ yyreduce: { case 9: #line 144 "gram.y" /* yacc.c:1646 */ - { if (Scr->FirstTime) - { - Scr->DoZoom = TRUE; - Scr->ZoomCount = (yyvsp[0].num); - } - } -#line 1546 "gram.c" /* yacc.c:1646 */ + {} +#line 1533 "gram.c" /* yacc.c:1646 */ break; case 10: -#line 150 "gram.y" /* yacc.c:1646 */ - { if (Scr->FirstTime) - Scr->DoZoom = TRUE; } -#line 1553 "gram.c" /* yacc.c:1646 */ - break; - - case 11: -#line 152 "gram.y" /* yacc.c:1646 */ - {} -#line 1559 "gram.c" /* yacc.c:1646 */ - break; - - case 12: -#line 153 "gram.y" /* yacc.c:1646 */ +#line 145 "gram.y" /* yacc.c:1646 */ { GotTitleButton ((yyvsp[-2].ptr), (yyvsp[0].num), False); } -#line 1567 "gram.c" /* yacc.c:1646 */ +#line 1541 "gram.c" /* yacc.c:1646 */ break; - case 13: -#line 156 "gram.y" /* yacc.c:1646 */ + case 11: +#line 148 "gram.y" /* yacc.c:1646 */ { GotTitleButton ((yyvsp[-2].ptr), (yyvsp[0].num), True); } -#line 1575 "gram.c" /* yacc.c:1646 */ +#line 1549 "gram.c" /* yacc.c:1646 */ break; - case 14: -#line 159 "gram.y" /* yacc.c:1646 */ + case 12: +#line 151 "gram.y" /* yacc.c:1646 */ { root = GetRoot((yyvsp[0].ptr), NULLSTR, NULLSTR); Scr->Mouse[(yyvsp[-1].num)][C_ROOT][0].func = F_MENU; Scr->Mouse[(yyvsp[-1].num)][C_ROOT][0].menu = root; } -#line 1584 "gram.c" /* yacc.c:1646 */ +#line 1558 "gram.c" /* yacc.c:1646 */ break; - case 15: -#line 163 "gram.y" /* yacc.c:1646 */ + case 13: +#line 155 "gram.y" /* yacc.c:1646 */ { Scr->Mouse[(yyvsp[-1].num)][C_ROOT][0].func = (yyvsp[0].num); if ((yyvsp[0].num) == F_MENU) { @@ -1599,122 +1575,122 @@ yyreduce: Action = ""; pull = NULL; } -#line 1605 "gram.c" /* yacc.c:1646 */ +#line 1579 "gram.c" /* yacc.c:1646 */ + break; + + case 14: +#line 171 "gram.y" /* yacc.c:1646 */ + { GotKey((yyvsp[-1].ptr), (yyvsp[0].num)); } +#line 1585 "gram.c" /* yacc.c:1646 */ + break; + + case 15: +#line 172 "gram.y" /* yacc.c:1646 */ + { GotButton((yyvsp[-1].num), (yyvsp[0].num)); } +#line 1591 "gram.c" /* yacc.c:1646 */ break; case 16: -#line 179 "gram.y" /* yacc.c:1646 */ - { GotKey((yyvsp[-1].ptr), (yyvsp[0].num)); } -#line 1611 "gram.c" /* yacc.c:1646 */ - break; - - case 17: -#line 180 "gram.y" /* yacc.c:1646 */ - { GotButton((yyvsp[-1].num), (yyvsp[0].num)); } -#line 1617 "gram.c" /* yacc.c:1646 */ +#line 173 "gram.y" /* yacc.c:1646 */ + { list = &Scr->NoStackModeL; } +#line 1597 "gram.c" /* yacc.c:1646 */ break; case 18: -#line 181 "gram.y" /* yacc.c:1646 */ - { list = &Scr->NoStackModeL; } -#line 1623 "gram.c" /* yacc.c:1646 */ - break; - - case 20: -#line 183 "gram.y" /* yacc.c:1646 */ +#line 175 "gram.y" /* yacc.c:1646 */ { if (Scr->FirstTime) Scr->StackMode = FALSE; } -#line 1630 "gram.c" /* yacc.c:1646 */ +#line 1604 "gram.c" /* yacc.c:1646 */ + break; + + case 19: +#line 177 "gram.y" /* yacc.c:1646 */ + { list = &Scr->NoTitle; } +#line 1610 "gram.c" /* yacc.c:1646 */ break; case 21: -#line 185 "gram.y" /* yacc.c:1646 */ - { list = &Scr->NoTitle; } -#line 1636 "gram.c" /* yacc.c:1646 */ - break; - - case 23: -#line 187 "gram.y" /* yacc.c:1646 */ +#line 179 "gram.y" /* yacc.c:1646 */ { if (Scr->FirstTime) Scr->NoTitlebar = TRUE; } -#line 1643 "gram.c" /* yacc.c:1646 */ +#line 1617 "gram.c" /* yacc.c:1646 */ + break; + + case 22: +#line 181 "gram.y" /* yacc.c:1646 */ + { list = &Scr->MakeTitle; } +#line 1623 "gram.c" /* yacc.c:1646 */ break; case 24: -#line 189 "gram.y" /* yacc.c:1646 */ - { list = &Scr->MakeTitle; } -#line 1649 "gram.c" /* yacc.c:1646 */ +#line 183 "gram.y" /* yacc.c:1646 */ + { list = &Scr->StartIconified; } +#line 1629 "gram.c" /* yacc.c:1646 */ break; case 26: -#line 191 "gram.y" /* yacc.c:1646 */ - { list = &Scr->StartIconified; } -#line 1655 "gram.c" /* yacc.c:1646 */ +#line 185 "gram.y" /* yacc.c:1646 */ + { list = &Scr->AutoRaise; } +#line 1635 "gram.c" /* yacc.c:1646 */ break; case 28: -#line 193 "gram.y" /* yacc.c:1646 */ - { list = &Scr->AutoRaise; } -#line 1661 "gram.c" /* yacc.c:1646 */ +#line 187 "gram.y" /* yacc.c:1646 */ + { + root = GetRoot((yyvsp[-5].ptr), (yyvsp[-3].ptr), (yyvsp[-1].ptr)); } +#line 1642 "gram.c" /* yacc.c:1646 */ + break; + + case 29: +#line 189 "gram.y" /* yacc.c:1646 */ + { root->real_menu = TRUE;} +#line 1648 "gram.c" /* yacc.c:1646 */ break; case 30: -#line 195 "gram.y" /* yacc.c:1646 */ - { - root = GetRoot((yyvsp[-5].ptr), (yyvsp[-3].ptr), (yyvsp[-1].ptr)); } -#line 1668 "gram.c" /* yacc.c:1646 */ +#line 190 "gram.y" /* yacc.c:1646 */ + { root = GetRoot((yyvsp[0].ptr), NULLSTR, NULLSTR); } +#line 1654 "gram.c" /* yacc.c:1646 */ break; case 31: -#line 197 "gram.y" /* yacc.c:1646 */ - { root->real_menu = TRUE;} -#line 1674 "gram.c" /* yacc.c:1646 */ +#line 191 "gram.y" /* yacc.c:1646 */ + { root->real_menu = TRUE; } +#line 1660 "gram.c" /* yacc.c:1646 */ break; case 32: -#line 198 "gram.y" /* yacc.c:1646 */ +#line 192 "gram.y" /* yacc.c:1646 */ { root = GetRoot((yyvsp[0].ptr), NULLSTR, NULLSTR); } -#line 1680 "gram.c" /* yacc.c:1646 */ - break; - - case 33: -#line 199 "gram.y" /* yacc.c:1646 */ - { root->real_menu = TRUE; } -#line 1686 "gram.c" /* yacc.c:1646 */ +#line 1666 "gram.c" /* yacc.c:1646 */ break; case 34: -#line 200 "gram.y" /* yacc.c:1646 */ - { root = GetRoot((yyvsp[0].ptr), NULLSTR, NULLSTR); } -#line 1692 "gram.c" /* yacc.c:1646 */ +#line 194 "gram.y" /* yacc.c:1646 */ + { list = &Scr->IconNames; } +#line 1672 "gram.c" /* yacc.c:1646 */ break; case 36: -#line 202 "gram.y" /* yacc.c:1646 */ - { list = &Scr->IconNames; } -#line 1698 "gram.c" /* yacc.c:1646 */ +#line 196 "gram.y" /* yacc.c:1646 */ + { color = COLOR; } +#line 1678 "gram.c" /* yacc.c:1646 */ break; case 38: -#line 204 "gram.y" /* yacc.c:1646 */ - { color = COLOR; } -#line 1704 "gram.c" /* yacc.c:1646 */ +#line 198 "gram.y" /* yacc.c:1646 */ + { color = GRAYSCALE; } +#line 1684 "gram.c" /* yacc.c:1646 */ break; - case 40: -#line 206 "gram.y" /* yacc.c:1646 */ - { color = GRAYSCALE; } -#line 1710 "gram.c" /* yacc.c:1646 */ + case 41: +#line 202 "gram.y" /* yacc.c:1646 */ + { color = MONOCHROME; } +#line 1690 "gram.c" /* yacc.c:1646 */ break; case 43: -#line 210 "gram.y" /* yacc.c:1646 */ - { color = MONOCHROME; } -#line 1716 "gram.c" /* yacc.c:1646 */ - break; - - case 45: -#line 212 "gram.y" /* yacc.c:1646 */ +#line 204 "gram.y" /* yacc.c:1646 */ { Scr->DefaultFunction.func = (yyvsp[0].num); if ((yyvsp[0].num) == F_MENU) { @@ -1731,11 +1707,11 @@ yyreduce: Action = ""; pull = NULL; } -#line 1737 "gram.c" /* yacc.c:1646 */ +#line 1711 "gram.c" /* yacc.c:1646 */ break; - case 46: -#line 228 "gram.y" /* yacc.c:1646 */ + case 44: +#line 220 "gram.y" /* yacc.c:1646 */ { Scr->WindowFunction.func = (yyvsp[0].num); root = GetRoot(TWM_ROOT,NULLSTR,NULLSTR); Scr->WindowFunction.item = @@ -1744,30 +1720,30 @@ yyreduce: Action = ""; pull = NULL; } -#line 1750 "gram.c" /* yacc.c:1646 */ +#line 1724 "gram.c" /* yacc.c:1646 */ + break; + + case 45: +#line 228 "gram.y" /* yacc.c:1646 */ + { list = &Scr->WarpCursorL; } +#line 1730 "gram.c" /* yacc.c:1646 */ break; case 47: -#line 236 "gram.y" /* yacc.c:1646 */ - { list = &Scr->WarpCursorL; } -#line 1756 "gram.c" /* yacc.c:1646 */ - break; - - case 49: -#line 238 "gram.y" /* yacc.c:1646 */ +#line 230 "gram.y" /* yacc.c:1646 */ { if (Scr->FirstTime) Scr->WarpCursor = TRUE; } -#line 1763 "gram.c" /* yacc.c:1646 */ +#line 1737 "gram.c" /* yacc.c:1646 */ + break; + + case 48: +#line 232 "gram.y" /* yacc.c:1646 */ + { list = &Scr->WindowRingL; } +#line 1743 "gram.c" /* yacc.c:1646 */ break; case 50: -#line 240 "gram.y" /* yacc.c:1646 */ - { list = &Scr->WindowRingL; } -#line 1769 "gram.c" /* yacc.c:1646 */ - break; - - case 52: -#line 245 "gram.y" /* yacc.c:1646 */ +#line 237 "gram.y" /* yacc.c:1646 */ { if (!do_single_keyword ((yyvsp[0].num))) { twmrc_error_prefix(); fprintf (stderr, @@ -1776,11 +1752,11 @@ yyreduce: ParseError = 1; } } -#line 1782 "gram.c" /* yacc.c:1646 */ +#line 1756 "gram.c" /* yacc.c:1646 */ break; - case 53: -#line 255 "gram.y" /* yacc.c:1646 */ + case 51: +#line 247 "gram.y" /* yacc.c:1646 */ { if (!do_string_keyword ((yyvsp[-1].num), (yyvsp[0].ptr))) { twmrc_error_prefix(); fprintf (stderr, @@ -1789,11 +1765,11 @@ yyreduce: ParseError = 1; } } -#line 1795 "gram.c" /* yacc.c:1646 */ +#line 1769 "gram.c" /* yacc.c:1646 */ break; - case 54: -#line 265 "gram.y" /* yacc.c:1646 */ + case 52: +#line 257 "gram.y" /* yacc.c:1646 */ { if (!do_number_keyword ((yyvsp[-1].num), (yyvsp[0].num))) { twmrc_error_prefix(); fprintf (stderr, @@ -1802,47 +1778,47 @@ yyreduce: ParseError = 1; } } -#line 1808 "gram.c" /* yacc.c:1646 */ +#line 1782 "gram.c" /* yacc.c:1646 */ break; - case 55: -#line 277 "gram.y" /* yacc.c:1646 */ + case 53: +#line 269 "gram.y" /* yacc.c:1646 */ { (yyval.num) = (yyvsp[0].num); } -#line 1814 "gram.c" /* yacc.c:1646 */ +#line 1788 "gram.c" /* yacc.c:1646 */ break; - case 56: + case 54: +#line 272 "gram.y" /* yacc.c:1646 */ + { (yyval.num) = (yyvsp[0].num); } +#line 1794 "gram.c" /* yacc.c:1646 */ + break; + + case 57: +#line 279 "gram.y" /* yacc.c:1646 */ + { mods |= Mod1Mask; } +#line 1800 "gram.c" /* yacc.c:1646 */ + break; + + case 58: #line 280 "gram.y" /* yacc.c:1646 */ - { (yyval.num) = (yyvsp[0].num); } -#line 1820 "gram.c" /* yacc.c:1646 */ + { mods |= ShiftMask; } +#line 1806 "gram.c" /* yacc.c:1646 */ break; case 59: -#line 287 "gram.y" /* yacc.c:1646 */ - { mods |= Mod1Mask; } -#line 1826 "gram.c" /* yacc.c:1646 */ +#line 281 "gram.y" /* yacc.c:1646 */ + { mods |= LockMask; } +#line 1812 "gram.c" /* yacc.c:1646 */ break; case 60: -#line 288 "gram.y" /* yacc.c:1646 */ - { mods |= ShiftMask; } -#line 1832 "gram.c" /* yacc.c:1646 */ +#line 282 "gram.y" /* yacc.c:1646 */ + { mods |= ControlMask; } +#line 1818 "gram.c" /* yacc.c:1646 */ break; case 61: -#line 289 "gram.y" /* yacc.c:1646 */ - { mods |= LockMask; } -#line 1838 "gram.c" /* yacc.c:1646 */ - break; - - case 62: -#line 290 "gram.y" /* yacc.c:1646 */ - { mods |= ControlMask; } -#line 1844 "gram.c" /* yacc.c:1646 */ - break; - - case 63: -#line 291 "gram.y" /* yacc.c:1646 */ +#line 283 "gram.y" /* yacc.c:1646 */ { if ((yyvsp[0].num) < 1 || (yyvsp[0].num) > 5) { twmrc_error_prefix(); fprintf (stderr, @@ -1853,247 +1829,247 @@ yyreduce: mods |= (Mod1Mask << ((yyvsp[0].num) - 1)); } } -#line 1859 "gram.c" /* yacc.c:1646 */ +#line 1833 "gram.c" /* yacc.c:1646 */ break; - case 64: -#line 301 "gram.y" /* yacc.c:1646 */ + case 62: +#line 293 "gram.y" /* yacc.c:1646 */ { } -#line 1865 "gram.c" /* yacc.c:1646 */ +#line 1839 "gram.c" /* yacc.c:1646 */ + break; + + case 65: +#line 300 "gram.y" /* yacc.c:1646 */ + { cont |= C_WINDOW_BIT; } +#line 1845 "gram.c" /* yacc.c:1646 */ + break; + + case 66: +#line 301 "gram.y" /* yacc.c:1646 */ + { cont |= C_TITLE_BIT; } +#line 1851 "gram.c" /* yacc.c:1646 */ break; case 67: -#line 308 "gram.y" /* yacc.c:1646 */ - { cont |= C_WINDOW_BIT; } -#line 1871 "gram.c" /* yacc.c:1646 */ +#line 302 "gram.y" /* yacc.c:1646 */ + { cont |= C_ICON_BIT; } +#line 1857 "gram.c" /* yacc.c:1646 */ break; case 68: -#line 309 "gram.y" /* yacc.c:1646 */ - { cont |= C_TITLE_BIT; } -#line 1877 "gram.c" /* yacc.c:1646 */ +#line 303 "gram.y" /* yacc.c:1646 */ + { cont |= C_ROOT_BIT; } +#line 1863 "gram.c" /* yacc.c:1646 */ break; case 69: -#line 310 "gram.y" /* yacc.c:1646 */ - { cont |= C_ICON_BIT; } -#line 1883 "gram.c" /* yacc.c:1646 */ +#line 304 "gram.y" /* yacc.c:1646 */ + { cont |= C_FRAME_BIT; } +#line 1869 "gram.c" /* yacc.c:1646 */ break; case 70: -#line 311 "gram.y" /* yacc.c:1646 */ - { cont |= C_ROOT_BIT; } -#line 1889 "gram.c" /* yacc.c:1646 */ +#line 305 "gram.y" /* yacc.c:1646 */ + { cont |= C_ALL_BITS; } +#line 1875 "gram.c" /* yacc.c:1646 */ break; case 71: -#line 312 "gram.y" /* yacc.c:1646 */ - { cont |= C_FRAME_BIT; } -#line 1895 "gram.c" /* yacc.c:1646 */ - break; - - case 72: -#line 313 "gram.y" /* yacc.c:1646 */ - { cont |= C_ALL_BITS; } -#line 1901 "gram.c" /* yacc.c:1646 */ - break; - - case 73: -#line 314 "gram.y" /* yacc.c:1646 */ +#line 306 "gram.y" /* yacc.c:1646 */ { } -#line 1907 "gram.c" /* yacc.c:1646 */ +#line 1881 "gram.c" /* yacc.c:1646 */ + break; + + case 74: +#line 313 "gram.y" /* yacc.c:1646 */ + { cont |= C_WINDOW_BIT; } +#line 1887 "gram.c" /* yacc.c:1646 */ + break; + + case 75: +#line 314 "gram.y" /* yacc.c:1646 */ + { cont |= C_TITLE_BIT; } +#line 1893 "gram.c" /* yacc.c:1646 */ break; case 76: -#line 321 "gram.y" /* yacc.c:1646 */ - { cont |= C_WINDOW_BIT; } -#line 1913 "gram.c" /* yacc.c:1646 */ +#line 315 "gram.y" /* yacc.c:1646 */ + { cont |= C_ICON_BIT; } +#line 1899 "gram.c" /* yacc.c:1646 */ break; case 77: -#line 322 "gram.y" /* yacc.c:1646 */ - { cont |= C_TITLE_BIT; } -#line 1919 "gram.c" /* yacc.c:1646 */ +#line 316 "gram.y" /* yacc.c:1646 */ + { cont |= C_ROOT_BIT; } +#line 1905 "gram.c" /* yacc.c:1646 */ break; case 78: -#line 323 "gram.y" /* yacc.c:1646 */ - { cont |= C_ICON_BIT; } -#line 1925 "gram.c" /* yacc.c:1646 */ +#line 317 "gram.y" /* yacc.c:1646 */ + { cont |= C_FRAME_BIT; } +#line 1911 "gram.c" /* yacc.c:1646 */ break; case 79: -#line 324 "gram.y" /* yacc.c:1646 */ - { cont |= C_ROOT_BIT; } -#line 1931 "gram.c" /* yacc.c:1646 */ +#line 318 "gram.y" /* yacc.c:1646 */ + { cont |= C_ALL_BITS; } +#line 1917 "gram.c" /* yacc.c:1646 */ break; case 80: -#line 325 "gram.y" /* yacc.c:1646 */ - { cont |= C_FRAME_BIT; } -#line 1937 "gram.c" /* yacc.c:1646 */ +#line 319 "gram.y" /* yacc.c:1646 */ + { } +#line 1923 "gram.c" /* yacc.c:1646 */ break; case 81: -#line 326 "gram.y" /* yacc.c:1646 */ - { cont |= C_ALL_BITS; } +#line 320 "gram.y" /* yacc.c:1646 */ + { Name = (yyvsp[0].ptr); cont |= C_NAME_BIT; } +#line 1929 "gram.c" /* yacc.c:1646 */ + break; + + case 85: +#line 330 "gram.y" /* yacc.c:1646 */ + { + NewBitmapCursor(&Scr->FrameCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } +#line 1936 "gram.c" /* yacc.c:1646 */ + break; + + case 86: +#line 332 "gram.y" /* yacc.c:1646 */ + { + NewFontCursor(&Scr->FrameCursor, (yyvsp[0].ptr)); } #line 1943 "gram.c" /* yacc.c:1646 */ break; - case 82: -#line 327 "gram.y" /* yacc.c:1646 */ - { } -#line 1949 "gram.c" /* yacc.c:1646 */ - break; - - case 83: -#line 328 "gram.y" /* yacc.c:1646 */ - { Name = (yyvsp[0].ptr); cont |= C_NAME_BIT; } -#line 1955 "gram.c" /* yacc.c:1646 */ - break; - case 87: -#line 338 "gram.y" /* yacc.c:1646 */ +#line 334 "gram.y" /* yacc.c:1646 */ { - NewBitmapCursor(&Scr->FrameCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 1962 "gram.c" /* yacc.c:1646 */ + NewBitmapCursor(&Scr->TitleCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } +#line 1950 "gram.c" /* yacc.c:1646 */ break; case 88: -#line 340 "gram.y" /* yacc.c:1646 */ +#line 336 "gram.y" /* yacc.c:1646 */ { - NewFontCursor(&Scr->FrameCursor, (yyvsp[0].ptr)); } -#line 1969 "gram.c" /* yacc.c:1646 */ + NewFontCursor(&Scr->TitleCursor, (yyvsp[0].ptr)); } +#line 1957 "gram.c" /* yacc.c:1646 */ break; case 89: -#line 342 "gram.y" /* yacc.c:1646 */ +#line 338 "gram.y" /* yacc.c:1646 */ { - NewBitmapCursor(&Scr->TitleCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 1976 "gram.c" /* yacc.c:1646 */ + NewBitmapCursor(&Scr->IconCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } +#line 1964 "gram.c" /* yacc.c:1646 */ break; case 90: -#line 344 "gram.y" /* yacc.c:1646 */ +#line 340 "gram.y" /* yacc.c:1646 */ { - NewFontCursor(&Scr->TitleCursor, (yyvsp[0].ptr)); } -#line 1983 "gram.c" /* yacc.c:1646 */ + NewFontCursor(&Scr->IconCursor, (yyvsp[0].ptr)); } +#line 1971 "gram.c" /* yacc.c:1646 */ break; case 91: -#line 346 "gram.y" /* yacc.c:1646 */ +#line 342 "gram.y" /* yacc.c:1646 */ { - NewBitmapCursor(&Scr->IconCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 1990 "gram.c" /* yacc.c:1646 */ + NewBitmapCursor(&Scr->ButtonCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } +#line 1978 "gram.c" /* yacc.c:1646 */ break; case 92: -#line 348 "gram.y" /* yacc.c:1646 */ +#line 344 "gram.y" /* yacc.c:1646 */ { - NewFontCursor(&Scr->IconCursor, (yyvsp[0].ptr)); } -#line 1997 "gram.c" /* yacc.c:1646 */ + NewFontCursor(&Scr->ButtonCursor, (yyvsp[0].ptr)); } +#line 1985 "gram.c" /* yacc.c:1646 */ break; case 93: -#line 350 "gram.y" /* yacc.c:1646 */ +#line 346 "gram.y" /* yacc.c:1646 */ { - NewBitmapCursor(&Scr->ButtonCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 2004 "gram.c" /* yacc.c:1646 */ + NewBitmapCursor(&Scr->MoveCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } +#line 1992 "gram.c" /* yacc.c:1646 */ break; case 94: -#line 352 "gram.y" /* yacc.c:1646 */ +#line 348 "gram.y" /* yacc.c:1646 */ { - NewFontCursor(&Scr->ButtonCursor, (yyvsp[0].ptr)); } -#line 2011 "gram.c" /* yacc.c:1646 */ + NewFontCursor(&Scr->MoveCursor, (yyvsp[0].ptr)); } +#line 1999 "gram.c" /* yacc.c:1646 */ break; case 95: -#line 354 "gram.y" /* yacc.c:1646 */ +#line 350 "gram.y" /* yacc.c:1646 */ { - NewBitmapCursor(&Scr->MoveCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 2018 "gram.c" /* yacc.c:1646 */ + NewBitmapCursor(&Scr->ResizeCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } +#line 2006 "gram.c" /* yacc.c:1646 */ break; case 96: -#line 356 "gram.y" /* yacc.c:1646 */ +#line 352 "gram.y" /* yacc.c:1646 */ { - NewFontCursor(&Scr->MoveCursor, (yyvsp[0].ptr)); } -#line 2025 "gram.c" /* yacc.c:1646 */ + NewFontCursor(&Scr->ResizeCursor, (yyvsp[0].ptr)); } +#line 2013 "gram.c" /* yacc.c:1646 */ break; case 97: -#line 358 "gram.y" /* yacc.c:1646 */ +#line 354 "gram.y" /* yacc.c:1646 */ { - NewBitmapCursor(&Scr->ResizeCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 2032 "gram.c" /* yacc.c:1646 */ + NewBitmapCursor(&Scr->WaitCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } +#line 2020 "gram.c" /* yacc.c:1646 */ break; case 98: -#line 360 "gram.y" /* yacc.c:1646 */ +#line 356 "gram.y" /* yacc.c:1646 */ { - NewFontCursor(&Scr->ResizeCursor, (yyvsp[0].ptr)); } -#line 2039 "gram.c" /* yacc.c:1646 */ + NewFontCursor(&Scr->WaitCursor, (yyvsp[0].ptr)); } +#line 2027 "gram.c" /* yacc.c:1646 */ break; case 99: -#line 362 "gram.y" /* yacc.c:1646 */ +#line 358 "gram.y" /* yacc.c:1646 */ { - NewBitmapCursor(&Scr->WaitCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 2046 "gram.c" /* yacc.c:1646 */ + NewBitmapCursor(&Scr->MenuCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } +#line 2034 "gram.c" /* yacc.c:1646 */ break; case 100: -#line 364 "gram.y" /* yacc.c:1646 */ +#line 360 "gram.y" /* yacc.c:1646 */ { - NewFontCursor(&Scr->WaitCursor, (yyvsp[0].ptr)); } -#line 2053 "gram.c" /* yacc.c:1646 */ + NewFontCursor(&Scr->MenuCursor, (yyvsp[0].ptr)); } +#line 2041 "gram.c" /* yacc.c:1646 */ break; case 101: -#line 366 "gram.y" /* yacc.c:1646 */ +#line 362 "gram.y" /* yacc.c:1646 */ { - NewBitmapCursor(&Scr->MenuCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 2060 "gram.c" /* yacc.c:1646 */ + NewBitmapCursor(&Scr->SelectCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } +#line 2048 "gram.c" /* yacc.c:1646 */ break; case 102: -#line 368 "gram.y" /* yacc.c:1646 */ +#line 364 "gram.y" /* yacc.c:1646 */ { - NewFontCursor(&Scr->MenuCursor, (yyvsp[0].ptr)); } -#line 2067 "gram.c" /* yacc.c:1646 */ + NewFontCursor(&Scr->SelectCursor, (yyvsp[0].ptr)); } +#line 2055 "gram.c" /* yacc.c:1646 */ break; case 103: -#line 370 "gram.y" /* yacc.c:1646 */ +#line 366 "gram.y" /* yacc.c:1646 */ { - NewBitmapCursor(&Scr->SelectCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 2074 "gram.c" /* yacc.c:1646 */ + NewBitmapCursor(&Scr->DestroyCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } +#line 2062 "gram.c" /* yacc.c:1646 */ break; case 104: -#line 372 "gram.y" /* yacc.c:1646 */ - { - NewFontCursor(&Scr->SelectCursor, (yyvsp[0].ptr)); } -#line 2081 "gram.c" /* yacc.c:1646 */ - break; - - case 105: -#line 374 "gram.y" /* yacc.c:1646 */ - { - NewBitmapCursor(&Scr->DestroyCursor, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 2088 "gram.c" /* yacc.c:1646 */ - break; - - case 106: -#line 376 "gram.y" /* yacc.c:1646 */ +#line 368 "gram.y" /* yacc.c:1646 */ { NewFontCursor(&Scr->DestroyCursor, (yyvsp[0].ptr)); } -#line 2095 "gram.c" /* yacc.c:1646 */ +#line 2069 "gram.c" /* yacc.c:1646 */ break; - case 110: -#line 388 "gram.y" /* yacc.c:1646 */ + case 108: +#line 380 "gram.y" /* yacc.c:1646 */ { if (!do_colorlist_keyword ((yyvsp[-1].num), color, (yyvsp[0].ptr))) { twmrc_error_prefix(); @@ -2103,11 +2079,11 @@ yyreduce: ParseError = 1; } } -#line 2109 "gram.c" /* yacc.c:1646 */ +#line 2083 "gram.c" /* yacc.c:1646 */ break; - case 111: -#line 397 "gram.y" /* yacc.c:1646 */ + case 109: +#line 389 "gram.y" /* yacc.c:1646 */ { list = do_colorlist_keyword((yyvsp[-1].num), color, (yyvsp[0].ptr)); if (!list) { @@ -2118,17 +2094,17 @@ yyreduce: ParseError = 1; } } -#line 2124 "gram.c" /* yacc.c:1646 */ +#line 2098 "gram.c" /* yacc.c:1646 */ break; - case 112: -#line 407 "gram.y" /* yacc.c:1646 */ + case 110: +#line 399 "gram.y" /* yacc.c:1646 */ { /* No action */; } -#line 2130 "gram.c" /* yacc.c:1646 */ +#line 2104 "gram.c" /* yacc.c:1646 */ break; - case 113: -#line 408 "gram.y" /* yacc.c:1646 */ + case 111: +#line 400 "gram.y" /* yacc.c:1646 */ { if (!do_color_keyword ((yyvsp[-1].num), color, (yyvsp[0].ptr))) { twmrc_error_prefix(); @@ -2138,81 +2114,81 @@ yyreduce: ParseError = 1; } } -#line 2144 "gram.c" /* yacc.c:1646 */ +#line 2118 "gram.c" /* yacc.c:1646 */ break; - case 117: -#line 426 "gram.y" /* yacc.c:1646 */ + case 115: +#line 418 "gram.y" /* yacc.c:1646 */ { do_string_savecolor(color, (yyvsp[0].ptr)); } -#line 2150 "gram.c" /* yacc.c:1646 */ +#line 2124 "gram.c" /* yacc.c:1646 */ break; - case 118: -#line 427 "gram.y" /* yacc.c:1646 */ + case 116: +#line 419 "gram.y" /* yacc.c:1646 */ { do_var_savecolor((yyvsp[0].num)); } -#line 2156 "gram.c" /* yacc.c:1646 */ +#line 2130 "gram.c" /* yacc.c:1646 */ break; - case 122: -#line 437 "gram.y" /* yacc.c:1646 */ + case 120: +#line 429 "gram.y" /* yacc.c:1646 */ { if (Scr->FirstTime && color == Scr->Monochrome) AddToList(list, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 2164 "gram.c" /* yacc.c:1646 */ +#line 2138 "gram.c" /* yacc.c:1646 */ break; - case 126: -#line 449 "gram.y" /* yacc.c:1646 */ + case 124: +#line 441 "gram.y" /* yacc.c:1646 */ { if (Scr->FirstTime) AddToList(list, (yyvsp[0].ptr), 0); } -#line 2172 "gram.c" /* yacc.c:1646 */ +#line 2146 "gram.c" /* yacc.c:1646 */ break; - case 130: -#line 461 "gram.y" /* yacc.c:1646 */ + case 128: +#line 453 "gram.y" /* yacc.c:1646 */ { if (Scr->FirstTime) AddToList(list, (yyvsp[-1].ptr), (yyvsp[0].ptr)); } -#line 2178 "gram.c" /* yacc.c:1646 */ +#line 2152 "gram.c" /* yacc.c:1646 */ break; - case 134: -#line 471 "gram.y" /* yacc.c:1646 */ + case 132: +#line 463 "gram.y" /* yacc.c:1646 */ { AddToMenu(root, "", Action, NULL, (yyvsp[0].num), NULLSTR, NULLSTR); Action = ""; } -#line 2187 "gram.c" /* yacc.c:1646 */ +#line 2161 "gram.c" /* yacc.c:1646 */ break; - case 138: -#line 484 "gram.y" /* yacc.c:1646 */ + case 136: +#line 476 "gram.y" /* yacc.c:1646 */ { AddToMenu(root, (yyvsp[-1].ptr), Action, pull, (yyvsp[0].num), NULLSTR, NULLSTR); Action = ""; pull = NULL; } -#line 2197 "gram.c" /* yacc.c:1646 */ +#line 2171 "gram.c" /* yacc.c:1646 */ break; - case 139: -#line 489 "gram.y" /* yacc.c:1646 */ + case 137: +#line 481 "gram.y" /* yacc.c:1646 */ { AddToMenu(root, (yyvsp[-6].ptr), Action, pull, (yyvsp[0].num), (yyvsp[-4].ptr), (yyvsp[-2].ptr)); Action = ""; pull = NULL; } -#line 2208 "gram.c" /* yacc.c:1646 */ +#line 2182 "gram.c" /* yacc.c:1646 */ break; - case 140: -#line 497 "gram.y" /* yacc.c:1646 */ + case 138: +#line 489 "gram.y" /* yacc.c:1646 */ { (yyval.num) = (yyvsp[0].num); } -#line 2214 "gram.c" /* yacc.c:1646 */ +#line 2188 "gram.c" /* yacc.c:1646 */ break; - case 141: -#line 498 "gram.y" /* yacc.c:1646 */ + case 139: +#line 490 "gram.y" /* yacc.c:1646 */ { (yyval.num) = (yyvsp[-1].num); Action = (yyvsp[0].ptr); @@ -2251,11 +2227,11 @@ yyreduce: break; } /* end switch */ } -#line 2257 "gram.c" /* yacc.c:1646 */ +#line 2231 "gram.c" /* yacc.c:1646 */ break; - case 142: -#line 544 "gram.y" /* yacc.c:1646 */ + case 140: +#line 536 "gram.y" /* yacc.c:1646 */ { (yyval.num) = (yyvsp[0].num); if ((yyvsp[0].num) == 0) yyerror("bad button 0"); @@ -2266,26 +2242,26 @@ yyreduce: yyerror("button number too large"); } } -#line 2272 "gram.c" /* yacc.c:1646 */ +#line 2246 "gram.c" /* yacc.c:1646 */ break; - case 143: -#line 556 "gram.y" /* yacc.c:1646 */ + case 141: +#line 548 "gram.y" /* yacc.c:1646 */ { ptr = strdup((yyvsp[0].ptr)); RemoveDQuote(ptr); (yyval.ptr) = ptr; } -#line 2281 "gram.c" /* yacc.c:1646 */ +#line 2255 "gram.c" /* yacc.c:1646 */ break; - case 144: -#line 561 "gram.y" /* yacc.c:1646 */ + case 142: +#line 553 "gram.y" /* yacc.c:1646 */ { (yyval.num) = (yyvsp[0].num); } -#line 2287 "gram.c" /* yacc.c:1646 */ +#line 2261 "gram.c" /* yacc.c:1646 */ break; -#line 2291 "gram.c" /* yacc.c:1646 */ +#line 2265 "gram.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -2513,7 +2489,7 @@ yyreturn: #endif return yyresult; } -#line 564 "gram.y" /* yacc.c:1906 */ +#line 556 "gram.y" /* yacc.c:1906 */ static void yyerror(const char *s) diff --git a/src/gram.h b/src/gram.h index 94bb1ee..c1c0e69 100644 --- a/src/gram.h +++ b/src/gram.h @@ -64,45 +64,44 @@ extern int yydebug; MONOCHROME = 274, FUNCTION = 275, WINDOW_FUNCTION = 276, - ZOOM = 277, - MAKE_TITLE = 278, - GRAYSCALE = 279, - NO_TITLE = 280, - AUTO_RAISE = 281, - META = 283, - SHIFT = 284, - LOCK = 285, - CONTROL = 286, - WINDOW = 287, - TITLE = 288, - ICON = 289, - ROOT = 290, - FRAME = 291, - COLON = 292, - EQUALS = 293, - START_ICONIFIED = 294, - MOVE = 295, - RESIZE = 296, - WAIT = 297, - SELECT = 298, - KILL = 299, - LEFT_TITLEBUTTON = 300, - RIGHT_TITLEBUTTON = 301, - NUMBER = 302, - KEYWORD = 303, - NKEYWORD = 304, - CKEYWORD = 305, - CLKEYWORD = 306, - FKEYWORD = 307, - FSKEYWORD = 308, - SKEYWORD = 309, - DKEYWORD = 310, - JKEYWORD = 311, - WINDOW_RING = 312, - WARP_CURSOR = 313, - ERRORTOKEN = 314, - NO_STACKMODE = 315, - STRING = 316 + MAKE_TITLE = 277, + GRAYSCALE = 278, + NO_TITLE = 279, + AUTO_RAISE = 280, + META = 281, + SHIFT = 282, + LOCK = 283, + CONTROL = 284, + WINDOW = 285, + TITLE = 286, + ICON = 287, + ROOT = 288, + FRAME = 289, + COLON = 290, + EQUALS = 291, + START_ICONIFIED = 292, + MOVE = 293, + RESIZE = 294, + WAIT = 295, + SELECT = 296, + KILL = 297, + LEFT_TITLEBUTTON = 298, + RIGHT_TITLEBUTTON = 299, + NUMBER = 300, + KEYWORD = 301, + NKEYWORD = 302, + CKEYWORD = 303, + CLKEYWORD = 304, + FKEYWORD = 305, + FSKEYWORD = 306, + SKEYWORD = 307, + DKEYWORD = 308, + JKEYWORD = 309, + WINDOW_RING = 310, + WARP_CURSOR = 311, + ERRORTOKEN = 312, + NO_STACKMODE = 313, + STRING = 314 }; #endif /* Tokens. */ @@ -125,45 +124,44 @@ extern int yydebug; #define MONOCHROME 274 #define FUNCTION 275 #define WINDOW_FUNCTION 276 -#define ZOOM 277 -#define MAKE_TITLE 278 -#define GRAYSCALE 279 -#define NO_TITLE 280 -#define AUTO_RAISE 281 -#define META 283 -#define SHIFT 284 -#define LOCK 285 -#define CONTROL 286 -#define WINDOW 287 -#define TITLE 288 -#define ICON 289 -#define ROOT 290 -#define FRAME 291 -#define COLON 292 -#define EQUALS 293 -#define START_ICONIFIED 294 -#define MOVE 295 -#define RESIZE 296 -#define WAIT 297 -#define SELECT 298 -#define KILL 299 -#define LEFT_TITLEBUTTON 300 -#define RIGHT_TITLEBUTTON 301 -#define NUMBER 302 -#define KEYWORD 303 -#define NKEYWORD 304 -#define CKEYWORD 305 -#define CLKEYWORD 306 -#define FKEYWORD 307 -#define FSKEYWORD 308 -#define SKEYWORD 309 -#define DKEYWORD 310 -#define JKEYWORD 311 -#define WINDOW_RING 312 -#define WARP_CURSOR 313 -#define ERRORTOKEN 314 -#define NO_STACKMODE 315 -#define STRING 316 +#define MAKE_TITLE 277 +#define GRAYSCALE 278 +#define NO_TITLE 279 +#define AUTO_RAISE 280 +#define META 281 +#define SHIFT 282 +#define LOCK 283 +#define CONTROL 284 +#define WINDOW 285 +#define TITLE 286 +#define ICON 287 +#define ROOT 288 +#define FRAME 289 +#define COLON 290 +#define EQUALS 291 +#define START_ICONIFIED 292 +#define MOVE 293 +#define RESIZE 294 +#define WAIT 295 +#define SELECT 296 +#define KILL 297 +#define LEFT_TITLEBUTTON 298 +#define RIGHT_TITLEBUTTON 299 +#define NUMBER 300 +#define KEYWORD 301 +#define NKEYWORD 302 +#define CKEYWORD 303 +#define CLKEYWORD 304 +#define FKEYWORD 305 +#define FSKEYWORD 306 +#define SKEYWORD 307 +#define DKEYWORD 308 +#define JKEYWORD 309 +#define WINDOW_RING 310 +#define WARP_CURSOR 311 +#define ERRORTOKEN 312 +#define NO_STACKMODE 313 +#define STRING 314 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -175,7 +173,7 @@ union YYSTYPE int num; char *ptr; -#line 181 "gram.h" /* yacc.c:1909 */ +#line 177 "gram.h" /* yacc.c:1909 */ }; typedef union YYSTYPE YYSTYPE; diff --git a/src/gram.y b/src/gram.y index 3a66402..9ad6807 100644 --- a/src/gram.y +++ b/src/gram.y @@ -110,7 +110,7 @@ static void yyerror ( const char *s ); %token LB RB LP RP MENUS MENU BUTTON DEFAULT_FUNCTION PLUS MINUS %token ALL OR CURSORS ICONS COLOR SAVECOLOR MONOCHROME FUNCTION -%token WINDOW_FUNCTION ZOOM +%token WINDOW_FUNCTION %token MAKE_TITLE GRAYSCALE %token NO_TITLE AUTO_RAISE %token META SHIFT LOCK CONTROL WINDOW TITLE ICON ROOT FRAME @@ -141,14 +141,6 @@ stmt : error | noarg | sarg | narg - | ZOOM number { if (Scr->FirstTime) - { - Scr->DoZoom = TRUE; - Scr->ZoomCount = $2; - } - } - | ZOOM { if (Scr->FirstTime) - Scr->DoZoom = TRUE; } | CURSORS cursor_list {} | LEFT_TITLEBUTTON string EQUALS action { GotTitleButton ($2, $4, False); diff --git a/src/menus.cc b/src/menus.cc index b9ddb85..5b2bba3 100644 --- a/src/menus.cc +++ b/src/menus.cc @@ -2236,24 +2236,6 @@ DeIconify(TwmWindow *tmp_win) { TwmWindow *t; - /* de-iconify the main window */ - if (tmp_win->icon) - { - if (tmp_win->icon_on) - Zoom(tmp_win->icon_w, tmp_win->frame); - else if (tmp_win->group != (Window) 0) - { - for (t = Scr->TwmRoot.next; t != NULL; t = t->next) - { - if (tmp_win->group == t->w && t->icon_on) - { - Zoom(t->icon_w, tmp_win->frame); - break; - } - } - } - } - XMapWindow(dpy, tmp_win->w); tmp_win->mapped = TRUE; if (Scr->NoRaiseDeicon) @@ -2274,30 +2256,25 @@ DeIconify(TwmWindow *tmp_win) /* now de-iconify transients */ - for (t = Scr->TwmRoot.next; t != NULL; t = t->next) + for (t = Scr->TwmRoot.next; t != NULL; t = t->next) + { + if (t->transient && t->transientfor == tmp_win->w) { - if (t->transient && t->transientfor == tmp_win->w) - { - if (t->icon_on) - Zoom(t->icon_w, t->frame); - else - Zoom(tmp_win->icon_w, t->frame); - - XMapWindow(dpy, t->w); - t->mapped = TRUE; - if (Scr->NoRaiseDeicon) + XMapWindow(dpy, t->w); + t->mapped = TRUE; + if (Scr->NoRaiseDeicon) XMapWindow(dpy, t->frame); - else + else XMapRaised(dpy, t->frame); - SetMapStateProp(t, NormalState); + SetMapStateProp(t, NormalState); - if (t->icon_w) { + if (t->icon_w) { XUnmapWindow(dpy, t->icon_w); - } - t->icon = FALSE; - t->icon_on = FALSE; } + t->icon = FALSE; + t->icon_on = FALSE; } + } XSync (dpy, 0); } @@ -2320,14 +2297,9 @@ Iconify(TwmWindow *tmp_win, int def_x, int def_y) /* iconify transients first */ for (t = Scr->TwmRoot.next; t != NULL; t = t->next) - { + { if (t->transient && t->transientfor == tmp_win->w) - { - if (t->icon_on) - Zoom(t->icon_w, tmp_win->icon_w); - else - Zoom(t->frame, tmp_win->icon_w); - + { /* * Prevent the receipt of an UnmapNotify, since that would * cause a transition to the Withdrawn state. @@ -2338,21 +2310,19 @@ Iconify(TwmWindow *tmp_win, int def_x, int def_y) XSelectInput(dpy, t->w, eventMask); XUnmapWindow(dpy, t->frame); if (t->icon_w) - XUnmapWindow(dpy, t->icon_w); + XUnmapWindow(dpy, t->icon_w); SetMapStateProp(t, IconicState); SetBorder(t, False); if (t == Scr->Focus) - { + { SetFocus ((TwmWindow *) NULL, LastTimestamp()); Scr->Focus = NULL; Scr->FocusRoot = TRUE; - } + } t->icon = TRUE; t->icon_on = FALSE; - } - } - - Zoom(tmp_win->frame, tmp_win->icon_w); + } + } /* * Prevent the receipt of an UnmapNotify, since that would diff --git a/src/parse.c b/src/parse.c index 77d722d..512732d 100644 --- a/src/parse.c +++ b/src/parse.c @@ -523,7 +523,6 @@ static TwmKeyword keytable[] = { { "windowfunction", WINDOW_FUNCTION, 0 }, { "windowring", WINDOW_RING, 0 }, { "xorvalue", NKEYWORD, kwn_XorValue }, - { "zoom", ZOOM, 0 }, }; static int numkeywords = (sizeof(keytable)/sizeof(keytable[0])); diff --git a/src/screen.h b/src/screen.h index 7f2c90b..63d6623 100644 --- a/src/screen.h +++ b/src/screen.h @@ -198,7 +198,6 @@ typedef struct ScreenInfo short NoRaiseDeicon; /* don't raise window on deiconify */ short NoRaiseWarp; /* don't raise window on warp */ short DontMoveOff; /* don't allow windows to be moved off */ - short DoZoom; /* zoom in and out of icons */ short TitleFocus; /* focus on window in title bar ? */ short NoTitlebar; /* put title bars on windows */ short DecorateTransients; /* put title bars on transients */ @@ -206,7 +205,6 @@ typedef struct ScreenInfo short SaveUnder; /* use save under's for menus */ short StackMode; /* should we honor stack mode requests */ short MoveDelta; /* number of pixels before f.move starts */ - short ZoomCount; /* zoom outline count */ short Shadow; /* show the menu shadow */ short InterpolateMenuColors;/* make pretty menus */ short HaveFonts; /* set if fonts have been loaded */ diff --git a/src/twm.c b/src/twm.c index 225265c..3dd6471 100644 --- a/src/twm.c +++ b/src/twm.c @@ -708,7 +708,6 @@ InitVariables(void) Scr->NoRaiseDeicon = FALSE; Scr->NoRaiseWarp = FALSE; Scr->DontMoveOff = FALSE; - Scr->DoZoom = FALSE; Scr->TitleFocus = TRUE; Scr->NoTitlebar = FALSE; Scr->DecorateTransients = FALSE; @@ -716,7 +715,6 @@ InitVariables(void) Scr->SaveUnder = TRUE; Scr->StackMode = TRUE; Scr->MoveDelta = 1; /* so that f.deltastop will work */ - Scr->ZoomCount = 8; Scr->Shadow = TRUE; Scr->InterpolateMenuColors = FALSE; Scr->FirstTime = TRUE; diff --git a/src/util.c b/src/util.c index fd17771..a55ab3d 100644 --- a/src/util.c +++ b/src/util.c @@ -202,51 +202,6 @@ void MoveOutline(Window root, int x, int y, int width, int height, int bw, int t } } -/** - * zoom in or out of an icon - * - * \param wf window to zoom from - * \param wt window to zoom to - */ -void -Zoom(Window wf, Window wt) -{ - int fx, fy, tx, ty; /* from, to */ - unsigned int fw, fh, tw, th; /* from, to */ - long dx, dy, dw, dh; - long z; - int j; - - if (!Scr->DoZoom || Scr->ZoomCount < 1) return; - - if (wf == None || wt == None) return; - - XGetGeometry (dpy, wf, &JunkRoot, &fx, &fy, &fw, &fh, &JunkBW, &JunkDepth); - XGetGeometry (dpy, wt, &JunkRoot, &tx, &ty, &tw, &th, &JunkBW, &JunkDepth); - - dx = ((long) (tx - fx)); /* going from -> to */ - dy = ((long) (ty - fy)); /* going from -> to */ - dw = ((long) (tw - fw)); /* going from -> to */ - dh = ((long) (th - fh)); /* going from -> to */ - z = (long) (Scr->ZoomCount + 1); - - for (j = 0; j < 2; j++) { - long i; - - XDrawRectangle (dpy, Scr->Root, Scr->DrawGC, fx, fy, fw, fh); - for (i = 1; i < z; i++) { - int x = fx + (int) ((dx * i) / z); - int y = fy + (int) ((dy * i) / z); - unsigned width = (unsigned) (((long) fw) + (dw * i) / z); - unsigned height = (unsigned) (((long) fh) + (dh * i) / z); - - XDrawRectangle (dpy, Scr->Root, Scr->DrawGC, - x, y, width, height); - } - XDrawRectangle (dpy, Scr->Root, Scr->DrawGC, tx, ty, tw, th); - } -} - /** * expand the tilde character to HOME if it is the first * character of the filename diff --git a/src/util.h b/src/util.h index 6de63c7..fef0bcc 100644 --- a/src/util.h +++ b/src/util.h @@ -69,7 +69,6 @@ in this Software without prior written authorization from The Open Group. EXTERN void MoveOutline ( Window root, int x, int y, int width, int height, int bw, int th ); -EXTERN void Zoom ( Window wf, Window wt ); EXTERN const char * ExpandFilename ( const char *name ); EXTERN Pixmap CreateMenuIcon( int height, unsigned int *widthp, unsigned int *heightp ); EXTERN void GetUnknownIcon( const char *name );