diff --git a/man/twmruined.man b/man/twmruined.man index 309fc79..14d3f82 100644 --- a/man/twmruined.man +++ b/man/twmruined.man @@ -361,10 +361,6 @@ information windows. The default is "white". .IP "\fBDefaultForeground\fP \fIstring\fP" 8 This variable specifies the foreground color to be used for sizing and information windows. The default is "black". -.IP "\fBDontIconifyByUnmapping\fP { \fIwin-list\fP }" 8 -This variable specifies a list of windows that should not be iconified by -simply unmapping the window (as would be the case if \fBIconifyByUnmapping\fP -had been set). .IP "\fBDontMoveOff\fP" 8 This variable indicates that windows should not be allowed to be moved off the screen. It can be overridden by the \fBf.forcemove\fP function. @@ -414,15 +410,6 @@ The optional \fIwin-list\fP is a list of window names and colors so that per-window colors may be specified. See the \fBBorderColor\fP variable for a complete description of the \fIwin-list\fP. The default is "black". -.IP "\fBIconifyByUnmapping [{ \fIwin-list\fP }]\fP" 8 -This variable indicates that windows should be iconified by being unmapped -without trying to map any icons. This assumes that the user will -remap the window through the \fBf.warpto\fP function, or -the \fITwmWindows\fP menu. -If the optional \fIwin-list\fP is provided, only those windows will be -iconified by simply unmapping. Windows that have this -option set may not be accessible if no binding -to the \fITwmWindows\fP menu is set in the user's startup file. .IP "\fBIconRegion\fP \fIgeomstring\fP \fIvgrav hgrav gridwidth gridheight\fP" This variable specifies an area on the root window in which icons are placed if no specific icon location is provided by the client. The \fIgeomstring\fP @@ -447,8 +434,7 @@ should be used as their icons. For example: "xfd" "xfd_icon" } .EE -Windows that match ``XTerm'' and would not be iconified by unmapping, and -would try to use +Windows that match ``XTerm'' would try to use the icon bitmap in the file ``xterm.icon''. If \fBForceIcons\fP is specified, this bitmap will be used even if the client has requested its own icon pixmap. @@ -1121,10 +1107,6 @@ The \fBIconRegion\fP variable should take a list. .PP Double clicking very fast to get the constrained move function will sometimes cause the window to move, even though the pointer is not moved. -.PP -If \fBIconifyByUnmapping\fP is on and windows are not listed in -\fBDontIconifyByUnmapping\fP, they may be lost if they are iconified and -no bindings to \fBf.menu "TwmWindows"\fP or \fBf.warpto\fP are setup. .SH FILES .PP .nf diff --git a/src/add_window.c b/src/add_window.c index f8119b6..e5f3fab 100644 --- a/src/add_window.c +++ b/src/add_window.c @@ -288,16 +288,6 @@ AddWindow(Window w) tmp_win->full_name, &tmp_win->class); if (tmp_win->auto_raise) Scr->NumAutoRaises++; - tmp_win->iconify_by_unmapping = Scr->IconifyByUnmapping; - if (Scr->IconifyByUnmapping) - { - tmp_win->iconify_by_unmapping = - !(short)(long) LookInList(Scr->DontIconify, tmp_win->full_name, - &tmp_win->class); - } - tmp_win->iconify_by_unmapping |= - (short)(long) LookInList(Scr->IconifyByUn, tmp_win->full_name, - &tmp_win->class); if (LookInList(Scr->WindowRingL, tmp_win->full_name, &tmp_win->class)) { if (Scr->Ring) { diff --git a/src/gram.c b/src/gram.c index 301815f..4ed09c9 100644 --- a/src/gram.c +++ b/src/gram.c @@ -79,167 +79,161 @@ typedef union #define ZOOM 277 #define MAKE_TITLE 278 #define GRAYSCALE 279 -#define ICONIFY_BY_UNMAPPING 280 -#define DONT_ICONIFY_BY_UNMAPPING 281 -#define NO_TITLE 282 -#define AUTO_RAISE 283 -#define NO_HILITE 284 -#define ICON_REGION 285 -#define META 286 -#define SHIFT 287 -#define LOCK 288 -#define CONTROL 289 -#define WINDOW 290 -#define TITLE 291 -#define ICON 292 -#define ROOT 293 -#define FRAME 294 -#define COLON 295 -#define EQUALS 296 -#define SQUEEZE_TITLE 297 -#define DONT_SQUEEZE_TITLE 298 -#define START_ICONIFIED 299 -#define NO_TITLE_HILITE 300 -#define TITLE_HILITE 301 -#define MOVE 302 -#define RESIZE 303 -#define WAIT 304 -#define SELECT 305 -#define KILL 306 -#define LEFT_TITLEBUTTON 307 -#define RIGHT_TITLEBUTTON 308 -#define NUMBER 309 -#define KEYWORD 310 -#define NKEYWORD 311 -#define CKEYWORD 312 -#define CLKEYWORD 313 -#define FKEYWORD 314 -#define FSKEYWORD 315 -#define SKEYWORD 316 -#define DKEYWORD 317 -#define JKEYWORD 318 -#define WINDOW_RING 319 -#define WARP_CURSOR 320 -#define ERRORTOKEN 321 -#define NO_STACKMODE 322 -#define STRING 323 +#define NO_TITLE 280 +#define AUTO_RAISE 281 +#define NO_HILITE 282 +#define ICON_REGION 283 +#define META 284 +#define SHIFT 285 +#define LOCK 286 +#define CONTROL 287 +#define WINDOW 288 +#define TITLE 289 +#define ICON 290 +#define ROOT 291 +#define FRAME 292 +#define COLON 293 +#define EQUALS 294 +#define SQUEEZE_TITLE 295 +#define DONT_SQUEEZE_TITLE 296 +#define START_ICONIFIED 297 +#define NO_TITLE_HILITE 298 +#define TITLE_HILITE 299 +#define MOVE 300 +#define RESIZE 301 +#define WAIT 302 +#define SELECT 303 +#define KILL 304 +#define LEFT_TITLEBUTTON 305 +#define RIGHT_TITLEBUTTON 306 +#define NUMBER 307 +#define KEYWORD 308 +#define NKEYWORD 309 +#define CKEYWORD 310 +#define CLKEYWORD 311 +#define FKEYWORD 312 +#define FSKEYWORD 313 +#define SKEYWORD 314 +#define DKEYWORD 315 +#define JKEYWORD 316 +#define WINDOW_RING 317 +#define WARP_CURSOR 318 +#define ERRORTOKEN 319 +#define NO_STACKMODE 320 +#define STRING 321 #define YYERRCODE 256 const short yylhs[] = { -1, 0, 22, 22, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 23, 6, 6, 6, 6, 6, 6, - 6, 6, 24, 6, 25, 6, 6, 26, 6, 6, - 27, 6, 6, 28, 6, 6, 29, 6, 30, 6, - 31, 6, 32, 6, 33, 6, 34, 6, 36, 6, - 37, 6, 38, 6, 6, 39, 6, 6, 6, 40, - 6, 6, 41, 6, 11, 12, 13, 20, 21, 42, - 42, 45, 45, 45, 45, 45, 45, 43, 43, 46, - 46, 46, 46, 46, 46, 46, 44, 44, 47, 47, - 47, 47, 47, 47, 47, 47, 2, 48, 48, 49, - 3, 50, 50, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 4, 52, 52, 15, 53, 15, 15, - 5, 54, 54, 55, 55, 7, 56, 56, 57, 14, - 58, 14, 14, 60, 14, 59, 59, 8, 61, 61, - 62, 35, 63, 63, 64, 9, 65, 65, 66, 10, - 67, 67, 68, 68, 16, 16, 19, 19, 19, 17, - 1, 18, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 23, + 6, 6, 24, 6, 6, 25, 6, 6, 26, 6, + 6, 27, 6, 28, 6, 29, 6, 30, 6, 31, + 6, 32, 6, 34, 6, 35, 6, 36, 6, 6, + 37, 6, 6, 6, 38, 6, 6, 39, 6, 11, + 12, 13, 20, 21, 40, 40, 43, 43, 43, 43, + 43, 43, 41, 41, 44, 44, 44, 44, 44, 44, + 44, 42, 42, 45, 45, 45, 45, 45, 45, 45, + 45, 2, 46, 46, 47, 3, 48, 48, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 4, 50, + 50, 15, 51, 15, 15, 5, 52, 52, 53, 53, + 7, 54, 54, 55, 14, 56, 14, 14, 58, 14, + 57, 57, 8, 59, 59, 60, 33, 61, 61, 62, + 9, 63, 63, 64, 10, 65, 65, 66, 66, 16, + 16, 19, 19, 19, 17, 1, 18, }; const short yylen[] = { 2, 1, 0, 2, 1, 1, 1, 1, 1, 6, 2, - 1, 2, 2, 0, 3, 1, 4, 4, 2, 2, - 2, 2, 0, 3, 0, 3, 1, 0, 3, 1, - 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, 2, - 3, 0, 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, 1, - 0, 5, 1, 0, 3, 0, 5, 3, 0, 2, - 1, 3, 0, 2, 2, 3, 0, 2, 1, 3, - 0, 2, 2, 7, 1, 2, 1, 2, 2, 2, - 1, 1, + 1, 2, 2, 4, 4, 2, 2, 2, 2, 0, + 3, 1, 0, 3, 1, 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, 2, 3, 0, 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, 1, 0, 5, 1, 0, 3, + 0, 5, 3, 0, 2, 1, 3, 0, 2, 2, + 3, 0, 2, 1, 3, 0, 2, 2, 7, 1, + 2, 1, 2, 2, 2, 1, 1, }; const short yydefred[] = { 2, - 0, 0, 4, 0, 0, 0, 0, 0, 49, 51, - 0, 56, 0, 0, 0, 37, 53, 0, 23, 0, - 41, 0, 0, 0, 0, 39, 0, 0, 0, 65, - 0, 0, 63, 0, 0, 171, 0, 3, 5, 6, - 7, 8, 0, 0, 172, 170, 165, 0, 58, 102, - 13, 98, 12, 0, 0, 132, 55, 0, 47, 59, - 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 67, 66, 0, 0, 0, - 70, 21, 70, 19, 20, 22, 0, 0, 166, 0, - 0, 153, 50, 125, 52, 0, 57, 0, 149, 38, - 54, 15, 24, 35, 42, 29, 0, 146, 145, 40, - 26, 0, 0, 64, 61, 32, 0, 0, 0, 161, - 46, 101, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 103, 97, 0, 99, 0, 0, 131, 135, - 134, 133, 157, 48, 0, 0, 0, 17, 18, 77, - 0, 73, 74, 75, 87, 71, 78, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, - 152, 0, 154, 124, 0, 0, 126, 0, 148, 151, - 150, 0, 142, 0, 76, 0, 0, 0, 160, 0, - 162, 118, 110, 106, 108, 104, 112, 114, 116, 120, - 122, 155, 130, 0, 156, 159, 158, 9, 0, 94, - 95, 89, 90, 91, 92, 93, 0, 96, 88, 85, - 86, 80, 81, 82, 83, 84, 0, 79, 43, 0, - 163, 0, 0, 0, 167, 0, 69, 68, 0, 0, - 137, 129, 168, 169, 147, 44, 0, 0, 0, 136, - 0, 138, 0, 139, 164, + 0, 0, 4, 0, 0, 0, 0, 0, 44, 46, + 0, 51, 0, 0, 0, 32, 48, 0, 36, 0, + 0, 0, 0, 34, 0, 0, 0, 60, 0, 0, + 58, 0, 0, 166, 0, 3, 5, 6, 7, 8, + 0, 0, 167, 165, 160, 0, 53, 97, 13, 93, + 12, 0, 0, 127, 50, 0, 42, 54, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 62, 61, 0, 0, 0, 65, 18, 65, 16, + 17, 19, 0, 0, 161, 0, 0, 148, 45, 120, + 47, 0, 52, 0, 144, 33, 49, 30, 37, 24, + 0, 141, 140, 35, 21, 0, 0, 59, 56, 27, + 0, 0, 0, 156, 41, 96, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 98, 92, 0, 94, + 0, 0, 126, 130, 129, 128, 152, 43, 0, 0, + 0, 14, 15, 72, 0, 68, 69, 70, 82, 66, + 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 95, 147, 0, 149, 119, 0, 0, + 121, 0, 143, 146, 145, 0, 137, 0, 71, 0, + 0, 0, 155, 0, 157, 113, 105, 101, 103, 99, + 107, 109, 111, 115, 117, 150, 125, 0, 151, 154, + 153, 9, 0, 89, 90, 84, 85, 86, 87, 88, + 0, 91, 83, 80, 81, 75, 76, 77, 78, 79, + 0, 74, 38, 0, 158, 0, 0, 0, 162, 0, + 64, 63, 0, 0, 132, 124, 163, 164, 142, 39, + 0, 0, 0, 131, 0, 133, 0, 134, 159, }; const short yydgoto[] = { 1, - 37, 53, 51, 95, 57, 38, 242, 100, 144, 121, - 39, 40, 41, 42, 177, 49, 43, 46, 236, 86, - 82, 2, 64, 65, 73, 68, 80, 66, 62, 72, - 67, 239, 88, 98, 93, 54, 55, 63, 58, 79, - 78, 117, 187, 186, 156, 228, 219, 91, 136, 90, - 133, 138, 232, 96, 142, 248, 252, 70, 147, 71, - 145, 181, 137, 173, 178, 207, 159, 191, + 35, 51, 49, 91, 55, 36, 236, 96, 138, 115, + 37, 38, 39, 40, 171, 47, 41, 44, 230, 82, + 78, 2, 69, 64, 76, 62, 60, 68, 63, 233, + 84, 94, 89, 52, 53, 61, 56, 75, 74, 111, + 181, 180, 150, 222, 213, 87, 130, 86, 127, 132, + 226, 92, 136, 242, 246, 66, 141, 67, 139, 175, + 131, 167, 172, 201, 153, 185, }; const short yysindex[] = { 0, - 0, 615, 0, -309, -291, -278, -237, -224, 0, 0, - -219, 0, -309, -278, -291, 0, 0, 0, 0, 0, - 0, 0, -309, 0, 0, 0, 0, -309, -309, 0, - -291, -309, 0, 0, 0, 0, -255, 0, 0, 0, - 0, 0, -280, -217, 0, 0, 0, -309, 0, 0, - 0, 0, 0, -205, -204, 0, 0, -204, 0, 0, - 0, -203, -204, -203, -203, -203, -203, -203, -277, -198, - -203, -203, -203, -234, -233, 0, 0, -203, -203, -203, - 0, 0, 0, 0, 0, 0, -309, -193, 0, -207, - -243, 0, 0, 0, 0, -256, 0, -189, 0, 0, - 0, 0, 0, 0, 0, 0, -227, 0, 0, 0, - 0, -278, -278, 0, 0, 0, -87, -76, -216, 0, - 0, 0, -309, -309, -309, -309, -309, -309, -309, -309, - -309, -309, 0, 0, -309, 0, -253, -247, 0, 0, - 0, 0, 0, 0, -252, -291, -251, 0, 0, 0, - -291, 0, 0, 0, 0, 0, 0, -309, -250, -309, - -309, -309, -309, -309, -309, -309, -309, -309, -309, 0, - 0, -309, 0, 0, -309, -309, 0, -254, 0, 0, - 0, -291, 0, -232, 0, -245, -179, -180, 0, -238, + 0, -92, 0, -305, -288, -298, -236, -222, 0, 0, + -221, 0, -305, -298, -288, 0, 0, 0, 0, 0, + -305, 0, 0, 0, 0, -305, -305, 0, -288, -305, + 0, 0, 0, 0, -265, 0, 0, 0, 0, 0, + -261, -227, 0, 0, 0, -305, 0, 0, 0, 0, + 0, -219, -218, 0, 0, -218, 0, 0, 0, -214, + -218, -214, -214, -214, -271, -203, -214, -214, -214, -238, + -237, 0, 0, -214, -214, -214, 0, 0, 0, 0, + 0, 0, -305, -196, 0, -160, -246, 0, 0, 0, + 0, -256, 0, -195, 0, 0, 0, 0, 0, 0, + -252, 0, 0, 0, 0, -298, -298, 0, 0, 0, + -193, -53, -229, 0, 0, 0, -305, -305, -305, -305, + -305, -305, -305, -305, -305, -305, 0, 0, -305, 0, + -253, -224, 0, 0, 0, 0, 0, 0, -251, -288, + -250, 0, 0, 0, -288, 0, 0, 0, 0, 0, + 0, -305, -248, -305, -305, -305, -305, -305, -305, -305, + -305, -305, -305, 0, 0, -305, 0, 0, -305, -305, + 0, -254, 0, 0, 0, -288, 0, -244, 0, -243, + -44, -194, 0, -228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -235, 0, - 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -278, 0, 0, -309, - 0, -166, -291, -291, 0, -291, 0, 0, -193, -202, - 0, 0, 0, 0, 0, 0, -309, -248, -160, 0, - -309, 0, -278, 0, 0,}; + 0, 0, -225, 0, 0, 0, 0, 0, 0, 0, + -298, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -298, 0, 0, -305, 0, -188, -288, -288, 0, -288, + 0, 0, -196, -217, 0, 0, 0, 0, 0, 0, + -305, -247, -183, 0, -305, 0, -298, 0, 0,}; const short yyrindex[] = { 0, - 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 553, 0, 0, 1, 0, 69, - 0, 137, 0, 205, 287, 0, 355, 0, 0, 0, - 0, 0, 0, 423, 491, 0, 0, 0, 0, 0, - 0, 0, 0, -154, 0, 0, 0, 0, 0, 0, + 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 458, 0, 0, 1, 0, 67, + 0, 133, 199, 0, 266, 0, 0, 0, 0, 0, + 0, 332, 398, 0, 0, 0, 0, 0, 0, 0, + 0, -168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -249,256 +243,231 @@ const short yyrindex[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -35, 0, 0, 0, 0, 0, 0, 0, 0, -116, - -67, 648, 666, 683, 701, 718, 736, 753, 771, 0, + 0, 0, 0, 0, -33, 0, 0, 0, 0, 0, + 0, 0, 0, 499, 519, 535, 552, 568, 585, 601, + 618, 634, 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -231, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0,}; + 0, 0, 0, 0, 0, 0, 0, 0, 0,}; const short yygindex[] = { 0, - -4, 0, 0, -46, 0, 0, 0, 224, 0, -135, - 0, 0, 0, 0, 0, -11, 0, -2, 0, 0, + -4, 0, 0, -43, 0, 0, 0, 226, 0, -143, + 0, 0, 0, 0, 0, -11, 0, -9, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, }; -#define YYTABLESIZE 1077 +#define YYTABLESIZE 955 const short yytable[] = - { 44, - 16, 139, 60, 205, 171, 179, 183, 189, 59, 250, - 174, 97, 61, 36, 134, 83, 101, 45, 69, 50, - 230, 210, 211, 74, 75, 128, 127, 77, 76, 233, - 234, 85, 52, 47, 48, 47, 48, 56, 84, 107, - 81, 87, 36, 89, 212, 213, 214, 215, 216, 217, - 122, 92, 94, 99, 123, 124, 140, 135, 108, 47, - 48, 112, 113, 120, 175, 176, 36, 143, 36, 36, - 36, 36, 36, 45, 36, 47, 48, 36, 158, 229, - 127, 127, 119, 125, 126, 209, 127, 220, 221, 146, - 241, 141, 247, 1, 128, 129, 130, 131, 132, 253, - 148, 149, 45, 246, 118, 0, 0, 0, 0, 0, - 222, 223, 224, 225, 226, 227, 0, 0, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 0, 0, - 170, 0, 172, 0, 0, 0, 30, 0, 0, 0, - 180, 119, 184, 182, 0, 119, 119, 0, 185, 0, - 0, 0, 0, 188, 190, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 0, 206, 202, 0, 0, - 203, 204, 0, 0, 119, 119, 0, 119, 231, 208, - 150, 218, 0, 0, 0, 119, 119, 119, 119, 119, - 111, 150, 0, 0, 111, 111, 0, 0, 151, 152, - 153, 154, 0, 0, 140, 237, 235, 155, 0, 151, - 152, 153, 154, 0, 0, 238, 0, 0, 157, 0, - 0, 0, 0, 111, 111, 240, 111, 0, 0, 0, - 243, 244, 72, 245, 111, 111, 111, 111, 111, 0, - 0, 255, 249, 251, 0, 0, 254, 0, 0, 0, - 72, 72, 72, 72, 0, 0, 16, 14, 0, 72, - 0, 0, 16, 16, 16, 0, 0, 0, 0, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 143, 102, 103, 104, - 105, 106, 0, 0, 109, 110, 111, 16, 16, 16, - 16, 114, 115, 116, 0, 0, 0, 16, 16, 0, - 16, 16, 0, 0, 0, 0, 16, 0, 0, 16, - 16, 0, 16, 16, 36, 34, 0, 0, 0, 0, - 36, 36, 36, 0, 0, 0, 0, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 27, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 36, 36, 36, 36, 0, - 0, 0, 0, 0, 0, 36, 36, 0, 36, 36, - 0, 0, 0, 0, 36, 0, 0, 36, 36, 0, - 36, 36, 30, 28, 0, 0, 0, 0, 30, 30, - 30, 0, 0, 0, 0, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 62, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 30, 30, 30, 30, 0, 0, 0, - 0, 0, 0, 30, 30, 0, 30, 30, 0, 0, - 0, 0, 30, 0, 0, 30, 30, 0, 30, 30, - 140, 141, 0, 0, 0, 0, 140, 140, 140, 0, - 0, 0, 0, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 140, 140, 140, 140, 0, 0, 0, 0, 0, - 0, 140, 140, 0, 140, 140, 0, 0, 0, 0, - 140, 0, 0, 140, 140, 0, 140, 140, 0, 0, + { 42, + 31, 133, 58, 199, 165, 59, 173, 177, 57, 183, + 244, 128, 93, 45, 46, 34, 65, 97, 43, 72, + 48, 70, 71, 204, 205, 73, 123, 122, 77, 81, + 224, 83, 79, 168, 50, 54, 80, 88, 90, 227, + 228, 85, 95, 101, 206, 207, 208, 209, 210, 211, + 45, 46, 129, 102, 134, 106, 107, 45, 46, 34, + 114, 137, 140, 152, 34, 223, 25, 34, 235, 34, + 34, 203, 34, 34, 144, 241, 247, 34, 113, 122, + 122, 43, 1, 45, 46, 169, 170, 135, 40, 240, + 145, 146, 147, 148, 142, 143, 112, 116, 0, 149, + 0, 117, 118, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 0, 0, 164, 0, 166, 0, 119, 120, + 176, 121, 135, 0, 174, 179, 178, 0, 0, 122, + 123, 124, 125, 126, 0, 0, 0, 182, 184, 186, + 187, 188, 189, 190, 191, 192, 193, 194, 195, 0, + 200, 196, 0, 3, 197, 198, 202, 0, 0, 4, + 5, 6, 225, 0, 0, 212, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 0, 0, 229, 0, 0, 0, 0, 138, 231, + 0, 0, 22, 23, 24, 25, 0, 0, 0, 232, + 0, 0, 26, 27, 144, 28, 29, 237, 238, 234, + 239, 30, 214, 215, 31, 32, 0, 33, 34, 0, + 145, 146, 147, 148, 67, 249, 243, 245, 0, 151, + 248, 0, 0, 216, 217, 218, 219, 220, 221, 0, + 67, 67, 67, 67, 0, 0, 31, 29, 0, 67, + 0, 0, 31, 31, 31, 22, 0, 0, 0, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 0, 0, 0, 98, 99, 100, + 0, 0, 103, 104, 105, 31, 31, 31, 31, 108, + 109, 110, 0, 0, 0, 31, 31, 0, 31, 31, + 0, 0, 0, 0, 31, 0, 0, 31, 31, 0, + 31, 31, 25, 23, 0, 0, 0, 0, 25, 25, + 25, 57, 0, 0, 0, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 143, 144, 0, 0, 0, 0, 143, 143, - 143, 0, 11, 0, 0, 143, 143, 143, 143, 143, - 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, - 143, 143, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 143, 143, 143, 143, 0, 0, 0, - 0, 0, 0, 143, 143, 0, 143, 143, 0, 0, - 0, 0, 143, 0, 0, 143, 143, 0, 143, 143, - 27, 25, 0, 0, 0, 0, 27, 27, 27, 0, - 0, 0, 0, 27, 27, 27, 27, 27, 27, 27, - 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 0, 25, 25, 25, 25, 0, 0, 0, 0, 0, + 0, 25, 25, 0, 25, 25, 0, 0, 0, 0, + 25, 0, 0, 25, 25, 0, 25, 25, 135, 136, + 0, 0, 0, 0, 135, 135, 135, 28, 0, 0, + 0, 135, 135, 135, 135, 135, 135, 135, 135, 135, + 135, 135, 135, 135, 135, 135, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 135, 135, 135, + 135, 0, 0, 0, 0, 0, 0, 135, 135, 0, + 135, 135, 0, 0, 0, 0, 135, 0, 0, 135, + 135, 0, 135, 135, 138, 139, 0, 11, 0, 0, + 138, 138, 138, 0, 0, 0, 0, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 138, 138, 138, 138, 0, 0, 0, + 0, 0, 0, 138, 138, 0, 138, 138, 0, 0, + 0, 0, 138, 0, 0, 138, 138, 0, 138, 138, + 0, 22, 20, 0, 0, 0, 0, 22, 22, 22, + 0, 0, 0, 0, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 27, 27, 27, 27, 0, 0, 0, 0, 0, - 0, 27, 27, 0, 27, 27, 0, 0, 0, 0, - 27, 0, 0, 27, 27, 0, 27, 27, 62, 60, - 0, 0, 0, 0, 62, 62, 62, 0, 0, 0, - 0, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, - 62, 62, 62, 0, 0, 0, 0, 0, 0, 62, - 62, 0, 62, 62, 0, 0, 0, 0, 62, 0, - 0, 62, 62, 0, 62, 62, 33, 31, 0, 0, - 0, 0, 33, 33, 33, 0, 0, 0, 0, 33, - 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, - 33, 33, 33, 33, 33, 33, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 33, 33, 33, - 33, 0, 0, 0, 0, 0, 0, 33, 33, 0, - 33, 33, 0, 0, 0, 0, 33, 0, 11, 33, - 33, 0, 33, 33, 11, 11, 11, 0, 0, 0, - 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, - 11, 11, 11, 0, 0, 0, 0, 0, 0, 11, - 11, 0, 11, 11, 0, 0, 0, 0, 11, 0, - 3, 11, 11, 0, 11, 11, 4, 5, 6, 0, - 0, 0, 0, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 0, 0, 0, 0, 0, 107, 0, 0, 0, 107, - 107, 24, 25, 26, 27, 0, 0, 0, 0, 0, - 0, 28, 29, 109, 30, 31, 0, 109, 109, 0, - 32, 0, 0, 33, 34, 0, 35, 36, 107, 107, - 105, 107, 0, 0, 105, 105, 0, 0, 0, 107, - 107, 107, 107, 107, 0, 0, 109, 109, 113, 109, - 0, 0, 113, 113, 0, 0, 0, 109, 109, 109, - 109, 109, 0, 105, 105, 115, 105, 0, 0, 115, - 115, 0, 0, 0, 105, 105, 105, 105, 105, 0, - 0, 113, 113, 117, 113, 0, 0, 117, 117, 0, - 0, 0, 113, 113, 113, 113, 113, 0, 115, 115, - 121, 115, 0, 0, 121, 121, 0, 0, 0, 115, - 115, 115, 115, 115, 0, 0, 117, 117, 123, 117, - 0, 0, 123, 123, 0, 0, 0, 117, 117, 117, - 117, 117, 0, 121, 121, 0, 121, 0, 0, 0, - 0, 0, 0, 0, 121, 121, 121, 121, 121, 0, - 0, 123, 123, 0, 123, 0, 0, 0, 0, 0, - 0, 0, 123, 123, 123, 123, 123, + 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, + 22, 22, 0, 22, 22, 0, 0, 0, 0, 22, + 0, 0, 22, 22, 0, 22, 22, 57, 55, 0, + 0, 0, 0, 57, 57, 57, 0, 0, 0, 0, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 57, 57, 57, 57, + 0, 0, 0, 0, 0, 0, 57, 57, 0, 57, + 57, 0, 0, 0, 0, 57, 0, 0, 57, 57, + 0, 57, 57, 28, 26, 0, 0, 0, 0, 28, + 28, 28, 0, 0, 0, 0, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 28, 28, 28, 28, 0, 0, 0, 0, + 0, 0, 28, 28, 0, 28, 28, 0, 0, 0, + 0, 28, 0, 11, 28, 28, 0, 28, 28, 11, + 11, 11, 0, 0, 0, 0, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 11, 11, 11, 11, 114, 0, 0, 0, + 114, 114, 11, 11, 0, 11, 11, 0, 0, 0, + 0, 11, 0, 0, 11, 11, 106, 11, 11, 0, + 106, 106, 0, 0, 0, 0, 0, 114, 114, 0, + 114, 0, 102, 0, 0, 0, 102, 102, 114, 114, + 114, 114, 114, 0, 0, 0, 0, 106, 106, 104, + 106, 0, 0, 104, 104, 0, 0, 0, 106, 106, + 106, 106, 106, 102, 102, 100, 102, 0, 0, 100, + 100, 0, 0, 0, 102, 102, 102, 102, 102, 0, + 104, 104, 108, 104, 0, 0, 108, 108, 0, 0, + 0, 104, 104, 104, 104, 104, 100, 100, 110, 100, + 0, 0, 110, 110, 0, 0, 0, 100, 100, 100, + 100, 100, 0, 108, 108, 112, 108, 0, 0, 112, + 112, 0, 0, 0, 108, 108, 108, 108, 108, 110, + 110, 116, 110, 0, 0, 116, 116, 0, 0, 0, + 110, 110, 110, 110, 110, 0, 112, 112, 118, 112, + 0, 0, 118, 118, 0, 0, 0, 112, 112, 112, + 112, 112, 116, 116, 0, 116, 0, 0, 0, 0, + 0, 0, 0, 116, 116, 116, 116, 116, 0, 118, + 118, 0, 118, 0, 0, 0, 0, 0, 0, 0, + 118, 118, 118, 118, 118, }; const short yycheck[] = { 4, - 0, 258, 14, 258, 258, 258, 258, 258, 13, 258, - 258, 58, 15, 323, 258, 296, 63, 309, 23, 257, - 259, 267, 268, 28, 29, 257, 258, 32, 31, 265, - 266, 43, 257, 314, 315, 314, 315, 257, 43, 317, - 296, 259, 323, 48, 290, 291, 292, 293, 294, 295, - 258, 257, 257, 257, 262, 263, 313, 301, 257, 314, - 315, 296, 296, 257, 312, 313, 323, 257, 0, 323, - 323, 323, 323, 309, 323, 314, 315, 323, 295, 260, - 312, 313, 87, 291, 292, 318, 294, 267, 268, 317, - 257, 96, 295, 0, 302, 303, 304, 305, 306, 260, - 112, 113, 257, 239, 83, -1, -1, -1, -1, -1, - 290, 291, 292, 293, 294, 295, -1, -1, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, -1, -1, - 135, -1, 137, -1, -1, -1, 0, -1, -1, -1, - 145, 258, 147, 146, -1, 262, 263, -1, 151, -1, - -1, -1, -1, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, -1, 178, 172, -1, -1, - 175, 176, -1, -1, 291, 292, -1, 294, 190, 182, - 268, 186, -1, -1, -1, 302, 303, 304, 305, 306, - 258, 268, -1, -1, 262, 263, -1, -1, 286, 287, - 288, 289, -1, -1, 0, 217, 209, 295, -1, 286, - 287, 288, 289, -1, -1, 227, -1, -1, 295, -1, - -1, -1, -1, 291, 292, 230, 294, -1, -1, -1, - 233, 234, 268, 236, 302, 303, 304, 305, 306, -1, - -1, 253, 247, 248, -1, -1, 251, -1, -1, -1, - 286, 287, 288, 289, -1, -1, 256, 257, -1, 295, - -1, -1, 262, 263, 264, -1, -1, -1, -1, 269, + 0, 258, 14, 258, 258, 15, 258, 258, 13, 258, + 258, 258, 56, 312, 313, 321, 21, 61, 307, 29, + 257, 26, 27, 267, 268, 30, 257, 258, 294, 41, + 259, 259, 294, 258, 257, 257, 41, 257, 257, 265, + 266, 46, 257, 315, 288, 289, 290, 291, 292, 293, + 312, 313, 299, 257, 311, 294, 294, 312, 313, 321, + 257, 257, 315, 293, 321, 260, 0, 321, 257, 321, + 321, 316, 321, 321, 268, 293, 260, 321, 83, 310, + 311, 307, 0, 312, 313, 310, 311, 92, 257, 233, + 284, 285, 286, 287, 106, 107, 79, 258, -1, 293, + -1, 262, 263, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, -1, -1, 129, -1, 131, -1, 289, 290, + 140, 292, 0, -1, 139, 145, 141, -1, -1, 300, + 301, 302, 303, 304, -1, -1, -1, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, + 172, 166, -1, 256, 169, 170, 176, -1, -1, 262, + 263, 264, 184, -1, -1, 180, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, -1, -1, 203, -1, -1, -1, -1, 0, 211, + -1, -1, 295, 296, 297, 298, -1, -1, -1, 221, + -1, -1, 305, 306, 268, 308, 309, 227, 228, 224, + 230, 314, 267, 268, 317, 318, -1, 320, 321, -1, + 284, 285, 286, 287, 268, 247, 241, 242, -1, 293, + 245, -1, -1, 288, 289, 290, 291, 292, 293, -1, + 284, 285, 286, 287, -1, -1, 256, 257, -1, 293, + -1, -1, 262, 263, 264, 0, -1, -1, -1, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 0, 64, 65, 66, - 67, 68, -1, -1, 71, 72, 73, 297, 298, 299, - 300, 78, 79, 80, -1, -1, -1, 307, 308, -1, - 310, 311, -1, -1, -1, -1, 316, -1, -1, 319, - 320, -1, 322, 323, 256, 257, -1, -1, -1, -1, + 280, 281, 282, 283, -1, -1, -1, 62, 63, 64, + -1, -1, 67, 68, 69, 295, 296, 297, 298, 74, + 75, 76, -1, -1, -1, 305, 306, -1, 308, 309, + -1, -1, -1, -1, 314, -1, -1, 317, 318, -1, + 320, 321, 256, 257, -1, -1, -1, -1, 262, 263, + 264, 0, -1, -1, -1, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 295, 296, 297, 298, -1, -1, -1, -1, -1, + -1, 305, 306, -1, 308, 309, -1, -1, -1, -1, + 314, -1, -1, 317, 318, -1, 320, 321, 256, 257, + -1, -1, -1, -1, 262, 263, 264, 0, -1, -1, + -1, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 295, 296, 297, + 298, -1, -1, -1, -1, -1, -1, 305, 306, -1, + 308, 309, -1, -1, -1, -1, 314, -1, -1, 317, + 318, -1, 320, 321, 256, 257, -1, 0, -1, -1, 262, 263, 264, -1, -1, -1, -1, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 0, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 297, 298, 299, 300, -1, - -1, -1, -1, -1, -1, 307, 308, -1, 310, 311, - -1, -1, -1, -1, 316, -1, -1, 319, 320, -1, - 322, 323, 256, 257, -1, -1, -1, -1, 262, 263, - 264, -1, -1, -1, -1, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 0, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 297, 298, 299, 300, -1, -1, -1, - -1, -1, -1, 307, 308, -1, 310, 311, -1, -1, - -1, -1, 316, -1, -1, 319, 320, -1, 322, 323, - 256, 257, -1, -1, -1, -1, 262, 263, 264, -1, - -1, -1, -1, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 297, 298, 299, 300, -1, -1, -1, -1, -1, - -1, 307, 308, -1, 310, 311, -1, -1, -1, -1, - 316, -1, -1, 319, 320, -1, 322, 323, -1, -1, + 282, 283, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 295, 296, 297, 298, -1, -1, -1, + -1, -1, -1, 305, 306, -1, 308, 309, -1, -1, + -1, -1, 314, -1, -1, 317, 318, -1, 320, 321, + -1, 256, 257, -1, -1, -1, -1, 262, 263, 264, + -1, -1, -1, -1, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 256, 257, -1, -1, -1, -1, 262, 263, - 264, -1, 0, -1, -1, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 297, 298, 299, 300, -1, -1, -1, - -1, -1, -1, 307, 308, -1, 310, 311, -1, -1, - -1, -1, 316, -1, -1, 319, 320, -1, 322, 323, - 256, 257, -1, -1, -1, -1, 262, 263, 264, -1, - -1, -1, -1, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 297, 298, 299, 300, -1, -1, -1, -1, -1, - -1, 307, 308, -1, 310, 311, -1, -1, -1, -1, - 316, -1, -1, 319, 320, -1, 322, 323, 256, 257, - -1, -1, -1, -1, 262, 263, 264, -1, -1, -1, - -1, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 297, - 298, 299, 300, -1, -1, -1, -1, -1, -1, 307, - 308, -1, 310, 311, -1, -1, -1, -1, 316, -1, - -1, 319, 320, -1, 322, 323, 256, 257, -1, -1, - -1, -1, 262, 263, 264, -1, -1, -1, -1, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 297, 298, 299, - 300, -1, -1, -1, -1, -1, -1, 307, 308, -1, - 310, 311, -1, -1, -1, -1, 316, -1, 256, 319, - 320, -1, 322, 323, 262, 263, 264, -1, -1, -1, - -1, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 297, - 298, 299, 300, -1, -1, -1, -1, -1, -1, 307, - 308, -1, 310, 311, -1, -1, -1, -1, 316, -1, - 256, 319, 320, -1, 322, 323, 262, 263, 264, -1, - -1, -1, -1, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - -1, -1, -1, -1, -1, 258, -1, -1, -1, 262, - 263, 297, 298, 299, 300, -1, -1, -1, -1, -1, - -1, 307, 308, 258, 310, 311, -1, 262, 263, -1, - 316, -1, -1, 319, 320, -1, 322, 323, 291, 292, - 258, 294, -1, -1, 262, 263, -1, -1, -1, 302, - 303, 304, 305, 306, -1, -1, 291, 292, 258, 294, - -1, -1, 262, 263, -1, -1, -1, 302, 303, 304, - 305, 306, -1, 291, 292, 258, 294, -1, -1, 262, - 263, -1, -1, -1, 302, 303, 304, 305, 306, -1, - -1, 291, 292, 258, 294, -1, -1, 262, 263, -1, - -1, -1, 302, 303, 304, 305, 306, -1, 291, 292, - 258, 294, -1, -1, 262, 263, -1, -1, -1, 302, - 303, 304, 305, 306, -1, -1, 291, 292, 258, 294, - -1, -1, 262, 263, -1, -1, -1, 302, 303, 304, - 305, 306, -1, 291, 292, -1, 294, -1, -1, -1, - -1, -1, -1, -1, 302, 303, 304, 305, 306, -1, - -1, 291, 292, -1, 294, -1, -1, -1, -1, -1, - -1, -1, 302, 303, 304, 305, 306, + 295, 296, 297, 298, -1, -1, -1, -1, -1, -1, + 305, 306, -1, 308, 309, -1, -1, -1, -1, 314, + -1, -1, 317, 318, -1, 320, 321, 256, 257, -1, + -1, -1, -1, 262, 263, 264, -1, -1, -1, -1, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 295, 296, 297, 298, + -1, -1, -1, -1, -1, -1, 305, 306, -1, 308, + 309, -1, -1, -1, -1, 314, -1, -1, 317, 318, + -1, 320, 321, 256, 257, -1, -1, -1, -1, 262, + 263, 264, -1, -1, -1, -1, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 295, 296, 297, 298, -1, -1, -1, -1, + -1, -1, 305, 306, -1, 308, 309, -1, -1, -1, + -1, 314, -1, 256, 317, 318, -1, 320, 321, 262, + 263, 264, -1, -1, -1, -1, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 295, 296, 297, 298, 258, -1, -1, -1, + 262, 263, 305, 306, -1, 308, 309, -1, -1, -1, + -1, 314, -1, -1, 317, 318, 258, 320, 321, -1, + 262, 263, -1, -1, -1, -1, -1, 289, 290, -1, + 292, -1, 258, -1, -1, -1, 262, 263, 300, 301, + 302, 303, 304, -1, -1, -1, -1, 289, 290, 258, + 292, -1, -1, 262, 263, -1, -1, -1, 300, 301, + 302, 303, 304, 289, 290, 258, 292, -1, -1, 262, + 263, -1, -1, -1, 300, 301, 302, 303, 304, -1, + 289, 290, 258, 292, -1, -1, 262, 263, -1, -1, + -1, 300, 301, 302, 303, 304, 289, 290, 258, 292, + -1, -1, 262, 263, -1, -1, -1, 300, 301, 302, + 303, 304, -1, 289, 290, 258, 292, -1, -1, 262, + 263, -1, -1, -1, 300, 301, 302, 303, 304, 289, + 290, 258, 292, -1, -1, 262, 263, -1, -1, -1, + 300, 301, 302, 303, 304, -1, 289, 290, 258, 292, + -1, -1, 262, 263, -1, -1, -1, 300, 301, 302, + 303, 304, 289, 290, -1, 292, -1, -1, -1, -1, + -1, -1, -1, 300, 301, 302, 303, 304, -1, 289, + 290, -1, 292, -1, -1, -1, -1, -1, -1, -1, + 300, 301, 302, 303, 304, }; #define YYFINAL 1 #ifndef YYDEBUG #define YYDEBUG 0 #endif -#define YYMAXTOKEN 323 +#define YYMAXTOKEN 321 #if YYDEBUG const char * const yyname[] = { @@ -511,10 +480,9 @@ const char * const yyname[] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"LB","RB","LP","RP","MENUS", "MENU","BUTTON","DEFAULT_FUNCTION","PLUS","MINUS","ALL","OR","CURSORS", "PIXMAPS","ICONS","COLOR","SAVECOLOR","MONOCHROME","FUNCTION","WINDOW_FUNCTION", -"ZOOM","MAKE_TITLE","GRAYSCALE","ICONIFY_BY_UNMAPPING", -"DONT_ICONIFY_BY_UNMAPPING","NO_TITLE","AUTO_RAISE","NO_HILITE","ICON_REGION", -"META","SHIFT","LOCK","CONTROL","WINDOW","TITLE","ICON","ROOT","FRAME","COLON", -"EQUALS","SQUEEZE_TITLE","DONT_SQUEEZE_TITLE","START_ICONIFIED", +"ZOOM","MAKE_TITLE","GRAYSCALE","NO_TITLE","AUTO_RAISE","NO_HILITE", +"ICON_REGION","META","SHIFT","LOCK","CONTROL","WINDOW","TITLE","ICON","ROOT", +"FRAME","COLON","EQUALS","SQUEEZE_TITLE","DONT_SQUEEZE_TITLE","START_ICONIFIED", "NO_TITLE_HILITE","TITLE_HILITE","MOVE","RESIZE","WAIT","SELECT","KILL", "LEFT_TITLEBUTTON","RIGHT_TITLEBUTTON","NUMBER","KEYWORD","NKEYWORD","CKEYWORD", "CLKEYWORD","FKEYWORD","FSKEYWORD","SKEYWORD","DKEYWORD","JKEYWORD", @@ -535,57 +503,52 @@ const char * const yyrule[] = "stmt : ZOOM", "stmt : PIXMAPS pixmap_list", "stmt : CURSORS cursor_list", -"$$1 :", -"stmt : ICONIFY_BY_UNMAPPING $$1 win_list", -"stmt : ICONIFY_BY_UNMAPPING", "stmt : LEFT_TITLEBUTTON string EQUALS action", "stmt : RIGHT_TITLEBUTTON string EQUALS action", "stmt : button string", "stmt : button action", "stmt : string fullkey", "stmt : button full", -"$$2 :", -"stmt : DONT_ICONIFY_BY_UNMAPPING $$2 win_list", -"$$3 :", -"stmt : NO_TITLE_HILITE $$3 win_list", +"$$1 :", +"stmt : NO_TITLE_HILITE $$1 win_list", "stmt : NO_TITLE_HILITE", -"$$4 :", -"stmt : NO_HILITE $$4 win_list", +"$$2 :", +"stmt : NO_HILITE $$2 win_list", "stmt : NO_HILITE", -"$$5 :", -"stmt : NO_STACKMODE $$5 win_list", +"$$3 :", +"stmt : NO_STACKMODE $$3 win_list", "stmt : NO_STACKMODE", -"$$6 :", -"stmt : NO_TITLE $$6 win_list", +"$$4 :", +"stmt : NO_TITLE $$4 win_list", "stmt : NO_TITLE", +"$$5 :", +"stmt : MAKE_TITLE $$5 win_list", +"$$6 :", +"stmt : START_ICONIFIED $$6 win_list", "$$7 :", -"stmt : MAKE_TITLE $$7 win_list", +"stmt : AUTO_RAISE $$7 win_list", "$$8 :", -"stmt : START_ICONIFIED $$8 win_list", +"stmt : MENU string LP string COLON string RP $$8 menu", "$$9 :", -"stmt : AUTO_RAISE $$9 win_list", +"stmt : MENU string $$9 menu", "$$10 :", -"stmt : MENU string LP string COLON string RP $$10 menu", +"stmt : FUNCTION string $$10 function", "$$11 :", -"stmt : MENU string $$11 menu", +"stmt : ICONS $$11 icon_list", "$$12 :", -"stmt : FUNCTION string $$12 function", +"stmt : COLOR $$12 color_list", "$$13 :", -"stmt : ICONS $$13 icon_list", -"$$14 :", -"stmt : COLOR $$14 color_list", -"$$15 :", -"stmt : GRAYSCALE $$15 color_list", +"stmt : GRAYSCALE $$13 color_list", "stmt : SAVECOLOR save_color_list", -"$$16 :", -"stmt : MONOCHROME $$16 color_list", +"$$14 :", +"stmt : MONOCHROME $$14 color_list", "stmt : DEFAULT_FUNCTION action", "stmt : WINDOW_FUNCTION action", -"$$17 :", -"stmt : WARP_CURSOR $$17 win_list", +"$$15 :", +"stmt : WARP_CURSOR $$15 win_list", "stmt : WARP_CURSOR", -"$$18 :", -"stmt : WINDOW_RING $$18 win_list", +"$$16 :", +"stmt : WINDOW_RING $$16 win_list", "noarg : KEYWORD", "sarg : SKEYWORD string", "narg : NKEYWORD number", @@ -649,8 +612,8 @@ const char * const yyrule[] = "color_entries :", "color_entries : color_entries color_entry", "color_entry : CLKEYWORD string", -"$$19 :", -"color_entry : CLKEYWORD string $$19 win_color_list", +"$$17 :", +"color_entry : CLKEYWORD string $$17 win_color_list", "color_entry : CKEYWORD string", "save_color_list : LB s_color_entries RB", "s_color_entries :", @@ -662,11 +625,11 @@ const char * const yyrule[] = "win_color_entries : win_color_entries win_color_entry", "win_color_entry : string string", "squeeze : SQUEEZE_TITLE", -"$$20 :", -"squeeze : SQUEEZE_TITLE $$20 LB win_sqz_entries RB", +"$$18 :", +"squeeze : SQUEEZE_TITLE $$18 LB win_sqz_entries RB", "squeeze : DONT_SQUEEZE_TITLE", -"$$21 :", -"squeeze : DONT_SQUEEZE_TITLE $$21 win_list", +"$$19 :", +"squeeze : DONT_SQUEEZE_TITLE $$19 win_list", "win_sqz_entries :", "win_sqz_entries : win_sqz_entries string JKEYWORD signed_number number", "win_list : LB win_entries RB", @@ -722,7 +685,7 @@ short *yysslim; YYSTYPE *yyvs; unsigned int yystacksize; int yyparse(void); -#line 619 "gram.y" +#line 612 "gram.y" static void yyerror(const char *s) { @@ -942,7 +905,7 @@ twmrc_error_prefix (void) { fprintf (stderr, "%s: line %d: ", ProgramName, yylineno); } -#line 938 "gram.c" +#line 901 "gram.c" /* allocate initial stack or double stack size, up to YYMAXDEPTH */ static int yygrowstack(void) { @@ -1137,11 +1100,11 @@ yyreduce: switch (yyn) { case 9: -#line 149 "gram.y" +#line 148 "gram.y" { AddIconRegion(yyvsp[-4].ptr, yyvsp[-3].num, yyvsp[-2].num, yyvsp[-1].num, yyvsp[0].num); } break; case 10: -#line 150 "gram.y" +#line 149 "gram.y" { if (Scr->FirstTime) { Scr->DoZoom = TRUE; @@ -1150,48 +1113,39 @@ case 10: } break; case 11: -#line 156 "gram.y" +#line 155 "gram.y" { if (Scr->FirstTime) Scr->DoZoom = TRUE; } break; case 12: -#line 158 "gram.y" +#line 157 "gram.y" {} break; case 13: -#line 159 "gram.y" +#line 158 "gram.y" {} break; case 14: -#line 160 "gram.y" -{ list = &Scr->IconifyByUn; } -break; -case 16: -#line 162 "gram.y" -{ if (Scr->FirstTime) - Scr->IconifyByUnmapping = TRUE; } -break; -case 17: -#line 164 "gram.y" +#line 159 "gram.y" { GotTitleButton (yyvsp[-2].ptr, yyvsp[0].num, False); } break; -case 18: -#line 167 "gram.y" +case 15: +#line 162 "gram.y" { GotTitleButton (yyvsp[-2].ptr, yyvsp[0].num, True); } break; -case 19: -#line 170 "gram.y" +case 16: +#line 165 "gram.y" { 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; } break; -case 20: -#line 174 "gram.y" +case 17: +#line 169 "gram.y" { Scr->Mouse[yyvsp[-1].num][C_ROOT][0].func = yyvsp[0].num; if (yyvsp[0].num == F_MENU) { @@ -1209,105 +1163,101 @@ case 20: pull = NULL; } break; -case 21: -#line 190 "gram.y" +case 18: +#line 185 "gram.y" { GotKey(yyvsp[-1].ptr, yyvsp[0].num); } break; -case 22: -#line 191 "gram.y" +case 19: +#line 186 "gram.y" { GotButton(yyvsp[-1].num, yyvsp[0].num); } break; -case 23: -#line 192 "gram.y" -{ list = &Scr->DontIconify; } -break; -case 25: -#line 194 "gram.y" +case 20: +#line 187 "gram.y" { list = &Scr->NoTitleHighlight; } break; -case 27: -#line 196 "gram.y" +case 22: +#line 189 "gram.y" { if (Scr->FirstTime) Scr->TitleHighlight = FALSE; } break; -case 28: -#line 198 "gram.y" +case 23: +#line 191 "gram.y" { list = &Scr->NoHighlight; } break; -case 30: -#line 200 "gram.y" +case 25: +#line 193 "gram.y" { if (Scr->FirstTime) Scr->Highlight = FALSE; } break; -case 31: -#line 202 "gram.y" +case 26: +#line 195 "gram.y" { list = &Scr->NoStackModeL; } break; -case 33: -#line 204 "gram.y" +case 28: +#line 197 "gram.y" { if (Scr->FirstTime) Scr->StackMode = FALSE; } break; -case 34: -#line 206 "gram.y" +case 29: +#line 199 "gram.y" { list = &Scr->NoTitle; } break; -case 36: -#line 208 "gram.y" +case 31: +#line 201 "gram.y" { if (Scr->FirstTime) Scr->NoTitlebar = TRUE; } break; -case 37: -#line 210 "gram.y" +case 32: +#line 203 "gram.y" { list = &Scr->MakeTitle; } break; -case 39: -#line 212 "gram.y" +case 34: +#line 205 "gram.y" { list = &Scr->StartIconified; } break; -case 41: -#line 214 "gram.y" +case 36: +#line 207 "gram.y" { list = &Scr->AutoRaise; } break; -case 43: -#line 216 "gram.y" +case 38: +#line 209 "gram.y" { root = GetRoot(yyvsp[-5].ptr, yyvsp[-3].ptr, yyvsp[-1].ptr); } break; -case 44: -#line 218 "gram.y" +case 39: +#line 211 "gram.y" { root->real_menu = TRUE;} break; -case 45: -#line 219 "gram.y" +case 40: +#line 212 "gram.y" { root = GetRoot(yyvsp[0].ptr, NULLSTR, NULLSTR); } break; -case 46: -#line 220 "gram.y" +case 41: +#line 213 "gram.y" { root->real_menu = TRUE; } break; -case 47: -#line 221 "gram.y" +case 42: +#line 214 "gram.y" { root = GetRoot(yyvsp[0].ptr, NULLSTR, NULLSTR); } break; -case 49: -#line 223 "gram.y" +case 44: +#line 216 "gram.y" { list = &Scr->IconNames; } break; -case 51: -#line 225 "gram.y" +case 46: +#line 218 "gram.y" { color = COLOR; } break; -case 53: -#line 227 "gram.y" +case 48: +#line 220 "gram.y" { color = GRAYSCALE; } break; -case 56: -#line 231 "gram.y" +case 51: +#line 224 "gram.y" { color = MONOCHROME; } break; -case 58: -#line 233 "gram.y" +case 53: +#line 226 "gram.y" { Scr->DefaultFunction.func = yyvsp[0].num; if (yyvsp[0].num == F_MENU) { @@ -1325,8 +1275,8 @@ case 58: pull = NULL; } break; -case 59: -#line 249 "gram.y" +case 54: +#line 242 "gram.y" { Scr->WindowFunction.func = yyvsp[0].num; root = GetRoot(TWM_ROOT,NULLSTR,NULLSTR); Scr->WindowFunction.item = @@ -1336,21 +1286,21 @@ case 59: pull = NULL; } break; -case 60: -#line 257 "gram.y" +case 55: +#line 250 "gram.y" { list = &Scr->WarpCursorL; } break; -case 62: -#line 259 "gram.y" +case 57: +#line 252 "gram.y" { if (Scr->FirstTime) Scr->WarpCursor = TRUE; } break; -case 63: -#line 261 "gram.y" +case 58: +#line 254 "gram.y" { list = &Scr->WindowRingL; } break; -case 65: -#line 266 "gram.y" +case 60: +#line 259 "gram.y" { if (!do_single_keyword (yyvsp[0].num)) { twmrc_error_prefix(); fprintf (stderr, @@ -1360,8 +1310,8 @@ case 65: } } break; -case 66: -#line 276 "gram.y" +case 61: +#line 269 "gram.y" { if (!do_string_keyword (yyvsp[-1].num, yyvsp[0].ptr)) { twmrc_error_prefix(); fprintf (stderr, @@ -1371,8 +1321,8 @@ case 66: } } break; -case 67: -#line 286 "gram.y" +case 62: +#line 279 "gram.y" { if (!do_number_keyword (yyvsp[-1].num, yyvsp[0].num)) { twmrc_error_prefix(); fprintf (stderr, @@ -1382,32 +1332,32 @@ case 67: } } break; -case 68: -#line 298 "gram.y" +case 63: +#line 291 "gram.y" { yyval.num = yyvsp[0].num; } break; -case 69: +case 64: +#line 294 "gram.y" +{ yyval.num = yyvsp[0].num; } +break; +case 67: #line 301 "gram.y" -{ yyval.num = yyvsp[0].num; } -break; -case 72: -#line 308 "gram.y" { mods |= Mod1Mask; } break; -case 73: -#line 309 "gram.y" +case 68: +#line 302 "gram.y" { mods |= ShiftMask; } break; -case 74: -#line 310 "gram.y" +case 69: +#line 303 "gram.y" { mods |= LockMask; } break; -case 75: -#line 311 "gram.y" +case 70: +#line 304 "gram.y" { mods |= ControlMask; } break; -case 76: -#line 312 "gram.y" +case 71: +#line 305 "gram.y" { if (yyvsp[0].num < 1 || yyvsp[0].num > 5) { twmrc_error_prefix(); fprintf (stderr, @@ -1419,176 +1369,176 @@ case 76: } } break; -case 77: -#line 322 "gram.y" +case 72: +#line 315 "gram.y" { } break; +case 75: +#line 322 "gram.y" +{ cont |= C_WINDOW_BIT; } +break; +case 76: +#line 323 "gram.y" +{ cont |= C_TITLE_BIT; } +break; +case 77: +#line 324 "gram.y" +{ cont |= C_ICON_BIT; } +break; +case 78: +#line 325 "gram.y" +{ cont |= C_ROOT_BIT; } +break; +case 79: +#line 326 "gram.y" +{ cont |= C_FRAME_BIT; } +break; case 80: -#line 329 "gram.y" -{ cont |= C_WINDOW_BIT; } +#line 327 "gram.y" +{ cont |= C_ALL_BITS; } break; case 81: -#line 330 "gram.y" -{ cont |= C_TITLE_BIT; } -break; -case 82: -#line 331 "gram.y" -{ cont |= C_ICON_BIT; } -break; -case 83: -#line 332 "gram.y" -{ cont |= C_ROOT_BIT; } -break; -case 84: -#line 333 "gram.y" -{ cont |= C_FRAME_BIT; } -break; -case 85: -#line 334 "gram.y" -{ cont |= C_ALL_BITS; } -break; -case 86: -#line 335 "gram.y" +#line 328 "gram.y" { } break; -case 89: -#line 342 "gram.y" +case 84: +#line 335 "gram.y" { cont |= C_WINDOW_BIT; } break; -case 90: -#line 343 "gram.y" +case 85: +#line 336 "gram.y" { cont |= C_TITLE_BIT; } break; -case 91: -#line 344 "gram.y" +case 86: +#line 337 "gram.y" { cont |= C_ICON_BIT; } break; -case 92: -#line 345 "gram.y" +case 87: +#line 338 "gram.y" { cont |= C_ROOT_BIT; } break; -case 93: -#line 346 "gram.y" +case 88: +#line 339 "gram.y" { cont |= C_FRAME_BIT; } break; -case 94: -#line 347 "gram.y" +case 89: +#line 340 "gram.y" { cont |= C_ALL_BITS; } break; -case 95: -#line 348 "gram.y" +case 90: +#line 341 "gram.y" { } break; -case 96: -#line 349 "gram.y" +case 91: +#line 342 "gram.y" { Name = yyvsp[0].ptr; cont |= C_NAME_BIT; } break; -case 100: -#line 360 "gram.y" +case 95: +#line 353 "gram.y" { SetHighlightPixmap (yyvsp[0].ptr); } break; -case 104: -#line 371 "gram.y" +case 99: +#line 364 "gram.y" { NewBitmapCursor(&Scr->FrameCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 105: -#line 373 "gram.y" +case 100: +#line 366 "gram.y" { NewFontCursor(&Scr->FrameCursor, yyvsp[0].ptr); } break; -case 106: -#line 375 "gram.y" +case 101: +#line 368 "gram.y" { NewBitmapCursor(&Scr->TitleCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 107: -#line 377 "gram.y" +case 102: +#line 370 "gram.y" { NewFontCursor(&Scr->TitleCursor, yyvsp[0].ptr); } break; -case 108: -#line 379 "gram.y" +case 103: +#line 372 "gram.y" { NewBitmapCursor(&Scr->IconCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 109: -#line 381 "gram.y" +case 104: +#line 374 "gram.y" { NewFontCursor(&Scr->IconCursor, yyvsp[0].ptr); } break; -case 110: -#line 383 "gram.y" +case 105: +#line 376 "gram.y" { NewBitmapCursor(&Scr->ButtonCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 111: -#line 385 "gram.y" +case 106: +#line 378 "gram.y" { NewFontCursor(&Scr->ButtonCursor, yyvsp[0].ptr); } break; -case 112: -#line 387 "gram.y" +case 107: +#line 380 "gram.y" { NewBitmapCursor(&Scr->MoveCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 113: -#line 389 "gram.y" +case 108: +#line 382 "gram.y" { NewFontCursor(&Scr->MoveCursor, yyvsp[0].ptr); } break; -case 114: -#line 391 "gram.y" +case 109: +#line 384 "gram.y" { NewBitmapCursor(&Scr->ResizeCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 115: -#line 393 "gram.y" +case 110: +#line 386 "gram.y" { NewFontCursor(&Scr->ResizeCursor, yyvsp[0].ptr); } break; -case 116: -#line 395 "gram.y" +case 111: +#line 388 "gram.y" { NewBitmapCursor(&Scr->WaitCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 117: -#line 397 "gram.y" +case 112: +#line 390 "gram.y" { NewFontCursor(&Scr->WaitCursor, yyvsp[0].ptr); } break; -case 118: -#line 399 "gram.y" +case 113: +#line 392 "gram.y" { NewBitmapCursor(&Scr->MenuCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 119: -#line 401 "gram.y" +case 114: +#line 394 "gram.y" { NewFontCursor(&Scr->MenuCursor, yyvsp[0].ptr); } break; -case 120: -#line 403 "gram.y" +case 115: +#line 396 "gram.y" { NewBitmapCursor(&Scr->SelectCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 121: -#line 405 "gram.y" +case 116: +#line 398 "gram.y" { NewFontCursor(&Scr->SelectCursor, yyvsp[0].ptr); } break; -case 122: -#line 407 "gram.y" +case 117: +#line 400 "gram.y" { NewBitmapCursor(&Scr->DestroyCursor, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 123: -#line 409 "gram.y" +case 118: +#line 402 "gram.y" { NewFontCursor(&Scr->DestroyCursor, yyvsp[0].ptr); } break; -case 127: -#line 421 "gram.y" +case 122: +#line 414 "gram.y" { if (!do_colorlist_keyword (yyvsp[-1].num, color, yyvsp[0].ptr)) { twmrc_error_prefix(); @@ -1599,8 +1549,8 @@ case 127: } } break; -case 128: -#line 430 "gram.y" +case 123: +#line 423 "gram.y" { list = do_colorlist_keyword(yyvsp[-1].num,color, yyvsp[0].ptr); if (!list) { @@ -1612,12 +1562,12 @@ case 128: } } break; -case 129: -#line 440 "gram.y" +case 124: +#line 433 "gram.y" { /* No action */; } break; -case 130: -#line 441 "gram.y" +case 125: +#line 434 "gram.y" { if (!do_color_keyword (yyvsp[-1].num, color, yyvsp[0].ptr)) { twmrc_error_prefix(); @@ -1628,76 +1578,76 @@ case 130: } } break; -case 134: -#line 459 "gram.y" +case 129: +#line 452 "gram.y" { do_string_savecolor(color, yyvsp[0].ptr); } break; -case 135: -#line 460 "gram.y" +case 130: +#line 453 "gram.y" { do_var_savecolor(yyvsp[0].num); } break; -case 139: -#line 470 "gram.y" +case 134: +#line 463 "gram.y" { if (Scr->FirstTime && color == Scr->Monochrome) AddToList(list, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 140: -#line 475 "gram.y" +case 135: +#line 468 "gram.y" { if (HasShape) Scr->SqueezeTitle = TRUE; } break; -case 141: -#line 478 "gram.y" +case 136: +#line 471 "gram.y" { list = &Scr->SqueezeTitleL; if (HasShape && Scr->SqueezeTitle == -1) Scr->SqueezeTitle = TRUE; } break; -case 143: -#line 483 "gram.y" +case 138: +#line 476 "gram.y" { Scr->SqueezeTitle = FALSE; } break; -case 144: -#line 484 "gram.y" +case 139: +#line 477 "gram.y" { list = &Scr->DontSqueezeTitleL; } break; -case 147: -#line 489 "gram.y" +case 142: +#line 482 "gram.y" { if (Scr->FirstTime) { do_squeeze_entry (list, yyvsp[-3].ptr, yyvsp[-2].num, yyvsp[-1].num, yyvsp[0].num); } } break; -case 151: -#line 503 "gram.y" +case 146: +#line 496 "gram.y" { if (Scr->FirstTime) AddToList(list, yyvsp[0].ptr, 0); } break; -case 155: -#line 515 "gram.y" +case 150: +#line 508 "gram.y" { if (Scr->FirstTime) AddToList(list, yyvsp[-1].ptr, yyvsp[0].ptr); } break; -case 159: -#line 525 "gram.y" +case 154: +#line 518 "gram.y" { AddToMenu(root, "", Action, NULL, yyvsp[0].num, NULLSTR, NULLSTR); Action = ""; } break; -case 163: -#line 538 "gram.y" +case 158: +#line 531 "gram.y" { AddToMenu(root, yyvsp[-1].ptr, Action, pull, yyvsp[0].num, NULLSTR, NULLSTR); Action = ""; pull = NULL; } break; -case 164: -#line 543 "gram.y" +case 159: +#line 536 "gram.y" { AddToMenu(root, yyvsp[-6].ptr, Action, pull, yyvsp[0].num, yyvsp[-4].ptr, yyvsp[-2].ptr); @@ -1705,12 +1655,12 @@ case 164: pull = NULL; } break; -case 165: -#line 551 "gram.y" +case 160: +#line 544 "gram.y" { yyval.num = yyvsp[0].num; } break; -case 166: -#line 552 "gram.y" +case 161: +#line 545 "gram.y" { yyval.num = yyvsp[-1].num; Action = yyvsp[0].ptr; @@ -1750,20 +1700,20 @@ case 166: } /* end switch */ } break; -case 167: -#line 593 "gram.y" +case 162: +#line 586 "gram.y" { yyval.num = yyvsp[0].num; } break; -case 168: -#line 594 "gram.y" +case 163: +#line 587 "gram.y" { yyval.num = yyvsp[0].num; } break; -case 169: -#line 595 "gram.y" +case 164: +#line 588 "gram.y" { yyval.num = -(yyvsp[0].num); } break; -case 170: -#line 598 "gram.y" +case 165: +#line 591 "gram.y" { yyval.num = yyvsp[0].num; if (yyvsp[0].num == 0) yyerror("bad button 0"); @@ -1775,18 +1725,18 @@ case 170: } } break; -case 171: -#line 610 "gram.y" +case 166: +#line 603 "gram.y" { ptr = strdup(yyvsp[0].ptr); RemoveDQuote(ptr); yyval.ptr = ptr; } break; -case 172: -#line 615 "gram.y" +case 167: +#line 608 "gram.y" { yyval.num = yyvsp[0].num; } break; -#line 1782 "gram.c" +#line 1732 "gram.c" } yyssp -= yym; yystate = *yyssp; diff --git a/src/gram.h b/src/gram.h index ac472ca..1caa9ff 100644 --- a/src/gram.h +++ b/src/gram.h @@ -21,50 +21,48 @@ #define ZOOM 277 #define MAKE_TITLE 278 #define GRAYSCALE 279 -#define ICONIFY_BY_UNMAPPING 280 -#define DONT_ICONIFY_BY_UNMAPPING 281 -#define NO_TITLE 282 -#define AUTO_RAISE 283 -#define NO_HILITE 284 -#define ICON_REGION 285 -#define META 286 -#define SHIFT 287 -#define LOCK 288 -#define CONTROL 289 -#define WINDOW 290 -#define TITLE 291 -#define ICON 292 -#define ROOT 293 -#define FRAME 294 -#define COLON 295 -#define EQUALS 296 -#define SQUEEZE_TITLE 297 -#define DONT_SQUEEZE_TITLE 298 -#define START_ICONIFIED 299 -#define NO_TITLE_HILITE 300 -#define TITLE_HILITE 301 -#define MOVE 302 -#define RESIZE 303 -#define WAIT 304 -#define SELECT 305 -#define KILL 306 -#define LEFT_TITLEBUTTON 307 -#define RIGHT_TITLEBUTTON 308 -#define NUMBER 309 -#define KEYWORD 310 -#define NKEYWORD 311 -#define CKEYWORD 312 -#define CLKEYWORD 313 -#define FKEYWORD 314 -#define FSKEYWORD 315 -#define SKEYWORD 316 -#define DKEYWORD 317 -#define JKEYWORD 318 -#define WINDOW_RING 319 -#define WARP_CURSOR 320 -#define ERRORTOKEN 321 -#define NO_STACKMODE 322 -#define STRING 323 +#define NO_TITLE 280 +#define AUTO_RAISE 281 +#define NO_HILITE 282 +#define ICON_REGION 283 +#define META 284 +#define SHIFT 285 +#define LOCK 286 +#define CONTROL 287 +#define WINDOW 288 +#define TITLE 289 +#define ICON 290 +#define ROOT 291 +#define FRAME 292 +#define COLON 293 +#define EQUALS 294 +#define SQUEEZE_TITLE 295 +#define DONT_SQUEEZE_TITLE 296 +#define START_ICONIFIED 297 +#define NO_TITLE_HILITE 298 +#define TITLE_HILITE 299 +#define MOVE 300 +#define RESIZE 301 +#define WAIT 302 +#define SELECT 303 +#define KILL 304 +#define LEFT_TITLEBUTTON 305 +#define RIGHT_TITLEBUTTON 306 +#define NUMBER 307 +#define KEYWORD 308 +#define NKEYWORD 309 +#define CKEYWORD 310 +#define CLKEYWORD 311 +#define FKEYWORD 312 +#define FSKEYWORD 313 +#define SKEYWORD 314 +#define DKEYWORD 315 +#define JKEYWORD 316 +#define WINDOW_RING 317 +#define WARP_CURSOR 318 +#define ERRORTOKEN 319 +#define NO_STACKMODE 320 +#define STRING 321 #ifndef YYSTYPE_DEFINED #define YYSTYPE_DEFINED typedef union diff --git a/src/gram.y b/src/gram.y index d3d6fe0..d4d446c 100644 --- a/src/gram.y +++ b/src/gram.y @@ -113,7 +113,6 @@ static void yyerror ( const char *s ); %token ALL OR CURSORS PIXMAPS ICONS COLOR SAVECOLOR MONOCHROME FUNCTION %token WINDOW_FUNCTION ZOOM %token MAKE_TITLE GRAYSCALE -%token ICONIFY_BY_UNMAPPING DONT_ICONIFY_BY_UNMAPPING %token NO_TITLE AUTO_RAISE NO_HILITE ICON_REGION %token META SHIFT LOCK CONTROL WINDOW TITLE ICON ROOT FRAME %token COLON EQUALS SQUEEZE_TITLE DONT_SQUEEZE_TITLE @@ -157,10 +156,6 @@ stmt : error Scr->DoZoom = TRUE; } | PIXMAPS pixmap_list {} | CURSORS cursor_list {} - | ICONIFY_BY_UNMAPPING { list = &Scr->IconifyByUn; } - win_list - | ICONIFY_BY_UNMAPPING { if (Scr->FirstTime) - Scr->IconifyByUnmapping = TRUE; } | LEFT_TITLEBUTTON string EQUALS action { GotTitleButton ($2, $4, False); } @@ -189,8 +184,6 @@ stmt : error } | string fullkey { GotKey($1, $2); } | button full { GotButton($1, $2); } - | DONT_ICONIFY_BY_UNMAPPING { list = &Scr->DontIconify; } - win_list | NO_TITLE_HILITE { list = &Scr->NoTitleHighlight; } win_list | NO_TITLE_HILITE { if (Scr->FirstTime) diff --git a/src/menus.c b/src/menus.c index bb003c9..79a81a0 100644 --- a/src/menus.c +++ b/src/menus.c @@ -2375,19 +2375,14 @@ void Iconify(TwmWindow *tmp_win, int def_x, int def_y) { TwmWindow *t; - int iconify; XWindowAttributes winattrs; unsigned long eventMask; - iconify = ((!tmp_win->iconify_by_unmapping) || tmp_win->transient); - if (iconify) - { - if (tmp_win->icon_w == (Window) 0) - CreateIconWindow(tmp_win, def_x, def_y); - else - IconUp(tmp_win); - XMapRaised(dpy, tmp_win->icon_w); - } + if (tmp_win->icon_w == (Window) 0) + CreateIconWindow(tmp_win, def_x, def_y); + else + IconUp(tmp_win); + XMapRaised(dpy, tmp_win->icon_w); XGetWindowAttributes(dpy, tmp_win->w, &winattrs); eventMask = winattrs.your_event_mask; @@ -2397,13 +2392,10 @@ Iconify(TwmWindow *tmp_win, int def_x, int def_y) { if (t->transient && t->transientfor == tmp_win->w) { - if (iconify) - { - if (t->icon_on) - Zoom(t->icon_w, tmp_win->icon_w); - else - Zoom(t->frame, tmp_win->icon_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 @@ -2429,8 +2421,7 @@ Iconify(TwmWindow *tmp_win, int def_x, int def_y) } } - if (iconify) - Zoom(tmp_win->frame, tmp_win->icon_w); + Zoom(tmp_win->frame, tmp_win->icon_w); /* * Prevent the receipt of an UnmapNotify, since that would @@ -2451,10 +2442,7 @@ Iconify(TwmWindow *tmp_win, int def_x, int def_y) Scr->FocusRoot = TRUE; } tmp_win->icon = TRUE; - if (iconify) - tmp_win->icon_on = TRUE; - else - tmp_win->icon_on = FALSE; + tmp_win->icon_on = TRUE; XSync (dpy, 0); } @@ -2539,8 +2527,7 @@ SetMapStateProp(TwmWindow *tmp_win, int state) unsigned long data[2]; /* "suggested" by ICCCM version 1 */ data[0] = (unsigned long) state; - data[1] = (unsigned long) (tmp_win->iconify_by_unmapping ? None : - tmp_win->icon_w); + data[1] = (unsigned long) tmp_win->icon_w; XChangeProperty (dpy, tmp_win->w, _XA_WM_STATE, _XA_WM_STATE, 32, PropModeReplace, (unsigned char *) data, 2); diff --git a/src/parse.c b/src/parse.c index fcbb735..418251f 100644 --- a/src/parse.c +++ b/src/parse.c @@ -400,7 +400,6 @@ static TwmKeyword keytable[] = { { "defaultforeground", CKEYWORD, kwc_DefaultForeground }, { "defaultfunction", DEFAULT_FUNCTION, 0 }, { "destroy", KILL, 0 }, - { "donticonifybyunmapping", DONT_ICONIFY_BY_UNMAPPING, 0 }, { "dontmoveoff", KEYWORD, kw0_DontMoveOff }, { "dontsqueezetitle", DONT_SQUEEZE_TITLE, 0 }, { "east", DKEYWORD, D_EAST }, @@ -473,7 +472,6 @@ static TwmKeyword keytable[] = { { "icondirectory", SKEYWORD, kws_IconDirectory }, { "iconfont", SKEYWORD, kws_IconFont }, { "iconforeground", CLKEYWORD, kwcl_IconForeground }, - { "iconifybyunmapping", ICONIFY_BY_UNMAPPING, 0 }, { "iconregion", ICON_REGION, 0 }, { "icons", ICONS, 0 }, { "interpolatemenucolors", KEYWORD, kw0_InterpolateMenuColors }, diff --git a/src/screen.h b/src/screen.h index 38bf9b5..ea3f91c 100644 --- a/src/screen.h +++ b/src/screen.h @@ -161,8 +161,6 @@ typedef struct ScreenInfo name_list *NoHighlight; /* list of windows to not highlight */ name_list *NoStackModeL; /* windows to ignore stack mode requests */ name_list *NoTitleHighlight;/* list of windows to not highlight the TB*/ - name_list *DontIconify; /* don't iconify by unmapping */ - name_list *IconifyByUn; /* windows to iconify by unmapping */ name_list *StartIconified; /* windows to start iconic */ name_list *SqueezeTitleL; /* windows of which to squeeze title */ name_list *DontSqueezeTitleL; /* windows of which not to squeeze */ @@ -214,7 +212,6 @@ typedef struct ScreenInfo short TitleFocus; /* focus on window in title bar ? */ short NoTitlebar; /* put title bars on windows */ short DecorateTransients; /* put title bars on transients */ - short IconifyByUnmapping; /* simply unmap windows when iconifying */ short BackingStore; /* use backing store for menus */ short SaveUnder; /* use save under's for menus */ short RandomPlacement; /* randomly place windows that no give hints */ diff --git a/src/twm.c b/src/twm.c index 4c0f4a5..ec34fd1 100644 --- a/src/twm.c +++ b/src/twm.c @@ -447,8 +447,6 @@ main(int argc, char *argv[]) Scr->NoHighlight = NULL; Scr->NoStackModeL = NULL; Scr->NoTitleHighlight = NULL; - Scr->DontIconify = NULL; - Scr->IconifyByUn = NULL; Scr->StartIconified = NULL; Scr->SqueezeTitleL = NULL; Scr->DontSqueezeTitleL = NULL; @@ -661,8 +659,6 @@ InitVariables(void) FreeList(&Scr->NoHighlight); FreeList(&Scr->NoStackModeL); FreeList(&Scr->NoTitleHighlight); - FreeList(&Scr->DontIconify); - FreeList(&Scr->IconifyByUn); FreeList(&Scr->StartIconified); FreeList(&Scr->SqueezeTitleL); FreeList(&Scr->DontSqueezeTitleL); @@ -732,7 +728,6 @@ InitVariables(void) Scr->TitleFocus = TRUE; Scr->NoTitlebar = FALSE; Scr->DecorateTransients = FALSE; - Scr->IconifyByUnmapping = FALSE; Scr->BackingStore = TRUE; Scr->SaveUnder = TRUE; Scr->RandomPlacement = FALSE; diff --git a/src/twm.h b/src/twm.h index ff27316..78e0444 100644 --- a/src/twm.h +++ b/src/twm.h @@ -272,7 +272,6 @@ typedef struct TwmWindow short icon_moved; /* user explicitly moved the icon */ short highlight; /* should highlight this window */ short stackmode; /* honor stackmode requests */ - short iconify_by_unmapping; /* unmap window to iconify it */ short transient; /* this is a transient window */ Window transientfor; /* window contained in XA_XM_TRANSIENT_FOR */ short titlehighlight; /* should I highlight the title bar */