48 #define YYBISON_VERSION "2.4.3"
51 #define YYSKELETON_NAME "yacc.c"
63 #define YYLSP_NEEDED 0
70 #line 1 "src/cfgparse.y"
76 #include <sys/types.h>
112 ELOG(
"CONFIG: %s\n", error_message);
113 ELOG(
"CONFIG: in file \"%s\", line %d:\n",
120 ELOG(
"CONFIG: %s\n", buffer);
137 while (*walk !=
'\0') {
144 if (strncasecmp(line,
"bindcode", strlen(
"bindcode")) == 0 ||
145 strncasecmp(line,
"force_focus_wrapping", strlen(
"force_focus_wrapping")) == 0 ||
146 strncasecmp(line,
"# i3 config file (v4)", strlen(
"# i3 config file (v4)")) == 0 ||
147 strncasecmp(line,
"workspace_layout", strlen(
"workspace_layout")) == 0) {
148 printf(
"deciding for version 4 due to this line: %.*s\n", (
int)(walk-line), line);
153 if (strncasecmp(line,
"bind", strlen(
"bind")) == 0) {
154 char *bind = strchr(line,
' ');
157 while ((*bind ==
' ' || *bind ==
'\t') && *bind !=
'\0')
161 if ((bind = strchr(bind,
' ')) == NULL)
163 while ((*bind ==
' ' || *bind ==
'\t') && *bind !=
'\0')
167 if (strncasecmp(bind,
"layout", strlen(
"layout")) == 0 ||
168 strncasecmp(bind,
"floating", strlen(
"floating")) == 0 ||
169 strncasecmp(bind,
"workspace", strlen(
"workspace")) == 0 ||
170 strncasecmp(bind,
"focus left", strlen(
"focus left")) == 0 ||
171 strncasecmp(bind,
"focus right", strlen(
"focus right")) == 0 ||
172 strncasecmp(bind,
"focus up", strlen(
"focus up")) == 0 ||
173 strncasecmp(bind,
"focus down", strlen(
"focus down")) == 0 ||
174 strncasecmp(bind,
"border normal", strlen(
"border normal")) == 0 ||
175 strncasecmp(bind,
"border 1pixel", strlen(
"border 1pixel")) == 0 ||
176 strncasecmp(bind,
"border borderless", strlen(
"border borderless")) == 0 ||
177 strncasecmp(bind,
"--no-startup-id", strlen(
"--no-startup-id")) == 0 ||
178 strncasecmp(bind,
"bar", strlen(
"bar")) == 0) {
179 printf(
"deciding for version 4 due to this line: %.*s\n", (
int)(walk-line), line);
206 if (pipe(writepipe) != 0 ||
207 pipe(readpipe) != 0) {
208 warn(
"migrate_config: Could not create pipes");
214 warn(
"Could not fork()");
222 dup2(writepipe[0], 0);
226 dup2(readpipe[1], 1);
228 static char *argv[] = {
244 while (written < size) {
245 if ((ret = write(writepipe[1], input + written, size - written)) < 0) {
246 warn(
"Could not write to pipe");
257 int conv_size = 65535;
258 char *converted = malloc(conv_size);
261 if (read_bytes == conv_size) {
263 converted = realloc(converted, conv_size);
265 ret = read(readpipe[0], converted + read_bytes, conv_size - read_bytes);
267 warn(
"Cannot read from pipe");
277 if (!WIFEXITED(status)) {
278 fprintf(stderr,
"Child did not terminate normally, using old config file (will lead to broken behaviour)\n");
282 int returncode = WEXITSTATUS(status);
283 if (returncode != 0) {
284 fprintf(stderr,
"Migration process exit code was != 0\n");
285 if (returncode == 2) {
286 fprintf(stderr,
"could not start the migration script\n");
288 }
else if (returncode == 1) {
289 fprintf(stderr,
"This already was a v4 config. Please add the following line to your config file:\n");
290 fprintf(stderr,
"# i3 config file (v4)\n");
305 ev_child_stop(EV_A_ watcher);
306 if (!WIFEXITED(watcher->rstatus)) {
307 fprintf(stderr,
"ERROR: i3-nagbar did not exit normally.\n");
311 int exitcode = WEXITSTATUS(watcher->rstatus);
312 printf(
"i3-nagbar process exited with status %d\n", exitcode);
314 fprintf(stderr,
"ERROR: i3-nagbar could not be found. Is it correctly installed on your system?\n");
323 #if EV_VERSION_MAJOR >= 4
329 static void nagbar_cleanup(EV_P_ ev_cleanup *watcher,
int revent) {
348 fprintf(stderr,
"Starting i3-nagbar due to configuration errors\n");
351 warn(
"Could not fork()");
359 sasprintf(&editaction,
"i3-sensible-terminal -e sh -c \"i3-sensible-editor \\\"%s\\\" && i3-msg reload\"", config_path);
367 "You have an error in your i3 config file!" :
368 "Your config is outdated. Please fix the warnings to make sure everything works."),
373 (context->
has_errors ?
"show errors" :
"show warnings"),
382 ev_child *child =
smalloc(
sizeof(ev_child));
389 #if EV_VERSION_MAJOR >= 4
392 ev_cleanup *cleanup =
smalloc(
sizeof(ev_cleanup));
393 ev_cleanup_init(cleanup, nagbar_cleanup);
412 warn(
"kill(configerror_nagbar) failed");
444 if ((bind->
symbol == NULL && current->
symbol != NULL) ||
450 if (bind->
symbol != NULL &&
461 ELOG(
"Duplicate keybinding in config file:\n modmask %d with keycode %d, command \"%s\"\n",
464 ELOG(
"Duplicate keybinding in config file:\n modmask %d with keysym %s, command \"%s\"\n",
472 ELOG(
"**********************************************************************\n");
473 ELOG(
"IGNORING exec command: %s\n", exec->
command);
474 ELOG(
"It contains \"i3bar\". Since i3 v4.1, i3bar will be automatically started\n");
475 ELOG(
"for each 'bar' configuration block in your i3 config. Please remove the exec\n");
476 ELOG(
"line and add the following to your i3 config:\n");
479 ELOG(
" status_command i3status\n");
481 ELOG(
"**********************************************************************\n");
498 int fd, ret, read_bytes = 0;
502 char buffer[1026], key[512], value[512];
504 if ((fd = open(f, O_RDONLY)) == -1)
505 die(
"Could not open configuration file: %s\n", strerror(errno));
507 if (fstat(fd, &stbuf) == -1)
508 die(
"Could not fstat file: %s\n", strerror(errno));
510 buf =
scalloc((stbuf.st_size + 1) *
sizeof(
char));
511 while (read_bytes < stbuf.st_size) {
512 if ((ret = read(fd, buf + read_bytes, (stbuf.st_size - read_bytes))) < 0)
513 die(
"Could not read(): %s\n", strerror(errno));
517 if (lseek(fd, 0, SEEK_SET) == (off_t)-1)
518 die(
"Could not lseek: %s\n", strerror(errno));
520 if ((fstr = fdopen(fd,
"r")) == NULL)
521 die(
"Could not fdopen: %s\n", strerror(errno));
523 while (!feof(fstr)) {
524 if (fgets(buffer, 1024, fstr) == NULL) {
527 die(
"Could not read configuration file\n");
531 if (sscanf(buffer,
"%s %[^\n]", key, value) < 1 ||
532 key[0] ==
'#' || strlen(key) < 3)
535 if (strcasecmp(key,
"set") == 0) {
536 if (value[0] !=
'$') {
537 ELOG(
"Malformed variable assignment, name has to start with $\n");
542 char *v_key = value, *v_value;
543 if (strstr(value,
" ") == NULL && strstr(value,
"\t") == NULL) {
544 ELOG(
"Malformed variable assignment, need a value\n");
548 if (!(v_value = strstr(value,
" ")))
549 v_value = strstr(value,
"\t");
552 while (*v_value ==
'\t' || *v_value ==
' ')
559 DLOG(
"Got new variable %s = %s\n", v_key, v_value);
574 int extra = (strlen(current->
value) - strlen(current->
key));
577 next < (bufcopy + stbuf.st_size) &&
578 (next = strcasestr(next, current->
key)) != NULL;
579 next += strlen(current->
key)) {
581 extra_bytes += extra;
588 char *walk = buf, *destwalk;
589 char *
new =
smalloc((stbuf.st_size + extra_bytes + 1) *
sizeof(
char));
591 while (walk < (buf + stbuf.st_size)) {
596 int distance = stbuf.st_size;
600 if ((current->
next_match - walk) < distance) {
605 if (nearest == NULL) {
607 strncpy(destwalk, walk, (buf + stbuf.st_size) - walk);
608 destwalk += (buf + stbuf.st_size) - walk;
613 strncpy(destwalk, walk, distance);
614 strncpy(destwalk + distance, nearest->
value, strlen(nearest->
value));
615 walk += distance + strlen(nearest->
key);
616 destwalk += distance + strlen(nearest->
value);
626 if (converted != NULL) {
628 ELOG(
"****************************************************************\n");
629 ELOG(
"NOTE: Automatically converted configuration file from v3 to v4.\n");
631 ELOG(
"Please convert your config file to v4. You can use this command:\n");
632 ELOG(
" mv %s %s.O\n", f, f);
633 ELOG(
" i3-migrate-config-to-v4 %s.O > %s\n", f, f);
634 ELOG(
"****************************************************************\n");
640 printf(
"**********************************************************************\n");
641 printf(
"ERROR: Could not convert config file. Maybe i3-migrate-config-to-v4\n");
642 printf(
"was not correctly installed on your system?\n");
643 printf(
"**********************************************************************\n");
651 context =
scalloc(
sizeof(
struct context));
655 fprintf(stderr,
"Could not parse configfile\n");
669 if (strstr(exec->
command,
"i3bar") != NULL) {
678 if (strstr(exec->
command,
"i3bar") != NULL) {
686 ELOG(
"FYI: You are using i3 version " I3_VERSION
"\n");
688 ELOG(
"Please convert your configfile first, then fix any remaining errors (see above).\n");
711 #line 712 "src/cfgparse.tab.c"
719 #ifdef YYERROR_VERBOSE
720 # undef YYERROR_VERBOSE
721 # define YYERROR_VERBOSE 1
723 # define YYERROR_VERBOSE 1
727 #ifndef YYTOKEN_TABLE
728 # define YYTOKEN_TABLE 0
836 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
841 #line 643 "src/cfgparse.y"
853 #line 854 "src/cfgparse.tab.c"
855 # define YYSTYPE_IS_TRIVIAL 1
856 # define yystype YYSTYPE
857 # define YYSTYPE_IS_DECLARED 1
865 #line 866 "src/cfgparse.tab.c"
879 #elif (defined __STDC__ || defined __C99__FUNC__ \
880 || defined __cplusplus || defined _MSC_VER)
899 # ifdef __SIZE_TYPE__
900 # define YYSIZE_T __SIZE_TYPE__
901 # elif defined size_t
902 # define YYSIZE_T size_t
903 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
904 || defined __cplusplus || defined _MSC_VER)
906 # define YYSIZE_T size_t
908 # define YYSIZE_T unsigned int
912 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
915 # if defined YYENABLE_NLS && YYENABLE_NLS
917 # include <libintl.h>
918 # define YY_(msgid) dgettext ("bison-runtime", msgid)
922 # define YY_(msgid) msgid
927 #if ! defined lint || defined __GNUC__
928 # define YYUSE(e) ((void) (e))
937 #if (defined __STDC__ || defined __C99__FUNC__ \
938 || defined __cplusplus || defined _MSC_VER)
951 #if ! defined yyoverflow || YYERROR_VERBOSE
955 # ifdef YYSTACK_USE_ALLOCA
956 # if YYSTACK_USE_ALLOCA
958 # define YYSTACK_ALLOC __builtin_alloca
959 # elif defined __BUILTIN_VA_ARG_INCR
962 # define YYSTACK_ALLOC __alloca
963 # elif defined _MSC_VER
965 # define alloca _alloca
967 # define YYSTACK_ALLOC alloca
968 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
969 || defined __cplusplus || defined _MSC_VER)
979 # ifdef YYSTACK_ALLOC
981 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
982 # ifndef YYSTACK_ALLOC_MAXIMUM
987 # define YYSTACK_ALLOC_MAXIMUM 4032
990 # define YYSTACK_ALLOC YYMALLOC
991 # define YYSTACK_FREE YYFREE
992 # ifndef YYSTACK_ALLOC_MAXIMUM
993 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
995 # if (defined __cplusplus && ! defined _STDLIB_H \
996 && ! ((defined YYMALLOC || defined malloc) \
997 && (defined YYFREE || defined free)))
1000 # define _STDLIB_H 1
1004 # define YYMALLOC malloc
1005 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1006 || defined __cplusplus || defined _MSC_VER)
1011 # define YYFREE free
1012 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1013 || defined __cplusplus || defined _MSC_VER)
1021 #if (! defined yyoverflow \
1022 && (! defined __cplusplus \
1023 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1033 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1037 # define YYSTACK_BYTES(N) \
1038 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
1039 + YYSTACK_GAP_MAXIMUM)
1044 # if defined __GNUC__ && 1 < __GNUC__
1045 # define YYCOPY(To, From, Count) \
1046 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1048 # define YYCOPY(To, From, Count) \
1052 for (yyi = 0; yyi < (Count); yyi++) \
1053 (To)[yyi] = (From)[yyi]; \
1064 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1067 YYSIZE_T yynewbytes; \
1068 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1069 Stack = &yyptr->Stack_alloc; \
1070 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1071 yyptr += yynewbytes / sizeof (*yyptr); \
1083 #define YYNTOKENS 102
1087 #define YYNRULES 177
1089 #define YYNSTATES 268
1092 #define YYUNDEFTOK 2
1093 #define YYMAXUTOK 350
1095 #define YYTRANSLATE(YYX) \
1096 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1101 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1102 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1103 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1104 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1105 2, 2, 2, 101, 2, 2, 2, 2, 2, 2,
1106 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1107 2, 98, 2, 2, 2, 2, 2, 2, 2, 2,
1108 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1109 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1110 2, 96, 2, 97, 2, 2, 2, 2, 2, 2,
1111 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1112 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1113 2, 2, 2, 99, 2, 100, 2, 2, 2, 2,
1114 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1115 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1116 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1117 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1118 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1119 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1120 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1121 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1122 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1123 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1124 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1125 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1126 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1127 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1128 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1129 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1130 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1131 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1132 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1133 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1134 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1135 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1144 0, 0, 3, 4, 7, 10, 12, 14, 16, 18,
1145 20, 22, 24, 26, 28, 30, 32, 34, 36, 38,
1146 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
1147 60, 62, 64, 66, 68, 70, 72, 74, 77, 80,
1148 84, 88, 92, 93, 97, 99, 101, 104, 106, 110,
1149 114, 118, 122, 126, 130, 134, 138, 140, 142, 144,
1150 146, 152, 153, 156, 158, 160, 165, 166, 169, 171,
1151 173, 175, 177, 179, 181, 183, 185, 187, 189, 191,
1152 193, 195, 197, 199, 201, 203, 205, 207, 210, 213,
1153 216, 219, 222, 224, 226, 229, 231, 233, 236, 238,
1154 240, 242, 244, 246, 248, 250, 253, 256, 259, 262,
1155 267, 270, 273, 277, 282, 286, 291, 295, 300, 304,
1156 309, 314, 319, 322, 325, 327, 329, 331, 334, 339,
1157 341, 343, 345, 348, 351, 353, 355, 357, 359, 361,
1158 364, 367, 370, 373, 376, 379, 385, 389, 390, 392,
1159 394, 396, 398, 402, 406, 408, 410, 413, 416, 420,
1160 424, 425, 427, 430, 433, 436, 441, 447, 449, 450,
1161 452, 456, 459, 461, 463, 465, 468, 470
1167 103, 0, -1, -1, 103, 1, -1, 103, 104, -1,
1168 107, -1, 111, -1, 119, -1, 122, -1, 146, -1,
1169 147, -1, 148, -1, 149, -1, 151, -1, 153, -1,
1170 154, -1, 157, -1, 158, -1, 159, -1, 160, -1,
1171 161, -1, 162, -1, 163, -1, 166, -1, 168, -1,
1172 169, -1, 170, -1, 171, -1, 175, -1, 176, -1,
1173 173, -1, 174, -1, 105, -1, 180, -1, 11, -1,
1174 5, -1, 108, -1, 9, 109, -1, 13, 110, -1,
1175 178, 3, 106, -1, 178, 118, 106, -1, 57, 112,
1176 106, -1, -1, 113, 115, 114, -1, 96, -1, 97,
1177 -1, 115, 116, -1, 116, -1, 89, 98, 5, -1,
1178 90, 98, 5, -1, 91, 98, 5, -1, 93, 98,
1179 5, -1, 92, 98, 5, -1, 88, 98, 5, -1,
1180 94, 98, 5, -1, 95, 98, 5, -1, 20, -1,
1181 3, -1, 4, -1, 3, -1, 32, 20, 99, 120,
1182 100, -1, -1, 120, 121, -1, 105, -1, 108, -1,
1183 33, 99, 123, 100, -1, -1, 123, 124, -1, 105,
1184 -1, 125, -1, 126, -1, 127, -1, 128, -1, 129,
1185 -1, 131, -1, 133, -1, 135, -1, 136, -1, 137,
1186 -1, 138, -1, 139, -1, 140, -1, 141, -1, 142,
1187 -1, 143, -1, 144, -1, 145, -1, 75, 5, -1,
1188 76, 5, -1, 58, 5, -1, 59, 5, -1, 72,
1189 130, -1, 74, -1, 73, -1, 61, 132, -1, 62,
1190 -1, 63, -1, 64, 134, -1, 65, -1, 66, -1,
1191 67, -1, 68, -1, 69, -1, 70, -1, 71, -1,
1192 77, 5, -1, 78, 156, -1, 79, 156, -1, 60,
1193 5, -1, 80, 99, 123, 100, -1, 81, 7, -1,
1194 82, 7, -1, 83, 7, 7, -1, 83, 7, 7,
1195 7, -1, 84, 7, 7, -1, 84, 7, 7, 7,
1196 -1, 85, 7, 7, -1, 85, 7, 7, 7, -1,
1197 86, 7, 7, -1, 86, 7, 7, 7, -1, 18,
1198 3, 4, 3, -1, 19, 3, 4, 3, -1, 17,
1199 178, -1, 34, 150, -1, 35, -1, 36, -1, 37,
1200 -1, 38, 152, -1, 38, 53, 53, 3, -1, 50,
1201 -1, 51, -1, 52, -1, 39, 155, -1, 40, 155,
1202 -1, 41, -1, 42, -1, 43, -1, 3, -1, 4,
1203 -1, 44, 156, -1, 45, 156, -1, 46, 156, -1,
1204 47, 5, -1, 48, 156, -1, 49, 156, -1, 21,
1205 117, 22, 8, 164, -1, 21, 3, 165, -1, -1,
1206 165, -1, 20, -1, 5, -1, 4, -1, 23, 167,
1207 5, -1, 23, 112, 5, -1, 20, -1, 6, -1,
1208 25, 5, -1, 26, 5, -1, 27, 172, 5, -1,
1209 28, 172, 5, -1, -1, 87, -1, 10, 5, -1,
1210 12, 5, -1, 29, 177, -1, 30, 177, 177, 177,
1211 -1, 30, 177, 177, 177, 177, -1, 7, -1, -1,
1212 179, -1, 178, 101, 179, -1, 178, 101, -1, 14,
1213 -1, 15, -1, 16, -1, 54, 181, -1, 55, -1,
1220 0, 774, 774, 775, 776, 780, 781, 782, 783, 784,
1221 785, 786, 787, 788, 789, 790, 791, 792, 793, 794,
1222 795, 796, 797, 798, 799, 800, 801, 802, 803, 804,
1223 805, 806, 807, 808, 812, 816, 820, 827, 828, 832,
1224 846, 860, 875, 876, 883, 891, 898, 899, 903, 909,
1225 915, 921, 936, 951, 957, 963, 980, 981, 985, 986,
1226 993, 1016, 1018, 1022, 1023, 1035, 1062, 1064, 1068, 1069,
1227 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079,
1228 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1090, 1099, 1108,
1229 1119, 1128, 1136, 1137, 1141, 1149, 1150, 1154, 1161, 1162,
1230 1163, 1164, 1165, 1166, 1167, 1171, 1180, 1190, 1198, 1207,
1231 1216, 1224, 1232, 1239, 1250, 1257, 1268, 1275, 1285, 1292,
1232 1302, 1312, 1322, 1330, 1338, 1339, 1340, 1344, 1368, 1389,
1233 1390, 1391, 1395, 1403, 1411, 1412, 1413, 1417, 1421, 1433,
1234 1441, 1449, 1457, 1465, 1473, 1481, 1515, 1533, 1534, 1538,
1235 1539, 1540, 1544, 1606, 1622, 1623, 1627, 1634, 1641, 1651,
1236 1661, 1662, 1666, 1674, 1685, 1693, 1701, 1713, 1722, 1723,
1237 1724, 1725, 1729, 1730, 1731, 1735, 1743, 1744
1241 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1246 "$end",
"error",
"$undefined",
"\"<number>\"",
"\"<word>\"",
1247 "\"<string>\"",
"\"<string (non-greedy)>\"",
"\"#<hex>\"",
1248 "\"<RandR output>\"",
"TOKBINDCODE",
"TOKTERMINAL",
"\"<comment>\"",
1249 "\"font\"",
"\"bindsym\"",
"\"<modifier>\"",
"\"control\"",
"\"shift\"",
1250 "\"floating_modifier\"",
"\"floating_maximum_size\"",
1251 "\"floating_minimum_size\"",
"\"<quoted string>\"",
"\"workspace\"",
1252 "\"output\"",
"\"assign\"",
"TOKSET",
"\"ipc_socket\"",
1253 "\"restart_state\"",
"\"exec\"",
"\"exec_always\"",
"TOKSINGLECOLOR",
1254 "TOKCOLOR",
"\"→\"",
"\"mode\"",
"\"bar\"",
"\"default_orientation\"",
1255 "\"horizontal\"",
"\"vertical\"",
"\"auto\"",
"\"workspace_layout\"",
1256 "\"new_window\"",
"\"new_float\"",
"\"normal\"",
"\"none\"",
1257 "\"1pixel\"",
"\"focus_follows_mouse\"",
"\"force_focus_wrapping\"",
1258 "\"force_xinerama\"",
"\"fake_outputs\"",
1259 "\"workspace_auto_back_and_forth\"",
"\"workspace_bar\"",
"\"default\"",
1260 "\"stacking\"",
"\"tabbed\"",
"\"stack-limit\"",
1261 "\"popup_during_fullscreen\"",
"\"ignore\"",
"\"leave_fullscreen\"",
1262 "\"for_window\"",
"\"output (bar)\"",
"\"tray_output\"",
1263 "\"socket_path\"",
"\"mode (bar)\"",
"\"hide\"",
"\"dock\"",
1264 "\"modifier (bar)\"",
"\"shift (bar)\"",
"\"control (bar)\"",
"\"Mod1\"",
1265 "\"Mod2\"",
"\"Mod3\"",
"\"Mod4\"",
"\"Mod5\"",
"\"position\"",
1266 "\"bottom\"",
"\"top\"",
"\"status_command\"",
"\"i3bar_command\"",
1267 "\"font (bar)\"",
"\"workspace_buttons\"",
"\"verbose\"",
"\"colors\"",
1268 "\"background\"",
"\"statusline\"",
"\"focused_workspace\"",
1269 "\"active_workspace\"",
"\"inactive_workspace\"",
"\"urgent_workspace\"",
1270 "\"--no-startup-id\"",
"\"mark\"",
"\"class\"",
"\"instance\"",
1271 "\"window_role\"",
"\"id\"",
"\"con_id\"",
"\"title\"",
"\"urgent\"",
1272 "'['",
"']'",
"'='",
"'{'",
"'}'",
"'+'",
"$accept",
"lines",
"line",
1273 "comment",
"command",
"bindline",
"binding",
"bindcode",
"bindsym",
1274 "for_window",
"match",
"matchstart",
"matchend",
"criteria",
"criterion",
1275 "qstring_or_number",
"word_or_number",
"mode",
"modelines",
"modeline",
1276 "bar",
"barlines",
"barline",
"bar_status_command",
"bar_i3bar_command",
1277 "bar_output",
"bar_tray_output",
"bar_position",
"bar_position_position",
1278 "bar_mode",
"bar_mode_mode",
"bar_modifier",
"bar_modifier_modifier",
1279 "bar_font",
"bar_workspace_buttons",
"bar_verbose",
"bar_socket_path",
1280 "bar_colors",
"bar_color_background",
"bar_color_statusline",
1281 "bar_color_focused_workspace",
"bar_color_active_workspace",
1282 "bar_color_inactive_workspace",
"bar_color_urgent_workspace",
1283 "floating_maximum_size",
"floating_minimum_size",
"floating_modifier",
1284 "orientation",
"direction",
"workspace_layout",
"layout_mode",
1285 "new_window",
"new_float",
"border_style",
"bool",
"focus_follows_mouse",
1286 "force_focus_wrapping",
"force_xinerama",
"fake_outputs",
1287 "workspace_back_and_forth",
"workspace_bar",
"workspace",
1288 "optional_workspace_name",
"workspace_name",
"assign",
"window_class",
1289 "ipcsocket",
"restart_state",
"exec",
"exec_always",
1290 "optional_no_startup_id",
"terminal",
"font",
"single_color",
"color",
1291 "colorpixel",
"binding_modifiers",
"binding_modifier",
1292 "popup_during_fullscreen",
"popup_setting", 0
1299 static const yytype_uint16 yytoknum[] =
1301 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1302 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1303 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1304 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1305 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1306 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1307 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1308 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1309 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1310 345, 346, 347, 348, 349, 350, 91, 93, 61, 123,
1318 0, 102, 103, 103, 103, 104, 104, 104, 104, 104,
1319 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1320 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1321 104, 104, 104, 104, 105, 106, 107, 108, 108, 109,
1322 110, 111, 112, 112, 113, 114, 115, 115, 116, 116,
1323 116, 116, 116, 116, 116, 116, 117, 117, 118, 118,
1324 119, 120, 120, 121, 121, 122, 123, 123, 124, 124,
1325 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
1326 124, 124, 124, 124, 124, 124, 124, 125, 126, 127,
1327 128, 129, 130, 130, 131, 132, 132, 133, 134, 134,
1328 134, 134, 134, 134, 134, 135, 136, 137, 138, 139,
1329 140, 141, 142, 142, 143, 143, 144, 144, 145, 145,
1330 146, 147, 148, 149, 150, 150, 150, 151, 151, 152,
1331 152, 152, 153, 154, 155, 155, 155, 156, 156, 157,
1332 158, 159, 160, 161, 162, 163, 163, 164, 164, 165,
1333 165, 165, 166, 166, 167, 167, 168, 169, 170, 171,
1334 172, 172, 173, 174, 175, 176, 176, 177, 178, 178,
1335 178, 178, 179, 179, 179, 180, 181, 181
1341 0, 2, 0, 2, 2, 1, 1, 1, 1, 1,
1342 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1343 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1344 1, 1, 1, 1, 1, 1, 1, 2, 2, 3,
1345 3, 3, 0, 3, 1, 1, 2, 1, 3, 3,
1346 3, 3, 3, 3, 3, 3, 1, 1, 1, 1,
1347 5, 0, 2, 1, 1, 4, 0, 2, 1, 1,
1348 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1349 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
1350 2, 2, 1, 1, 2, 1, 1, 2, 1, 1,
1351 1, 1, 1, 1, 1, 2, 2, 2, 2, 4,
1352 2, 2, 3, 4, 3, 4, 3, 4, 3, 4,
1353 4, 4, 2, 2, 1, 1, 1, 2, 4, 1,
1354 1, 1, 2, 2, 1, 1, 1, 1, 1, 2,
1355 2, 2, 2, 2, 2, 5, 3, 0, 1, 1,
1356 1, 1, 3, 3, 1, 1, 2, 2, 3, 3,
1357 0, 1, 2, 2, 2, 4, 5, 1, 0, 1,
1358 3, 2, 1, 1, 1, 2, 1, 1
1366 2, 0, 1, 3, 168, 0, 34, 0, 168, 168,
1367 0, 0, 0, 42, 0, 0, 160, 160, 0, 0,
1368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1369 0, 0, 0, 42, 4, 32, 5, 36, 6, 7,
1370 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1371 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1372 30, 31, 28, 29, 33, 172, 173, 174, 37, 0,
1373 169, 162, 163, 38, 0, 122, 0, 0, 57, 56,
1374 0, 155, 154, 44, 0, 0, 0, 156, 157, 161,
1375 0, 0, 167, 164, 0, 0, 66, 124, 125, 126,
1376 123, 129, 130, 131, 0, 127, 134, 135, 136, 132,
1377 133, 137, 138, 139, 140, 141, 142, 143, 144, 176,
1378 177, 175, 0, 0, 171, 59, 58, 0, 0, 0,
1379 151, 150, 149, 146, 0, 153, 0, 0, 0, 0,
1380 0, 0, 0, 0, 0, 47, 152, 158, 159, 0,
1381 61, 0, 0, 35, 41, 39, 170, 40, 120, 121,
1382 147, 0, 0, 0, 0, 0, 0, 0, 0, 45,
1383 43, 46, 165, 0, 0, 0, 0, 0, 0, 0,
1384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1385 0, 0, 65, 68, 67, 69, 70, 71, 72, 73,
1386 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1387 84, 85, 86, 128, 145, 148, 53, 48, 49, 50,
1388 52, 51, 54, 55, 166, 60, 63, 64, 62, 89,
1389 90, 108, 95, 96, 94, 98, 99, 100, 101, 102,
1390 103, 104, 97, 93, 92, 91, 87, 88, 105, 106,
1391 107, 66, 110, 111, 0, 0, 0, 0, 0, 112,
1392 114, 116, 118, 109, 113, 115, 117, 119
1398 -1, 1, 34, 193, 154, 36, 37, 68, 73, 38,
1399 84, 85, 170, 144, 145, 80, 127, 39, 173, 228,
1400 40, 151, 194, 195, 196, 197, 198, 199, 245, 200,
1401 234, 201, 242, 202, 203, 204, 205, 206, 207, 208,
1402 209, 210, 211, 212, 41, 42, 43, 44, 100, 45,
1403 105, 46, 47, 109, 113, 48, 49, 50, 51, 52,
1404 53, 54, 214, 133, 55, 86, 56, 57, 58, 59,
1405 90, 60, 61, 62, 63, 93, 69, 70, 64, 121
1410 #define YYPACT_NINF -83
1413 -83, 150, -83, -83, 43, 10, -83, 72, 43, 43,
1414 77, 78, 11, 6, 89, 94, -77, -77, 96, 96,
1415 85, 9, 25, -23, 31, 31, 40, 40, 40, 105,
1416 40, 40, -9, 15, -83, -83, -83, -83, -83, -83,
1417 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1418 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1419 -83, -83, -83, -83, -83, -83, -83, -83, -83, 5,
1420 -83, -83, -83, -83, 3, 23, 121, 122, 12, -83,
1421 106, -83, -83, -83, 124, -39, 125, -83, -83, -83,
1422 126, 127, -83, -83, 96, 28, -83, -83, -83, -83,
1423 -83, -83, -83, -83, 81, -83, -83, -83, -83, -83,
1424 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1425 -83, -83, 130, 130, 43, -83, -83, 130, 133, 135,
1426 -83, -83, -83, -83, 131, -83, 42, 44, 45, 46,
1427 47, 48, 49, 50, -55, -83, -83, -83, -83, 96,
1428 -83, 7, 138, -83, -83, -83, -83, -83, -83, -83,
1429 12, 144, 147, 148, 149, 159, 160, 161, 165, -83,
1430 -83, -83, 96, 0, 169, 176, 180, 1, -46, -4,
1431 181, 182, 186, 40, 40, 56, 185, 193, 194, 195,
1432 196, 198, -83, -83, -83, -83, -83, -83, -83, -83,
1433 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1434 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1435 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1436 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1437 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1438 -83, -83, -83, -83, 199, 201, 202, 203, 37, 204,
1439 205, 206, 207, -83, -83, -83, -83, -83
1445 -83, -83, -83, -1, -82, -83, 20, -83, -83, -83,
1446 183, -83, -83, -83, 71, -83, -83, -83, -83, -83,
1447 -83, -34, -83, -83, -83, -83, -83, -83, -83, -83,
1448 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1449 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1450 -83, -83, -83, 197, -26, -83, -83, -83, -83, -83,
1451 -83, -83, -83, 58, -83, -83, -83, -83, -83, -83,
1452 208, -83, -83, -83, -83, -16, 67, 95, -83, -83
1459 #define YYTABLE_NINF -1
1462 35, 114, 115, 94, 117, 118, 125, 126, 123, 4,
1463 89, 6, 81, 8, 78, 71, 130, 131, 6, 235,
1464 236, 237, 238, 239, 240, 241, 82, 101, 102, 103,
1465 104, 79, 132, 136, 137, 138, 139, 140, 141, 142,
1466 143, 155, 169, 111, 112, 157, 119, 120, 6, 136,
1467 137, 138, 139, 140, 141, 142, 143, 65, 66, 67,
1468 97, 98, 99, 232, 233, 174, 175, 176, 177, 243,
1469 244, 178, 106, 107, 108, 74, 75, 72, 149, 179,
1470 76, 77, 180, 181, 182, 183, 184, 185, 186, 187,
1471 188, 189, 190, 191, 87, 174, 175, 176, 177, 88,
1472 225, 178, 83, 92, 124, 95, 124, 192, 96, 179,
1473 116, 83, 180, 181, 182, 183, 184, 185, 186, 187,
1474 188, 189, 190, 191, 124, 128, 129, 150, 134, 135,
1475 146, 147, 148, 172, 152, 153, 158, 263, 159, 160,
1476 161, 213, 162, 163, 164, 165, 166, 167, 168, 216,
1477 2, 3, 217, 218, 219, 251, 224, 249, 250, 4,
1478 5, 6, 7, 8, 220, 221, 222, 9, 10, 11,
1479 223, 12, 226, 13, 229, 14, 15, 16, 17, 18,
1480 19, 230, 20, 21, 22, 231, 246, 247, 23, 24,
1481 25, 248, 252, 227, 26, 27, 28, 29, 30, 31,
1482 253, 254, 255, 256, 32, 257, 259, 33, 260, 261,
1483 262, 264, 265, 266, 267, 171, 122, 258, 215, 156,
1489 1, 27, 28, 19, 30, 31, 3, 4, 3, 9,
1490 87, 11, 6, 13, 3, 5, 4, 5, 11, 65,
1491 66, 67, 68, 69, 70, 71, 20, 50, 51, 52,
1492 53, 20, 20, 88, 89, 90, 91, 92, 93, 94,
1493 95, 123, 97, 3, 4, 127, 55, 56, 11, 88,
1494 89, 90, 91, 92, 93, 94, 95, 14, 15, 16,
1495 35, 36, 37, 62, 63, 58, 59, 60, 61, 73,
1496 74, 64, 41, 42, 43, 8, 9, 5, 94, 72,
1497 3, 3, 75, 76, 77, 78, 79, 80, 81, 82,
1498 83, 84, 85, 86, 5, 58, 59, 60, 61, 5,
1499 100, 64, 96, 7, 101, 20, 101, 100, 99, 72,
1500 5, 96, 75, 76, 77, 78, 79, 80, 81, 82,
1501 83, 84, 85, 86, 101, 4, 4, 99, 22, 5,
1502 5, 5, 5, 149, 53, 5, 3, 100, 3, 8,
1503 98, 3, 98, 98, 98, 98, 98, 98, 98, 5,
1504 0, 1, 5, 5, 5, 99, 172, 183, 184, 9,
1505 10, 11, 12, 13, 5, 5, 5, 17, 18, 19,
1506 5, 21, 173, 23, 5, 25, 26, 27, 28, 29,
1507 30, 5, 32, 33, 34, 5, 5, 5, 38, 39,
1508 40, 5, 7, 173, 44, 45, 46, 47, 48, 49,
1509 7, 7, 7, 7, 54, 7, 7, 57, 7, 7,
1510 7, 7, 7, 7, 7, 144, 33, 251, 160, 124,
1511 -1, -1, 25, -1, -1, 17
1518 0, 103, 0, 1, 9, 10, 11, 12, 13, 17,
1519 18, 19, 21, 23, 25, 26, 27, 28, 29, 30,
1520 32, 33, 34, 38, 39, 40, 44, 45, 46, 47,
1521 48, 49, 54, 57, 104, 105, 107, 108, 111, 119,
1522 122, 146, 147, 148, 149, 151, 153, 154, 157, 158,
1523 159, 160, 161, 162, 163, 166, 168, 169, 170, 171,
1524 173, 174, 175, 176, 180, 14, 15, 16, 109, 178,
1525 179, 5, 5, 110, 178, 178, 3, 3, 3, 20,
1526 117, 6, 20, 96, 112, 113, 167, 5, 5, 87,
1527 172, 172, 7, 177, 177, 20, 99, 35, 36, 37,
1528 150, 50, 51, 52, 53, 152, 41, 42, 43, 155,
1529 155, 3, 4, 156, 156, 156, 5, 156, 156, 55,
1530 56, 181, 112, 3, 101, 3, 4, 118, 4, 4,
1531 4, 5, 20, 165, 22, 5, 88, 89, 90, 91,
1532 92, 93, 94, 95, 115, 116, 5, 5, 5, 177,
1533 99, 123, 53, 5, 106, 106, 179, 106, 3, 3,
1534 8, 98, 98, 98, 98, 98, 98, 98, 98, 97,
1535 114, 116, 177, 120, 58, 59, 60, 61, 64, 72,
1536 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1537 85, 86, 100, 105, 124, 125, 126, 127, 128, 129,
1538 131, 133, 135, 136, 137, 138, 139, 140, 141, 142,
1539 143, 144, 145, 3, 164, 165, 5, 5, 5, 5,
1540 5, 5, 5, 5, 177, 100, 105, 108, 121, 5,
1541 5, 5, 62, 63, 132, 65, 66, 67, 68, 69,
1542 70, 71, 134, 73, 74, 130, 5, 5, 5, 156,
1543 156, 99, 7, 7, 7, 7, 7, 7, 123, 7,
1544 7, 7, 7, 100, 7, 7, 7, 7
1547 #define yyerrok (yyerrstatus = 0)
1548 #define yyclearin (yychar = YYEMPTY)
1549 #define YYEMPTY (-2)
1552 #define YYACCEPT goto yyacceptlab
1553 #define YYABORT goto yyabortlab
1554 #define YYERROR goto yyerrorlab
1564 #define YYFAIL goto yyerrlab
1572 #define YYRECOVERING() (!!yyerrstatus)
1574 #define YYBACKUP(Token, Value) \
1576 if (yychar == YYEMPTY && yylen == 1) \
1580 yytoken = YYTRANSLATE (yychar); \
1586 yyerror (YY_("syntax error: cannot back up")); \
1593 #define YYERRCODE 256
1600 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1601 #ifndef YYLLOC_DEFAULT
1602 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1606 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1607 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1608 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1609 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1613 (Current).first_line = (Current).last_line = \
1614 YYRHSLOC (Rhs, 0).last_line; \
1615 (Current).first_column = (Current).last_column = \
1616 YYRHSLOC (Rhs, 0).last_column; \
1626 #ifndef YY_LOCATION_PRINT
1627 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1628 # define YY_LOCATION_PRINT(File, Loc) \
1629 fprintf (File, "%d.%d-%d.%d", \
1630 (Loc).first_line, (Loc).first_column, \
1631 (Loc).last_line, (Loc).last_column)
1633 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1641 # define YYLEX yylex (YYLEX_PARAM)
1643 # define YYLEX yylex (context)
1651 # define YYFPRINTF fprintf
1654 # define YYDPRINTF(Args) \
1660 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1664 YYFPRINTF (stderr, "%s ", Title); \
1665 yy_symbol_print (stderr, \
1667 YYFPRINTF (stderr, "\n"); \
1677 #if (defined __STDC__ || defined __C99__FUNC__ \
1678 || defined __cplusplus || defined _MSC_VER)
1686 YYSTYPE const * const yyvaluep;
1693 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1709 #if (defined __STDC__ || defined __C99__FUNC__ \
1710 || defined __cplusplus || defined _MSC_VER)
1718 YYSTYPE const * const yyvaluep;
1722 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
1724 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
1735 #if (defined __STDC__ || defined __C99__FUNC__ \
1736 || defined __cplusplus || defined _MSC_VER)
1742 yytype_int16 *yybottom;
1743 yytype_int16 *yytop;
1747 for (; yybottom <= yytop; yybottom++)
1749 int yybot = *yybottom;
1755 # define YY_STACK_PRINT(Bottom, Top) \
1758 yy_stack_print ((Bottom), (Top)); \
1766 #if (defined __STDC__ || defined __C99__FUNC__ \
1767 || defined __cplusplus || defined _MSC_VER)
1777 int yynrhs = yyr2[yyrule];
1779 unsigned long int yylno = yyrline[yyrule];
1780 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1783 for (yyi = 0; yyi < yynrhs; yyi++)
1787 &(yyvsp[(yyi + 1) - (yynrhs)])
1793 # define YY_REDUCE_PRINT(Rule) \
1796 yy_reduce_print (yyvsp, Rule); \
1803 # define YYDPRINTF(Args)
1804 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1805 # define YY_STACK_PRINT(Bottom, Top)
1806 # define YY_REDUCE_PRINT(Rule)
1812 # define YYINITDEPTH 200
1823 # define YYMAXDEPTH 10000
1831 # if defined __GLIBC__ && defined _STRING_H
1832 # define yystrlen strlen
1835 #if (defined __STDC__ || defined __C99__FUNC__ \
1836 || defined __cplusplus || defined _MSC_VER)
1846 for (yylen = 0; yystr[yylen]; yylen++)
1854 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1855 # define yystpcpy stpcpy
1859 #if (defined __STDC__ || defined __C99__FUNC__ \
1860 || defined __cplusplus || defined _MSC_VER)
1862 yystpcpy (
char *yydest,
const char *yysrc)
1871 const char *yys = yysrc;
1873 while ((*yyd++ = *yys++) !=
'\0')
1895 char const *yyp = yystr;
1902 goto do_not_strip_quotes;
1906 goto do_not_strip_quotes;
1919 do_not_strip_quotes: ;
1925 return yystpcpy (yyres, yystr) - yyres;
1939 int yyn = yypact[yystate];
1949 int yysize_overflow = 0;
1950 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1951 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1957 YY_(
"syntax error, unexpected %s");
1958 YY_(
"syntax error, unexpected %s, expecting %s");
1959 YY_(
"syntax error, unexpected %s, expecting %s or %s");
1960 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s");
1961 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s");
1965 static char const yyunexpected[] =
"syntax error, unexpected %s";
1966 static char const yyexpecting[] =
", expecting %s";
1967 static char const yyor[] =
" or %s";
1968 char yyformat[
sizeof yyunexpected
1969 +
sizeof yyexpecting - 1
1970 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1971 * (
sizeof yyor - 1))];
1972 char const *yyprefix = yyexpecting;
1976 int yyxbegin = yyn < 0 ? -yyn : 0;
1979 int yychecklim =
YYLAST - yyn + 1;
1983 yyarg[0] = yytname[yytype];
1984 yyfmt =
yystpcpy (yyformat, yyunexpected);
1986 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1987 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR)
1989 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1993 yyformat[
sizeof yyunexpected - 1] =
'\0';
1996 yyarg[yycount++] = yytname[yyx];
1997 yysize1 = yysize +
yytnamerr (0, yytname[yyx]);
1998 yysize_overflow |= (yysize1 < yysize);
2000 yyfmt =
yystpcpy (yyfmt, yyprefix);
2004 yyf =
YY_(yyformat);
2006 yysize_overflow |= (yysize1 < yysize);
2009 if (yysize_overflow)
2017 char *yyp = yyresult;
2019 while ((*yyp = *yyf) !=
'\0')
2021 if (*yyp ==
'%' && yyf[1] ==
's' && yyi < yycount)
2044 #if (defined __STDC__ || defined __C99__FUNC__ \
2045 || defined __cplusplus || defined _MSC_VER)
2071 #ifdef YYPARSE_PARAM
2072 #if defined __STDC__ || defined __cplusplus
2073 int yyparse (
void *YYPARSE_PARAM);
2078 #if defined __STDC__ || defined __cplusplus
2101 #ifdef YYPARSE_PARAM
2102 #if (defined __STDC__ || defined __C99__FUNC__ \
2103 || defined __cplusplus || defined _MSC_VER)
2109 void *YYPARSE_PARAM;
2112 #if (defined __STDC__ || defined __C99__FUNC__ \
2113 || defined __cplusplus || defined _MSC_VER)
2139 yytype_int16 *yyssp;
2159 char *yymsg = yymsgbuf;
2160 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
2163 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2174 YYDPRINTF ((stderr,
"Starting parse\n"));
2201 if (yyss + yystacksize - 1 <= yyssp)
2204 YYSIZE_T yysize = yyssp - yyss + 1;
2212 yytype_int16 *yyss1 = yyss;
2218 yyoverflow (
YY_(
"memory exhausted"),
2219 &yyss1, yysize *
sizeof (*yyssp),
2220 &yyvs1, yysize *
sizeof (*yyvsp),
2227 # ifndef YYSTACK_RELOCATE
2228 goto yyexhaustedlab;
2232 goto yyexhaustedlab;
2238 yytype_int16 *yyss1 = yyss;
2242 goto yyexhaustedlab;
2245 # undef YYSTACK_RELOCATE
2252 yyssp = yyss + yysize - 1;
2253 yyvsp = yyvs + yysize - 1;
2255 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
2256 (
unsigned long int) yystacksize));
2258 if (yyss + yystacksize - 1 <= yyssp)
2262 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
2278 yyn = yypact[yystate];
2287 YYDPRINTF ((stderr,
"Reading a token: "));
2291 if (yychar <=
YYEOF)
2293 yychar = yytoken =
YYEOF;
2294 YYDPRINTF ((stderr,
"Now at end of input.\n"));
2305 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
2337 yyn = yydefact[yystate];
2358 yyval = yyvsp[1-yylen];
2367 #line 821 "src/cfgparse.y"
2376 #line 827 "src/cfgparse.y"
2377 { (yyval.
binding) = (yyvsp[(2) - (2)].binding); ;}
2383 #line 828 "src/cfgparse.y"
2384 { (yyval.
binding) = (yyvsp[(2) - (2)].binding); ;}
2390 #line 833 "src/cfgparse.y"
2392 printf(
"\tFound keycode binding mod%d with key %d and command %s\n", (yyvsp[(1) - (3)].number), (yyvsp[(2) - (3)].number), (yyvsp[(3) - (3)].
string));
2395 new->keycode = (yyvsp[(2) - (3)].
number);
2396 new->mods = (yyvsp[(1) - (3)].
number);
2397 new->command = (yyvsp[(3) - (3)].
string);
2406 #line 847 "src/cfgparse.y"
2408 printf(
"\tFound keysym binding mod%d with key %s and command %s\n", (yyvsp[(1) - (3)].number), (yyvsp[(2) - (3)].
string), (yyvsp[(3) - (3)].
string));
2411 new->symbol = (yyvsp[(2) - (3)].
string);
2412 new->mods = (yyvsp[(1) - (3)].
number);
2413 new->command = (yyvsp[(3) - (3)].
string);
2422 #line 861 "src/cfgparse.y"
2425 ELOG(
"Match is empty, ignoring this for_window statement\n");
2428 printf(
"\t should execute command %s for the criteria mentioned above\n", (yyvsp[(3) - (3)].
string));
2430 assignment->
type = A_COMMAND;
2440 #line 877 "src/cfgparse.y"
2442 printf(
"match parsed\n");
2449 #line 884 "src/cfgparse.y"
2459 #line 892 "src/cfgparse.y"
2461 printf(
"match specification finished\n");
2468 #line 904 "src/cfgparse.y"
2470 printf(
"criteria: class = %s\n", (yyvsp[(3) - (3)].
string));
2472 free((yyvsp[(3) - (3)].
string));
2479 #line 910 "src/cfgparse.y"
2481 printf(
"criteria: instance = %s\n", (yyvsp[(3) - (3)].
string));
2483 free((yyvsp[(3) - (3)].
string));
2490 #line 916 "src/cfgparse.y"
2492 printf(
"criteria: window_role = %s\n", (yyvsp[(3) - (3)].
string));
2494 free((yyvsp[(3) - (3)].
string));
2501 #line 922 "src/cfgparse.y"
2503 printf(
"criteria: id = %s\n", (yyvsp[(3) - (3)].
string));
2505 long parsed = strtol((yyvsp[(3) - (3)].
string), &end, 10);
2506 if (parsed == LONG_MIN ||
2507 parsed == LONG_MAX ||
2509 (end && *end !=
'\0')) {
2510 ELOG(
"Could not parse con id \"%s\"\n", (yyvsp[(3) - (3)].
string));
2513 printf(
"id as int = %p\n", current_match.
con_id);
2521 #line 937 "src/cfgparse.y"
2523 printf(
"criteria: window id = %s\n", (yyvsp[(3) - (3)].
string));
2525 long parsed = strtol((yyvsp[(3) - (3)].
string), &end, 10);
2526 if (parsed == LONG_MIN ||
2527 parsed == LONG_MAX ||
2529 (end && *end !=
'\0')) {
2530 ELOG(
"Could not parse window id \"%s\"\n", (yyvsp[(3) - (3)].
string));
2532 current_match.
id = parsed;
2533 printf(
"window id as int = %d\n", current_match.
id);
2541 #line 952 "src/cfgparse.y"
2543 printf(
"criteria: mark = %s\n", (yyvsp[(3) - (3)].
string));
2545 free((yyvsp[(3) - (3)].
string));
2552 #line 958 "src/cfgparse.y"
2554 printf(
"criteria: title = %s\n", (yyvsp[(3) - (3)].
string));
2556 free((yyvsp[(3) - (3)].
string));
2563 #line 964 "src/cfgparse.y"
2565 printf(
"criteria: urgent = %s\n", (yyvsp[(3) - (3)].
string));
2566 if (strcasecmp((yyvsp[(3) - (3)].
string),
"latest") == 0 ||
2567 strcasecmp((yyvsp[(3) - (3)].
string),
"newest") == 0 ||
2568 strcasecmp((yyvsp[(3) - (3)].
string),
"recent") == 0 ||
2569 strcasecmp((yyvsp[(3) - (3)].
string),
"last") == 0) {
2570 current_match.
urgent = U_LATEST;
2571 }
else if (strcasecmp((yyvsp[(3) - (3)].
string),
"oldest") == 0 ||
2572 strcasecmp((yyvsp[(3) - (3)].
string),
"first") == 0) {
2573 current_match.
urgent = U_OLDEST;
2575 free((yyvsp[(3) - (3)].
string));
2582 #line 981 "src/cfgparse.y"
2589 #line 987 "src/cfgparse.y"
2598 #line 994 "src/cfgparse.y"
2600 if (strcasecmp((yyvsp[(2) - (5)].
string),
"default") == 0) {
2601 printf(
"You cannot use the name \"default\" for your mode\n");
2604 printf(
"\t now in mode %s\n", (yyvsp[(2) - (5)].
string));
2608 printf(
"got binding on mods %d, keycode %d, symbol %s, command %s\n",
2623 #line 1024 "src/cfgparse.y"
2637 #line 1036 "src/cfgparse.y"
2639 printf(
"\t new bar configuration finished, saving.\n");
2645 char *
x = current_bar.
id + strlen(
"bar-");
2646 while (*x !=
'\0') {
2647 *(x++) = (rand() % 26) +
'a';
2657 memcpy(bar_config, ¤t_bar,
sizeof(
Barconfig));
2660 memset(¤t_bar,
'\0',
sizeof(
Barconfig));
2667 #line 1091 "src/cfgparse.y"
2669 DLOG(
"should add status command %s\n", (yyvsp[(2) - (2)].
string));
2678 #line 1100 "src/cfgparse.y"
2680 DLOG(
"should add i3bar_command %s\n", (yyvsp[(2) - (2)].
string));
2689 #line 1109 "src/cfgparse.y"
2691 DLOG(
"bar output %s\n", (yyvsp[(2) - (2)].
string));
2702 #line 1120 "src/cfgparse.y"
2704 DLOG(
"tray %s\n", (yyvsp[(2) - (2)].
string));
2713 #line 1129 "src/cfgparse.y"
2715 DLOG(
"position %d\n", (yyvsp[(2) - (2)].number));
2723 #line 1136 "src/cfgparse.y"
2724 { (yyval.
number) = P_TOP; ;}
2730 #line 1137 "src/cfgparse.y"
2731 { (yyval.
number) = P_BOTTOM; ;}
2737 #line 1142 "src/cfgparse.y"
2739 DLOG(
"mode %d\n", (yyvsp[(2) - (2)].number));
2740 current_bar.
mode = (yyvsp[(2) - (2)].
number);
2747 #line 1149 "src/cfgparse.y"
2748 { (yyval.
number) = M_HIDE; ;}
2754 #line 1150 "src/cfgparse.y"
2755 { (yyval.
number) = M_DOCK; ;}
2761 #line 1155 "src/cfgparse.y"
2763 DLOG(
"modifier %d\n", (yyvsp[(2) - (2)].number));
2771 #line 1161 "src/cfgparse.y"
2772 { (yyval.
number) = M_CONTROL; ;}
2778 #line 1162 "src/cfgparse.y"
2779 { (yyval.
number) = M_SHIFT; ;}
2785 #line 1163 "src/cfgparse.y"
2786 { (yyval.
number) = M_MOD1; ;}
2792 #line 1164 "src/cfgparse.y"
2793 { (yyval.
number) = M_MOD2; ;}
2799 #line 1165 "src/cfgparse.y"
2800 { (yyval.
number) = M_MOD3; ;}
2806 #line 1166 "src/cfgparse.y"
2807 { (yyval.
number) = M_MOD4; ;}
2813 #line 1167 "src/cfgparse.y"
2814 { (yyval.
number) = M_MOD5; ;}
2820 #line 1172 "src/cfgparse.y"
2822 DLOG(
"font %s\n", (yyvsp[(2) - (2)].
string));
2824 current_bar.
font = (yyvsp[(2) - (2)].
string);
2831 #line 1181 "src/cfgparse.y"
2833 DLOG(
"workspace_buttons = %d\n", (yyvsp[(2) - (2)].number));
2843 #line 1191 "src/cfgparse.y"
2845 DLOG(
"verbose = %d\n", (yyvsp[(2) - (2)].number));
2853 #line 1199 "src/cfgparse.y"
2855 DLOG(
"socket_path = %s\n", (yyvsp[(2) - (2)].
string));
2864 #line 1208 "src/cfgparse.y"
2875 #line 1217 "src/cfgparse.y"
2877 DLOG(
"background = %s\n", (yyvsp[(2) - (2)].
string));
2885 #line 1225 "src/cfgparse.y"
2887 DLOG(
"statusline = %s\n", (yyvsp[(2) - (2)].
string));
2895 #line 1233 "src/cfgparse.y"
2898 DLOG(
"focused_ws = %s, %s (old)\n", (yyvsp[(2) - (3)].
string), (yyvsp[(3) - (3)].
string));
2907 #line 1240 "src/cfgparse.y"
2910 DLOG(
"focused_ws = %s, %s and %s\n", (yyvsp[(2) - (4)].
string), (yyvsp[(3) - (4)].
string), (yyvsp[(4) - (4)].
string));
2920 #line 1251 "src/cfgparse.y"
2923 DLOG(
"active_ws = %s, %s (old)\n", (yyvsp[(2) - (3)].
string), (yyvsp[(3) - (3)].
string));
2932 #line 1258 "src/cfgparse.y"
2935 DLOG(
"active_ws = %s, %s and %s\n", (yyvsp[(2) - (4)].
string), (yyvsp[(3) - (4)].
string), (yyvsp[(4) - (4)].
string));
2945 #line 1269 "src/cfgparse.y"
2948 DLOG(
"inactive_ws = %s, %s (old)\n", (yyvsp[(2) - (3)].
string), (yyvsp[(3) - (3)].
string));
2957 #line 1276 "src/cfgparse.y"
2959 DLOG(
"inactive_ws = %s, %s and %s\n", (yyvsp[(2) - (4)].
string), (yyvsp[(3) - (4)].
string), (yyvsp[(4) - (4)].
string));
2969 #line 1286 "src/cfgparse.y"
2972 DLOG(
"urgent_ws = %s, %s (old)\n", (yyvsp[(2) - (3)].
string), (yyvsp[(3) - (3)].
string));
2981 #line 1293 "src/cfgparse.y"
2983 DLOG(
"urgent_ws = %s, %s and %s\n", (yyvsp[(2) - (4)].
string), (yyvsp[(3) - (4)].
string), (yyvsp[(4) - (4)].
string));
2993 #line 1303 "src/cfgparse.y"
2995 printf(
"floating_maximum_width = %d\n", (yyvsp[(2) - (4)].number));
2996 printf(
"floating_maximum_height = %d\n", (yyvsp[(4) - (4)].number));
3005 #line 1313 "src/cfgparse.y"
3007 printf(
"floating_minimum_width = %d\n", (yyvsp[(2) - (4)].number));
3008 printf(
"floating_minimum_height = %d\n", (yyvsp[(4) - (4)].number));
3017 #line 1323 "src/cfgparse.y"
3019 DLOG(
"floating modifier = %d\n", (yyvsp[(2) - (2)].number));
3027 #line 1331 "src/cfgparse.y"
3029 DLOG(
"New containers should start with split direction %d\n", (yyvsp[(2) - (2)].number));
3037 #line 1338 "src/cfgparse.y"
3044 #line 1339 "src/cfgparse.y"
3051 #line 1340 "src/cfgparse.y"
3058 #line 1345 "src/cfgparse.y"
3060 DLOG(
"new containers will be in mode %d\n", (yyvsp[(2) - (2)].number));
3074 if (ws->table == NULL)
3076 switch_layout_mode(global_conn,
3087 #line 1369 "src/cfgparse.y"
3089 DLOG(
"stack-limit %d with val %d\n", (yyvsp[(3) - (4)].number), (yyvsp[(4) - (4)].number));
3097 if (ws->table == NULL)
3099 Container *con = ws->table[0][0];
3110 #line 1389 "src/cfgparse.y"
3111 { (yyval.
number) = L_DEFAULT; ;}
3117 #line 1390 "src/cfgparse.y"
3118 { (yyval.
number) = L_STACKED; ;}
3124 #line 1391 "src/cfgparse.y"
3125 { (yyval.
number) = L_TABBED; ;}
3131 #line 1396 "src/cfgparse.y"
3133 DLOG(
"new windows should start with border style %d\n", (yyvsp[(2) - (2)].number));
3141 #line 1404 "src/cfgparse.y"
3143 DLOG(
"new floating windows should start with border style %d\n", (yyvsp[(2) - (2)].number));
3151 #line 1411 "src/cfgparse.y"
3158 #line 1412 "src/cfgparse.y"
3165 #line 1413 "src/cfgparse.y"
3172 #line 1418 "src/cfgparse.y"
3174 (yyval.
number) = ((yyvsp[(1) - (1)].number) == 1);
3181 #line 1422 "src/cfgparse.y"
3183 DLOG(
"checking word \"%s\"\n", (yyvsp[(1) - (1)].
string));
3184 (yyval.
number) = (strcasecmp((yyvsp[(1) - (1)].
string),
"yes") == 0 ||
3185 strcasecmp((yyvsp[(1) - (1)].
string),
"true") == 0 ||
3186 strcasecmp((yyvsp[(1) - (1)].
string),
"on") == 0 ||
3187 strcasecmp((yyvsp[(1) - (1)].
string),
"enable") == 0 ||
3188 strcasecmp((yyvsp[(1) - (1)].
string),
"active") == 0);
3195 #line 1434 "src/cfgparse.y"
3197 DLOG(
"focus follows mouse = %d\n", (yyvsp[(2) - (2)].number));
3205 #line 1442 "src/cfgparse.y"
3207 DLOG(
"force focus wrapping = %d\n", (yyvsp[(2) - (2)].number));
3215 #line 1450 "src/cfgparse.y"
3217 DLOG(
"force xinerama = %d\n", (yyvsp[(2) - (2)].number));
3225 #line 1458 "src/cfgparse.y"
3227 DLOG(
"fake outputs = %s\n", (yyvsp[(2) - (2)].
string));
3235 #line 1466 "src/cfgparse.y"
3237 DLOG(
"automatic workspace back-and-forth = %d\n", (yyvsp[(2) - (2)].number));
3245 #line 1474 "src/cfgparse.y"
3247 DLOG(
"workspace bar = %d\n", (yyvsp[(2) - (2)].number));
3255 #line 1482 "src/cfgparse.y"
3257 char *ws_name = (yyvsp[(2) - (5)].
string);
3259 if ((yyvsp[(5) - (5)].
string) != NULL) {
3260 ELOG(
"The old (v3) syntax workspace <number> output <output> <name> is deprecated.\n");
3261 ELOG(
"Please use the new syntax: workspace \"<workspace>\" output <output>\n");
3262 ELOG(
"In your case, the following should work:\n");
3263 ELOG(
" workspace \"%s\" output %s\n", (yyvsp[(5) - (5)].
string), (yyvsp[(4) - (5)].
string));
3264 ws_name = (yyvsp[(5) - (5)].
string);
3268 DLOG(
"Assigning workspace \"%s\" to output \"%s\"\n", ws_name, (yyvsp[(4) - (5)].
string));
3273 bool duplicate =
false;
3275 if (strcasecmp(assignment->
name, ws_name) == 0) {
3276 ELOG(
"You have a duplicate workspace assignment for workspace \"%s\"\n",
3284 assignment->
name = ws_name;
3294 #line 1516 "src/cfgparse.y"
3296 int ws_num = (yyvsp[(2) - (3)].
number);
3298 DLOG(
"Invalid workspace assignment, workspace number %d out of range\n", ws_num);
3300 DLOG(
"workspace name to: %s\n", (yyvsp[(3) - (3)].
string));
3302 if ((yyvsp[(3) - (3)].
string) != NULL) {
3303 workspace_set_name(
workspace_get(ws_num - 1), (yyvsp[(3) - (3)].
string));
3304 free((yyvsp[(3) - (3)].
string));
3314 #line 1533 "src/cfgparse.y"
3315 { (yyval.
string) = NULL; ;}
3321 #line 1534 "src/cfgparse.y"
3322 { (yyval.
string) = (yyvsp[(1) - (1)].
string); ;}
3328 #line 1538 "src/cfgparse.y"
3329 { (yyval.
string) = (yyvsp[(1) - (1)].
string); ;}
3335 #line 1539 "src/cfgparse.y"
3336 { (yyval.
string) = (yyvsp[(1) - (1)].
string); ;}
3342 #line 1540 "src/cfgparse.y"
3343 { (yyval.
string) = (yyvsp[(1) - (1)].
string); ;}
3349 #line 1545 "src/cfgparse.y"
3354 ELOG(
"You are using the old assign syntax (without criteria). "
3355 "Please see the User's Guide for the new syntax and fix "
3356 "your config file.\n");
3358 printf(
"assignment of %s to *%s*\n", (yyvsp[(2) - (3)].
string), (yyvsp[(3) - (3)].
string));
3359 char *workspace = (yyvsp[(3) - (3)].
string);
3360 char *criteria = (yyvsp[(2) - (3)].
string);
3366 char *separator = NULL;
3367 if ((separator = strchr(criteria,
'/')) != NULL) {
3368 *(separator++) =
'\0';
3370 sasprintf(&pattern,
"(?i)%s", separator);
3373 printf(
" title = %s\n", separator);
3375 if (*criteria !=
'\0') {
3377 sasprintf(&pattern,
"(?i)%s", criteria);
3380 printf(
" class = %s\n", criteria);
3389 if (*workspace ==
'~') {
3391 if (*workspace ==
'\0') {
3393 assignment->
type = A_COMMAND;
3401 floating->
type = A_COMMAND;
3407 assignment->
type = A_TO_WORKSPACE;
3416 #line 1607 "src/cfgparse.y"
3419 ELOG(
"Match is empty, ignoring this assignment\n");
3422 printf(
"new assignment, using above criteria, to workspace %s\n", (yyvsp[(3) - (3)].
string));
3425 assignment->
type = A_TO_WORKSPACE;
3434 #line 1628 "src/cfgparse.y"
3443 #line 1635 "src/cfgparse.y"
3452 #line 1642 "src/cfgparse.y"
3455 new->command = (yyvsp[(3) - (3)].
string);
3456 new->no_startup_id = (yyvsp[(2) - (3)].
number);
3464 #line 1652 "src/cfgparse.y"
3467 new->command = (yyvsp[(3) - (3)].
string);
3468 new->no_startup_id = (yyvsp[(2) - (3)].
number);
3476 #line 1661 "src/cfgparse.y"
3477 { (yyval.
number) =
false; ;}
3483 #line 1662 "src/cfgparse.y"
3484 { (yyval.
number) =
true; ;}
3490 #line 1667 "src/cfgparse.y"
3492 ELOG(
"The terminal option is DEPRECATED and has no effect. "
3493 "Please remove it from your configuration file.\n");
3500 #line 1675 "src/cfgparse.y"
3504 printf(
"font %s\n", (yyvsp[(2) - (2)].
string));
3513 #line 1686 "src/cfgparse.y"
3516 *dest = (yyvsp[(2) - (2)].
number);
3523 #line 1694 "src/cfgparse.y"
3536 #line 1702 "src/cfgparse.y"
3550 #line 1714 "src/cfgparse.y"
3553 free((yyvsp[(1) - (1)].
string));
3560 #line 1722 "src/cfgparse.y"
3567 #line 1724 "src/cfgparse.y"
3568 { (yyval.
number) = (yyvsp[(1) - (3)].number) | (yyvsp[(3) - (3)].
number); ;}
3574 #line 1725 "src/cfgparse.y"
3575 { (yyval.
number) = (yyvsp[(1) - (2)].number); ;}
3581 #line 1729 "src/cfgparse.y"
3582 { (yyval.
number) = (yyvsp[(1) - (1)].number); ;}
3588 #line 1730 "src/cfgparse.y"
3595 #line 1731 "src/cfgparse.y"
3602 #line 1736 "src/cfgparse.y"
3604 DLOG(
"popup_during_fullscreen setting: %d\n", (yyvsp[(2) - (2)].number));
3612 #line 1743 "src/cfgparse.y"
3613 { (yyval.
number) = PDF_IGNORE; ;}
3619 #line 1744 "src/cfgparse.y"
3620 { (yyval.
number) = PDF_LEAVE_FULLSCREEN; ;}
3626 #line 3627 "src/cfgparse.tab.c"
3643 yystate = yypgoto[yyn -
YYNTOKENS] + *yyssp;
3644 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
3645 yystate = yytable[yystate];
3660 #if ! YYERROR_VERBOSE
3670 if (yymsg != yymsgbuf)
3678 yymsg_alloc =
sizeof yymsgbuf;
3682 if (0 < yysize && yysize <= yymsg_alloc)
3691 goto yyexhaustedlab;
3699 if (yyerrstatus == 3)
3704 if (yychar <=
YYEOF)
3707 if (yychar ==
YYEOF)
3751 yyn = yypact[yystate];
3769 yystos[yystate], yyvsp);
3799 #if !defined(yyoverflow) || YYERROR_VERBOSE
3817 while (yyssp != yyss)
3820 yystos[*yyssp], yyvsp);
3828 if (yymsg != yymsgbuf)
3832 return YYID (yyresult);