47 #define YYBISON_VERSION "2.5"
50 #define YYSKELETON_NAME "yacc.c"
62 #define YYLSP_NEEDED 0
69 #line 1 "src/cfgparse.y"
75 #include <sys/types.h>
111 ELOG(
"CONFIG: %s\n", error_message);
112 ELOG(
"CONFIG: in file \"%s\", line %d:\n",
119 ELOG(
"CONFIG: %s\n", buffer);
136 while (*walk !=
'\0') {
143 if (strncasecmp(line,
"bindcode", strlen(
"bindcode")) == 0 ||
144 strncasecmp(line,
"force_focus_wrapping", strlen(
"force_focus_wrapping")) == 0 ||
145 strncasecmp(line,
"# i3 config file (v4)", strlen(
"# i3 config file (v4)")) == 0 ||
146 strncasecmp(line,
"workspace_layout", strlen(
"workspace_layout")) == 0) {
147 printf(
"deciding for version 4 due to this line: %.*s\n", (
int)(walk-line), line);
152 if (strncasecmp(line,
"bind", strlen(
"bind")) == 0) {
153 char *bind = strchr(line,
' ');
156 while ((*bind ==
' ' || *bind ==
'\t') && *bind !=
'\0')
160 if ((bind = strchr(bind,
' ')) == NULL)
162 while ((*bind ==
' ' || *bind ==
'\t') && *bind !=
'\0')
166 if (strncasecmp(bind,
"layout", strlen(
"layout")) == 0 ||
167 strncasecmp(bind,
"floating", strlen(
"floating")) == 0 ||
168 strncasecmp(bind,
"workspace", strlen(
"workspace")) == 0 ||
169 strncasecmp(bind,
"focus left", strlen(
"focus left")) == 0 ||
170 strncasecmp(bind,
"focus right", strlen(
"focus right")) == 0 ||
171 strncasecmp(bind,
"focus up", strlen(
"focus up")) == 0 ||
172 strncasecmp(bind,
"focus down", strlen(
"focus down")) == 0 ||
173 strncasecmp(bind,
"border normal", strlen(
"border normal")) == 0 ||
174 strncasecmp(bind,
"border 1pixel", strlen(
"border 1pixel")) == 0 ||
175 strncasecmp(bind,
"border borderless", strlen(
"border borderless")) == 0 ||
176 strncasecmp(bind,
"--no-startup-id", strlen(
"--no-startup-id")) == 0 ||
177 strncasecmp(bind,
"bar", strlen(
"bar")) == 0) {
178 printf(
"deciding for version 4 due to this line: %.*s\n", (
int)(walk-line), line);
205 if (pipe(writepipe) != 0 ||
206 pipe(readpipe) != 0) {
207 warn(
"migrate_config: Could not create pipes");
213 warn(
"Could not fork()");
221 dup2(writepipe[0], 0);
225 dup2(readpipe[1], 1);
227 static char *argv[] = {
243 while (written < size) {
244 if ((ret = write(writepipe[1], input + written, size - written)) < 0) {
245 warn(
"Could not write to pipe");
256 int conv_size = 65535;
257 char *converted = malloc(conv_size);
260 if (read_bytes == conv_size) {
262 converted = realloc(converted, conv_size);
264 ret = read(readpipe[0], converted + read_bytes, conv_size - read_bytes);
266 warn(
"Cannot read from pipe");
276 if (!WIFEXITED(status)) {
277 fprintf(stderr,
"Child did not terminate normally, using old config file (will lead to broken behaviour)\n");
281 int returncode = WEXITSTATUS(status);
282 if (returncode != 0) {
283 fprintf(stderr,
"Migration process exit code was != 0\n");
284 if (returncode == 2) {
285 fprintf(stderr,
"could not start the migration script\n");
287 }
else if (returncode == 1) {
288 fprintf(stderr,
"This already was a v4 config. Please add the following line to your config file:\n");
289 fprintf(stderr,
"# i3 config file (v4)\n");
304 ev_child_stop(EV_A_ watcher);
305 if (!WIFEXITED(watcher->rstatus)) {
306 fprintf(stderr,
"ERROR: i3-nagbar did not exit normally.\n");
310 int exitcode = WEXITSTATUS(watcher->rstatus);
311 printf(
"i3-nagbar process exited with status %d\n", exitcode);
313 fprintf(stderr,
"ERROR: i3-nagbar could not be found. Is it correctly installed on your system?\n");
322 #if EV_VERSION_MAJOR >= 4
328 static void nagbar_cleanup(EV_P_ ev_cleanup *watcher,
int revent) {
347 fprintf(stderr,
"Starting i3-nagbar due to configuration errors\n");
350 warn(
"Could not fork()");
358 sasprintf(&editaction,
"i3-sensible-terminal -e sh -c \"i3-sensible-editor \\\"%s\\\" && i3-msg reload\"", config_path);
366 "You have an error in your i3 config file!" :
367 "Your config is outdated. Please fix the warnings to make sure everything works."),
372 (context->
has_errors ?
"show errors" :
"show warnings"),
381 ev_child *child =
smalloc(
sizeof(ev_child));
388 #if EV_VERSION_MAJOR >= 4
391 ev_cleanup *cleanup =
smalloc(
sizeof(ev_cleanup));
392 ev_cleanup_init(cleanup, nagbar_cleanup);
411 warn(
"kill(configerror_nagbar) failed");
443 if ((bind->
symbol == NULL && current->
symbol != NULL) ||
449 if (bind->
symbol != NULL &&
460 ELOG(
"Duplicate keybinding in config file:\n modmask %d with keycode %d, command \"%s\"\n",
463 ELOG(
"Duplicate keybinding in config file:\n modmask %d with keysym %s, command \"%s\"\n",
471 ELOG(
"**********************************************************************\n");
472 ELOG(
"IGNORING exec command: %s\n", exec->
command);
473 ELOG(
"It contains \"i3bar\". Since i3 v4.1, i3bar will be automatically started\n");
474 ELOG(
"for each 'bar' configuration block in your i3 config. Please remove the exec\n");
475 ELOG(
"line and add the following to your i3 config:\n");
478 ELOG(
" status_command i3status\n");
480 ELOG(
"**********************************************************************\n");
497 int fd, ret, read_bytes = 0;
501 char buffer[1026], key[512], value[512];
503 if ((fd = open(f, O_RDONLY)) == -1)
504 die(
"Could not open configuration file: %s\n", strerror(errno));
506 if (fstat(fd, &stbuf) == -1)
507 die(
"Could not fstat file: %s\n", strerror(errno));
509 buf =
scalloc((stbuf.st_size + 1) *
sizeof(
char));
510 while (read_bytes < stbuf.st_size) {
511 if ((ret = read(fd, buf + read_bytes, (stbuf.st_size - read_bytes))) < 0)
512 die(
"Could not read(): %s\n", strerror(errno));
516 if (lseek(fd, 0, SEEK_SET) == (off_t)-1)
517 die(
"Could not lseek: %s\n", strerror(errno));
519 if ((fstr = fdopen(fd,
"r")) == NULL)
520 die(
"Could not fdopen: %s\n", strerror(errno));
522 while (!feof(fstr)) {
523 if (fgets(buffer, 1024, fstr) == NULL) {
526 die(
"Could not read configuration file\n");
530 if (sscanf(buffer,
"%s %[^\n]", key, value) < 1 ||
531 key[0] ==
'#' || strlen(key) < 3)
534 if (strcasecmp(key,
"set") == 0) {
535 if (value[0] !=
'$') {
536 ELOG(
"Malformed variable assignment, name has to start with $\n");
541 char *v_key = value, *v_value;
542 if (strstr(value,
" ") == NULL && strstr(value,
"\t") == NULL) {
543 ELOG(
"Malformed variable assignment, need a value\n");
547 if (!(v_value = strstr(value,
" ")))
548 v_value = strstr(value,
"\t");
551 while (*v_value ==
'\t' || *v_value ==
' ')
558 DLOG(
"Got new variable %s = %s\n", v_key, v_value);
573 int extra = (strlen(current->
value) - strlen(current->
key));
576 next < (bufcopy + stbuf.st_size) &&
577 (next = strcasestr(next, current->
key)) != NULL;
578 next += strlen(current->
key)) {
580 extra_bytes += extra;
587 char *walk = buf, *destwalk;
588 char *
new =
smalloc((stbuf.st_size + extra_bytes + 1) *
sizeof(
char));
590 while (walk < (buf + stbuf.st_size)) {
595 int distance = stbuf.st_size;
599 if ((current->
next_match - walk) < distance) {
604 if (nearest == NULL) {
606 strncpy(destwalk, walk, (buf + stbuf.st_size) - walk);
607 destwalk += (buf + stbuf.st_size) - walk;
612 strncpy(destwalk, walk, distance);
613 strncpy(destwalk + distance, nearest->
value, strlen(nearest->
value));
614 walk += distance + strlen(nearest->
key);
615 destwalk += distance + strlen(nearest->
value);
625 if (converted != NULL) {
627 ELOG(
"****************************************************************\n");
628 ELOG(
"NOTE: Automatically converted configuration file from v3 to v4.\n");
630 ELOG(
"Please convert your config file to v4. You can use this command:\n");
631 ELOG(
" mv %s %s.O\n", f, f);
632 ELOG(
" i3-migrate-config-to-v4 %s.O > %s\n", f, f);
633 ELOG(
"****************************************************************\n");
639 printf(
"**********************************************************************\n");
640 printf(
"ERROR: Could not convert config file. Maybe i3-migrate-config-to-v4\n");
641 printf(
"was not correctly installed on your system?\n");
642 printf(
"**********************************************************************\n");
650 context =
scalloc(
sizeof(
struct context));
654 fprintf(stderr,
"Could not parse configfile\n");
668 if (strstr(exec->
command,
"i3bar") != NULL) {
677 if (strstr(exec->
command,
"i3bar") != NULL) {
685 ELOG(
"FYI: You are using i3 version " I3_VERSION
"\n");
687 ELOG(
"Please convert your configfile first, then fix any remaining errors (see above).\n");
710 #line 711 "src/cfgparse.tab.c"
718 #ifdef YYERROR_VERBOSE
719 # undef YYERROR_VERBOSE
720 # define YYERROR_VERBOSE 1
722 # define YYERROR_VERBOSE 1
726 #ifndef YYTOKEN_TABLE
727 # define YYTOKEN_TABLE 0
835 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
840 #line 643 "src/cfgparse.y"
852 #line 853 "src/cfgparse.tab.c"
854 # define YYSTYPE_IS_TRIVIAL 1
855 # define yystype YYSTYPE
856 # define YYSTYPE_IS_DECLARED 1
864 #line 865 "src/cfgparse.tab.c"
878 #elif (defined __STDC__ || defined __C99__FUNC__ \
879 || defined __cplusplus || defined _MSC_VER)
898 # ifdef __SIZE_TYPE__
899 # define YYSIZE_T __SIZE_TYPE__
900 # elif defined size_t
901 # define YYSIZE_T size_t
902 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
903 || defined __cplusplus || defined _MSC_VER)
905 # define YYSIZE_T size_t
907 # define YYSIZE_T unsigned int
911 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
914 # if defined YYENABLE_NLS && YYENABLE_NLS
916 # include <libintl.h>
917 # define YY_(msgid) dgettext ("bison-runtime", msgid)
921 # define YY_(msgid) msgid
926 #if ! defined lint || defined __GNUC__
927 # define YYUSE(e) ((void) (e))
936 #if (defined __STDC__ || defined __C99__FUNC__ \
937 || defined __cplusplus || defined _MSC_VER)
950 #if ! defined yyoverflow || YYERROR_VERBOSE
954 # ifdef YYSTACK_USE_ALLOCA
955 # if YYSTACK_USE_ALLOCA
957 # define YYSTACK_ALLOC __builtin_alloca
958 # elif defined __BUILTIN_VA_ARG_INCR
961 # define YYSTACK_ALLOC __alloca
962 # elif defined _MSC_VER
964 # define alloca _alloca
966 # define YYSTACK_ALLOC alloca
967 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
968 || defined __cplusplus || defined _MSC_VER)
970 # ifndef EXIT_SUCCESS
971 # define EXIT_SUCCESS 0
978 # ifdef YYSTACK_ALLOC
980 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
981 # ifndef YYSTACK_ALLOC_MAXIMUM
986 # define YYSTACK_ALLOC_MAXIMUM 4032
989 # define YYSTACK_ALLOC YYMALLOC
990 # define YYSTACK_FREE YYFREE
991 # ifndef YYSTACK_ALLOC_MAXIMUM
992 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
994 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
995 && ! ((defined YYMALLOC || defined malloc) \
996 && (defined YYFREE || defined free)))
998 # ifndef EXIT_SUCCESS
999 # define EXIT_SUCCESS 0
1003 # define YYMALLOC malloc
1004 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1005 || defined __cplusplus || defined _MSC_VER)
1010 # define YYFREE free
1011 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
1012 || defined __cplusplus || defined _MSC_VER)
1020 #if (! defined yyoverflow \
1021 && (! defined __cplusplus \
1022 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1032 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1036 # define YYSTACK_BYTES(N) \
1037 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
1038 + YYSTACK_GAP_MAXIMUM)
1040 # define YYCOPY_NEEDED 1
1047 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1050 YYSIZE_T yynewbytes; \
1051 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1052 Stack = &yyptr->Stack_alloc; \
1053 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1054 yyptr += yynewbytes / sizeof (*yyptr); \
1060 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1064 # if defined __GNUC__ && 1 < __GNUC__
1065 # define YYCOPY(To, From, Count) \
1066 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1068 # define YYCOPY(To, From, Count) \
1072 for (yyi = 0; yyi < (Count); yyi++) \
1073 (To)[yyi] = (From)[yyi]; \
1086 #define YYNTOKENS 102
1090 #define YYNRULES 177
1092 #define YYNSTATES 268
1095 #define YYUNDEFTOK 2
1096 #define YYMAXUTOK 350
1098 #define YYTRANSLATE(YYX) \
1099 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1104 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1105 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1106 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1107 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1108 2, 2, 2, 101, 2, 2, 2, 2, 2, 2,
1109 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1110 2, 98, 2, 2, 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, 96, 2, 97, 2, 2, 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, 99, 2, 100, 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, 2, 2, 2, 2,
1127 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1128 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1129 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1130 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1131 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1132 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1133 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1134 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1135 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1136 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1137 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1138 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1147 0, 0, 3, 4, 7, 10, 12, 14, 16, 18,
1148 20, 22, 24, 26, 28, 30, 32, 34, 36, 38,
1149 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
1150 60, 62, 64, 66, 68, 70, 72, 74, 77, 80,
1151 84, 88, 92, 93, 97, 99, 101, 104, 106, 110,
1152 114, 118, 122, 126, 130, 134, 138, 140, 142, 144,
1153 146, 152, 153, 156, 158, 160, 165, 166, 169, 171,
1154 173, 175, 177, 179, 181, 183, 185, 187, 189, 191,
1155 193, 195, 197, 199, 201, 203, 205, 207, 210, 213,
1156 216, 219, 222, 224, 226, 229, 231, 233, 236, 238,
1157 240, 242, 244, 246, 248, 250, 253, 256, 259, 262,
1158 267, 270, 273, 277, 282, 286, 291, 295, 300, 304,
1159 309, 314, 319, 322, 325, 327, 329, 331, 334, 339,
1160 341, 343, 345, 348, 351, 353, 355, 357, 359, 361,
1161 364, 367, 370, 373, 376, 379, 385, 389, 390, 392,
1162 394, 396, 398, 402, 406, 408, 410, 413, 416, 420,
1163 424, 425, 427, 430, 433, 436, 441, 447, 449, 450,
1164 452, 456, 459, 461, 463, 465, 468, 470
1170 103, 0, -1, -1, 103, 1, -1, 103, 104, -1,
1171 107, -1, 111, -1, 119, -1, 122, -1, 146, -1,
1172 147, -1, 148, -1, 149, -1, 151, -1, 153, -1,
1173 154, -1, 157, -1, 158, -1, 159, -1, 160, -1,
1174 161, -1, 162, -1, 163, -1, 166, -1, 168, -1,
1175 169, -1, 170, -1, 171, -1, 175, -1, 176, -1,
1176 173, -1, 174, -1, 105, -1, 180, -1, 11, -1,
1177 5, -1, 108, -1, 9, 109, -1, 13, 110, -1,
1178 178, 3, 106, -1, 178, 118, 106, -1, 57, 112,
1179 106, -1, -1, 113, 115, 114, -1, 96, -1, 97,
1180 -1, 115, 116, -1, 116, -1, 89, 98, 5, -1,
1181 90, 98, 5, -1, 91, 98, 5, -1, 93, 98,
1182 5, -1, 92, 98, 5, -1, 88, 98, 5, -1,
1183 94, 98, 5, -1, 95, 98, 5, -1, 20, -1,
1184 3, -1, 4, -1, 3, -1, 32, 20, 99, 120,
1185 100, -1, -1, 120, 121, -1, 105, -1, 108, -1,
1186 33, 99, 123, 100, -1, -1, 123, 124, -1, 105,
1187 -1, 125, -1, 126, -1, 127, -1, 128, -1, 129,
1188 -1, 131, -1, 133, -1, 135, -1, 136, -1, 137,
1189 -1, 138, -1, 139, -1, 140, -1, 141, -1, 142,
1190 -1, 143, -1, 144, -1, 145, -1, 75, 5, -1,
1191 76, 5, -1, 58, 5, -1, 59, 5, -1, 72,
1192 130, -1, 74, -1, 73, -1, 61, 132, -1, 62,
1193 -1, 63, -1, 64, 134, -1, 65, -1, 66, -1,
1194 67, -1, 68, -1, 69, -1, 70, -1, 71, -1,
1195 77, 5, -1, 78, 156, -1, 79, 156, -1, 60,
1196 5, -1, 80, 99, 123, 100, -1, 81, 7, -1,
1197 82, 7, -1, 83, 7, 7, -1, 83, 7, 7,
1198 7, -1, 84, 7, 7, -1, 84, 7, 7, 7,
1199 -1, 85, 7, 7, -1, 85, 7, 7, 7, -1,
1200 86, 7, 7, -1, 86, 7, 7, 7, -1, 18,
1201 3, 4, 3, -1, 19, 3, 4, 3, -1, 17,
1202 178, -1, 34, 150, -1, 35, -1, 36, -1, 37,
1203 -1, 38, 152, -1, 38, 53, 53, 3, -1, 50,
1204 -1, 51, -1, 52, -1, 39, 155, -1, 40, 155,
1205 -1, 41, -1, 42, -1, 43, -1, 3, -1, 4,
1206 -1, 44, 156, -1, 45, 156, -1, 46, 156, -1,
1207 47, 5, -1, 48, 156, -1, 49, 156, -1, 21,
1208 117, 22, 8, 164, -1, 21, 3, 165, -1, -1,
1209 165, -1, 20, -1, 5, -1, 4, -1, 23, 167,
1210 5, -1, 23, 112, 5, -1, 20, -1, 6, -1,
1211 25, 5, -1, 26, 5, -1, 27, 172, 5, -1,
1212 28, 172, 5, -1, -1, 87, -1, 10, 5, -1,
1213 12, 5, -1, 29, 177, -1, 30, 177, 177, 177,
1214 -1, 30, 177, 177, 177, 177, -1, 7, -1, -1,
1215 179, -1, 178, 101, 179, -1, 178, 101, -1, 14,
1216 -1, 15, -1, 16, -1, 54, 181, -1, 55, -1,
1223 0, 774, 774, 775, 776, 780, 781, 782, 783, 784,
1224 785, 786, 787, 788, 789, 790, 791, 792, 793, 794,
1225 795, 796, 797, 798, 799, 800, 801, 802, 803, 804,
1226 805, 806, 807, 808, 812, 816, 820, 827, 828, 832,
1227 846, 860, 875, 876, 883, 891, 898, 899, 903, 909,
1228 915, 921, 936, 951, 957, 963, 980, 981, 985, 986,
1229 993, 1016, 1018, 1022, 1023, 1035, 1062, 1064, 1068, 1069,
1230 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079,
1231 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1090, 1099, 1108,
1232 1119, 1128, 1136, 1137, 1141, 1149, 1150, 1154, 1161, 1162,
1233 1163, 1164, 1165, 1166, 1167, 1171, 1180, 1190, 1198, 1207,
1234 1216, 1224, 1232, 1239, 1250, 1257, 1268, 1275, 1285, 1292,
1235 1302, 1312, 1322, 1330, 1338, 1339, 1340, 1344, 1368, 1389,
1236 1390, 1391, 1395, 1403, 1411, 1412, 1413, 1417, 1421, 1433,
1237 1441, 1449, 1457, 1465, 1473, 1481, 1515, 1533, 1534, 1538,
1238 1539, 1540, 1544, 1606, 1622, 1623, 1627, 1634, 1641, 1651,
1239 1661, 1662, 1666, 1674, 1685, 1693, 1701, 1713, 1722, 1723,
1240 1724, 1725, 1729, 1730, 1731, 1735, 1743, 1744
1244 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1249 "$end",
"error",
"$undefined",
"\"<number>\"",
"\"<word>\"",
1250 "\"<string>\"",
"\"<string (non-greedy)>\"",
"\"#<hex>\"",
1251 "\"<RandR output>\"",
"TOKBINDCODE",
"TOKTERMINAL",
"\"<comment>\"",
1252 "\"font\"",
"\"bindsym\"",
"\"<modifier>\"",
"\"control\"",
"\"shift\"",
1253 "\"floating_modifier\"",
"\"floating_maximum_size\"",
1254 "\"floating_minimum_size\"",
"\"<quoted string>\"",
"\"workspace\"",
1255 "\"output\"",
"\"assign\"",
"TOKSET",
"\"ipc_socket\"",
1256 "\"restart_state\"",
"\"exec\"",
"\"exec_always\"",
"TOKSINGLECOLOR",
1257 "TOKCOLOR",
"\"\\342\\206\\222\"",
"\"mode\"",
"\"bar\"",
1258 "\"default_orientation\"",
"\"horizontal\"",
"\"vertical\"",
"\"auto\"",
1259 "\"workspace_layout\"",
"\"new_window\"",
"\"new_float\"",
"\"normal\"",
1260 "\"none\"",
"\"1pixel\"",
"\"focus_follows_mouse\"",
1261 "\"force_focus_wrapping\"",
"\"force_xinerama\"",
"\"fake_outputs\"",
1262 "\"workspace_auto_back_and_forth\"",
"\"workspace_bar\"",
"\"default\"",
1263 "\"stacking\"",
"\"tabbed\"",
"\"stack-limit\"",
1264 "\"popup_during_fullscreen\"",
"\"ignore\"",
"\"leave_fullscreen\"",
1265 "\"for_window\"",
"\"output (bar)\"",
"\"tray_output\"",
1266 "\"socket_path\"",
"\"mode (bar)\"",
"\"hide\"",
"\"dock\"",
1267 "\"modifier (bar)\"",
"\"shift (bar)\"",
"\"control (bar)\"",
"\"Mod1\"",
1268 "\"Mod2\"",
"\"Mod3\"",
"\"Mod4\"",
"\"Mod5\"",
"\"position\"",
1269 "\"bottom\"",
"\"top\"",
"\"status_command\"",
"\"i3bar_command\"",
1270 "\"font (bar)\"",
"\"workspace_buttons\"",
"\"verbose\"",
"\"colors\"",
1271 "\"background\"",
"\"statusline\"",
"\"focused_workspace\"",
1272 "\"active_workspace\"",
"\"inactive_workspace\"",
"\"urgent_workspace\"",
1273 "\"--no-startup-id\"",
"\"mark\"",
"\"class\"",
"\"instance\"",
1274 "\"window_role\"",
"\"id\"",
"\"con_id\"",
"\"title\"",
"\"urgent\"",
1275 "'['",
"']'",
"'='",
"'{'",
"'}'",
"'+'",
"$accept",
"lines",
"line",
1276 "comment",
"command",
"bindline",
"binding",
"bindcode",
"bindsym",
1277 "for_window",
"match",
"matchstart",
"matchend",
"criteria",
"criterion",
1278 "qstring_or_number",
"word_or_number",
"mode",
"modelines",
"modeline",
1279 "bar",
"barlines",
"barline",
"bar_status_command",
"bar_i3bar_command",
1280 "bar_output",
"bar_tray_output",
"bar_position",
"bar_position_position",
1281 "bar_mode",
"bar_mode_mode",
"bar_modifier",
"bar_modifier_modifier",
1282 "bar_font",
"bar_workspace_buttons",
"bar_verbose",
"bar_socket_path",
1283 "bar_colors",
"bar_color_background",
"bar_color_statusline",
1284 "bar_color_focused_workspace",
"bar_color_active_workspace",
1285 "bar_color_inactive_workspace",
"bar_color_urgent_workspace",
1286 "floating_maximum_size",
"floating_minimum_size",
"floating_modifier",
1287 "orientation",
"direction",
"workspace_layout",
"layout_mode",
1288 "new_window",
"new_float",
"border_style",
"bool",
"focus_follows_mouse",
1289 "force_focus_wrapping",
"force_xinerama",
"fake_outputs",
1290 "workspace_back_and_forth",
"workspace_bar",
"workspace",
1291 "optional_workspace_name",
"workspace_name",
"assign",
"window_class",
1292 "ipcsocket",
"restart_state",
"exec",
"exec_always",
1293 "optional_no_startup_id",
"terminal",
"font",
"single_color",
"color",
1294 "colorpixel",
"binding_modifiers",
"binding_modifier",
1295 "popup_during_fullscreen",
"popup_setting", 0
1302 static const yytype_uint16 yytoknum[] =
1304 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1305 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1306 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1307 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1308 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1309 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1310 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1311 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1312 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1313 345, 346, 347, 348, 349, 350, 91, 93, 61, 123,
1321 0, 102, 103, 103, 103, 104, 104, 104, 104, 104,
1322 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1323 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
1324 104, 104, 104, 104, 105, 106, 107, 108, 108, 109,
1325 110, 111, 112, 112, 113, 114, 115, 115, 116, 116,
1326 116, 116, 116, 116, 116, 116, 117, 117, 118, 118,
1327 119, 120, 120, 121, 121, 122, 123, 123, 124, 124,
1328 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
1329 124, 124, 124, 124, 124, 124, 124, 125, 126, 127,
1330 128, 129, 130, 130, 131, 132, 132, 133, 134, 134,
1331 134, 134, 134, 134, 134, 135, 136, 137, 138, 139,
1332 140, 141, 142, 142, 143, 143, 144, 144, 145, 145,
1333 146, 147, 148, 149, 150, 150, 150, 151, 151, 152,
1334 152, 152, 153, 154, 155, 155, 155, 156, 156, 157,
1335 158, 159, 160, 161, 162, 163, 163, 164, 164, 165,
1336 165, 165, 166, 166, 167, 167, 168, 169, 170, 171,
1337 172, 172, 173, 174, 175, 176, 176, 177, 178, 178,
1338 178, 178, 179, 179, 179, 180, 181, 181
1344 0, 2, 0, 2, 2, 1, 1, 1, 1, 1,
1345 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1346 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1347 1, 1, 1, 1, 1, 1, 1, 2, 2, 3,
1348 3, 3, 0, 3, 1, 1, 2, 1, 3, 3,
1349 3, 3, 3, 3, 3, 3, 1, 1, 1, 1,
1350 5, 0, 2, 1, 1, 4, 0, 2, 1, 1,
1351 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1352 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
1353 2, 2, 1, 1, 2, 1, 1, 2, 1, 1,
1354 1, 1, 1, 1, 1, 2, 2, 2, 2, 4,
1355 2, 2, 3, 4, 3, 4, 3, 4, 3, 4,
1356 4, 4, 2, 2, 1, 1, 1, 2, 4, 1,
1357 1, 1, 2, 2, 1, 1, 1, 1, 1, 2,
1358 2, 2, 2, 2, 2, 5, 3, 0, 1, 1,
1359 1, 1, 3, 3, 1, 1, 2, 2, 3, 3,
1360 0, 1, 2, 2, 2, 4, 5, 1, 0, 1,
1361 3, 2, 1, 1, 1, 2, 1, 1
1369 2, 0, 1, 3, 168, 0, 34, 0, 168, 168,
1370 0, 0, 0, 42, 0, 0, 160, 160, 0, 0,
1371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1372 0, 0, 0, 42, 4, 32, 5, 36, 6, 7,
1373 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1374 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1375 30, 31, 28, 29, 33, 172, 173, 174, 37, 0,
1376 169, 162, 163, 38, 0, 122, 0, 0, 57, 56,
1377 0, 155, 154, 44, 0, 0, 0, 156, 157, 161,
1378 0, 0, 167, 164, 0, 0, 66, 124, 125, 126,
1379 123, 129, 130, 131, 0, 127, 134, 135, 136, 132,
1380 133, 137, 138, 139, 140, 141, 142, 143, 144, 176,
1381 177, 175, 0, 0, 171, 59, 58, 0, 0, 0,
1382 151, 150, 149, 146, 0, 153, 0, 0, 0, 0,
1383 0, 0, 0, 0, 0, 47, 152, 158, 159, 0,
1384 61, 0, 0, 35, 41, 39, 170, 40, 120, 121,
1385 147, 0, 0, 0, 0, 0, 0, 0, 0, 45,
1386 43, 46, 165, 0, 0, 0, 0, 0, 0, 0,
1387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1388 0, 0, 65, 68, 67, 69, 70, 71, 72, 73,
1389 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1390 84, 85, 86, 128, 145, 148, 53, 48, 49, 50,
1391 52, 51, 54, 55, 166, 60, 63, 64, 62, 89,
1392 90, 108, 95, 96, 94, 98, 99, 100, 101, 102,
1393 103, 104, 97, 93, 92, 91, 87, 88, 105, 106,
1394 107, 66, 110, 111, 0, 0, 0, 0, 0, 112,
1395 114, 116, 118, 109, 113, 115, 117, 119
1401 -1, 1, 34, 193, 154, 36, 37, 68, 73, 38,
1402 84, 85, 170, 144, 145, 80, 127, 39, 173, 228,
1403 40, 151, 194, 195, 196, 197, 198, 199, 245, 200,
1404 234, 201, 242, 202, 203, 204, 205, 206, 207, 208,
1405 209, 210, 211, 212, 41, 42, 43, 44, 100, 45,
1406 105, 46, 47, 109, 113, 48, 49, 50, 51, 52,
1407 53, 54, 214, 133, 55, 86, 56, 57, 58, 59,
1408 90, 60, 61, 62, 63, 93, 69, 70, 64, 121
1413 #define YYPACT_NINF -83
1416 -83, 150, -83, -83, 43, 10, -83, 72, 43, 43,
1417 77, 78, 11, 6, 89, 94, -77, -77, 96, 96,
1418 85, 9, 25, -23, 31, 31, 40, 40, 40, 105,
1419 40, 40, -9, 15, -83, -83, -83, -83, -83, -83,
1420 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1421 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1422 -83, -83, -83, -83, -83, -83, -83, -83, -83, 5,
1423 -83, -83, -83, -83, 3, 23, 121, 122, 12, -83,
1424 106, -83, -83, -83, 124, -39, 125, -83, -83, -83,
1425 126, 127, -83, -83, 96, 28, -83, -83, -83, -83,
1426 -83, -83, -83, -83, 81, -83, -83, -83, -83, -83,
1427 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1428 -83, -83, 130, 130, 43, -83, -83, 130, 133, 135,
1429 -83, -83, -83, -83, 131, -83, 42, 44, 45, 46,
1430 47, 48, 49, 50, -55, -83, -83, -83, -83, 96,
1431 -83, 7, 138, -83, -83, -83, -83, -83, -83, -83,
1432 12, 144, 147, 148, 149, 159, 160, 161, 165, -83,
1433 -83, -83, 96, 0, 169, 176, 180, 1, -46, -4,
1434 181, 182, 186, 40, 40, 56, 185, 193, 194, 195,
1435 196, 198, -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, -83, -83, -83, -83, -83, -83,
1439 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1440 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1441 -83, -83, -83, -83, 199, 201, 202, 203, 37, 204,
1442 205, 206, 207, -83, -83, -83, -83, -83
1448 -83, -83, -83, -1, -82, -83, 20, -83, -83, -83,
1449 183, -83, -83, -83, 71, -83, -83, -83, -83, -83,
1450 -83, -34, -83, -83, -83, -83, -83, -83, -83, -83,
1451 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1452 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
1453 -83, -83, -83, 197, -26, -83, -83, -83, -83, -83,
1454 -83, -83, -83, 58, -83, -83, -83, -83, -83, -83,
1455 208, -83, -83, -83, -83, -16, 67, 95, -83, -83
1461 #define YYTABLE_NINF -1
1464 35, 114, 115, 94, 117, 118, 125, 126, 123, 4,
1465 89, 6, 81, 8, 78, 71, 130, 131, 6, 235,
1466 236, 237, 238, 239, 240, 241, 82, 101, 102, 103,
1467 104, 79, 132, 136, 137, 138, 139, 140, 141, 142,
1468 143, 155, 169, 111, 112, 157, 119, 120, 6, 136,
1469 137, 138, 139, 140, 141, 142, 143, 65, 66, 67,
1470 97, 98, 99, 232, 233, 174, 175, 176, 177, 243,
1471 244, 178, 106, 107, 108, 74, 75, 72, 149, 179,
1472 76, 77, 180, 181, 182, 183, 184, 185, 186, 187,
1473 188, 189, 190, 191, 87, 174, 175, 176, 177, 88,
1474 225, 178, 83, 92, 124, 95, 124, 192, 96, 179,
1475 116, 83, 180, 181, 182, 183, 184, 185, 186, 187,
1476 188, 189, 190, 191, 124, 128, 129, 150, 134, 135,
1477 146, 147, 148, 172, 152, 153, 158, 263, 159, 160,
1478 161, 213, 162, 163, 164, 165, 166, 167, 168, 216,
1479 2, 3, 217, 218, 219, 251, 224, 249, 250, 4,
1480 5, 6, 7, 8, 220, 221, 222, 9, 10, 11,
1481 223, 12, 226, 13, 229, 14, 15, 16, 17, 18,
1482 19, 230, 20, 21, 22, 231, 246, 247, 23, 24,
1483 25, 248, 252, 227, 26, 27, 28, 29, 30, 31,
1484 253, 254, 255, 256, 32, 257, 259, 33, 260, 261,
1485 262, 264, 265, 266, 267, 171, 122, 258, 215, 156,
1489 #define yypact_value_is_default(yystate) \
1490 ((yystate) == (-83))
1492 #define yytable_value_is_error(yytable_value) \
1497 1, 27, 28, 19, 30, 31, 3, 4, 3, 9,
1498 87, 11, 6, 13, 3, 5, 4, 5, 11, 65,
1499 66, 67, 68, 69, 70, 71, 20, 50, 51, 52,
1500 53, 20, 20, 88, 89, 90, 91, 92, 93, 94,
1501 95, 123, 97, 3, 4, 127, 55, 56, 11, 88,
1502 89, 90, 91, 92, 93, 94, 95, 14, 15, 16,
1503 35, 36, 37, 62, 63, 58, 59, 60, 61, 73,
1504 74, 64, 41, 42, 43, 8, 9, 5, 94, 72,
1505 3, 3, 75, 76, 77, 78, 79, 80, 81, 82,
1506 83, 84, 85, 86, 5, 58, 59, 60, 61, 5,
1507 100, 64, 96, 7, 101, 20, 101, 100, 99, 72,
1508 5, 96, 75, 76, 77, 78, 79, 80, 81, 82,
1509 83, 84, 85, 86, 101, 4, 4, 99, 22, 5,
1510 5, 5, 5, 149, 53, 5, 3, 100, 3, 8,
1511 98, 3, 98, 98, 98, 98, 98, 98, 98, 5,
1512 0, 1, 5, 5, 5, 99, 172, 183, 184, 9,
1513 10, 11, 12, 13, 5, 5, 5, 17, 18, 19,
1514 5, 21, 173, 23, 5, 25, 26, 27, 28, 29,
1515 30, 5, 32, 33, 34, 5, 5, 5, 38, 39,
1516 40, 5, 7, 173, 44, 45, 46, 47, 48, 49,
1517 7, 7, 7, 7, 54, 7, 7, 57, 7, 7,
1518 7, 7, 7, 7, 7, 144, 33, 251, 160, 124,
1519 -1, -1, 25, -1, -1, 17
1526 0, 103, 0, 1, 9, 10, 11, 12, 13, 17,
1527 18, 19, 21, 23, 25, 26, 27, 28, 29, 30,
1528 32, 33, 34, 38, 39, 40, 44, 45, 46, 47,
1529 48, 49, 54, 57, 104, 105, 107, 108, 111, 119,
1530 122, 146, 147, 148, 149, 151, 153, 154, 157, 158,
1531 159, 160, 161, 162, 163, 166, 168, 169, 170, 171,
1532 173, 174, 175, 176, 180, 14, 15, 16, 109, 178,
1533 179, 5, 5, 110, 178, 178, 3, 3, 3, 20,
1534 117, 6, 20, 96, 112, 113, 167, 5, 5, 87,
1535 172, 172, 7, 177, 177, 20, 99, 35, 36, 37,
1536 150, 50, 51, 52, 53, 152, 41, 42, 43, 155,
1537 155, 3, 4, 156, 156, 156, 5, 156, 156, 55,
1538 56, 181, 112, 3, 101, 3, 4, 118, 4, 4,
1539 4, 5, 20, 165, 22, 5, 88, 89, 90, 91,
1540 92, 93, 94, 95, 115, 116, 5, 5, 5, 177,
1541 99, 123, 53, 5, 106, 106, 179, 106, 3, 3,
1542 8, 98, 98, 98, 98, 98, 98, 98, 98, 97,
1543 114, 116, 177, 120, 58, 59, 60, 61, 64, 72,
1544 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1545 85, 86, 100, 105, 124, 125, 126, 127, 128, 129,
1546 131, 133, 135, 136, 137, 138, 139, 140, 141, 142,
1547 143, 144, 145, 3, 164, 165, 5, 5, 5, 5,
1548 5, 5, 5, 5, 177, 100, 105, 108, 121, 5,
1549 5, 5, 62, 63, 132, 65, 66, 67, 68, 69,
1550 70, 71, 134, 73, 74, 130, 5, 5, 5, 156,
1551 156, 99, 7, 7, 7, 7, 7, 7, 123, 7,
1552 7, 7, 7, 100, 7, 7, 7, 7
1555 #define yyerrok (yyerrstatus = 0)
1556 #define yyclearin (yychar = YYEMPTY)
1557 #define YYEMPTY (-2)
1560 #define YYACCEPT goto yyacceptlab
1561 #define YYABORT goto yyabortlab
1562 #define YYERROR goto yyerrorlab
1572 #define YYFAIL goto yyerrlab
1580 #define YYRECOVERING() (!!yyerrstatus)
1582 #define YYBACKUP(Token, Value) \
1584 if (yychar == YYEMPTY && yylen == 1) \
1593 yyerror (YY_("syntax error: cannot back up")); \
1600 #define YYERRCODE 256
1607 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1608 #ifndef YYLLOC_DEFAULT
1609 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1613 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1614 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1615 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1616 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1620 (Current).first_line = (Current).last_line = \
1621 YYRHSLOC (Rhs, 0).last_line; \
1622 (Current).first_column = (Current).last_column = \
1623 YYRHSLOC (Rhs, 0).last_column; \
1631 #ifndef YY_LOCATION_PRINT
1632 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1639 # define YYLEX yylex (YYLEX_PARAM)
1641 # define YYLEX yylex (context)
1649 # define YYFPRINTF fprintf
1652 # define YYDPRINTF(Args) \
1658 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1662 YYFPRINTF (stderr, "%s ", Title); \
1663 yy_symbol_print (stderr, \
1665 YYFPRINTF (stderr, "\n"); \
1675 #if (defined __STDC__ || defined __C99__FUNC__ \
1676 || defined __cplusplus || defined _MSC_VER)
1684 YYSTYPE const * const yyvaluep;
1691 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1707 #if (defined __STDC__ || defined __C99__FUNC__ \
1708 || defined __cplusplus || defined _MSC_VER)
1716 YYSTYPE const * const yyvaluep;
1720 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
1722 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
1733 #if (defined __STDC__ || defined __C99__FUNC__ \
1734 || defined __cplusplus || defined _MSC_VER)
1740 yytype_int16 *yybottom;
1741 yytype_int16 *yytop;
1745 for (; yybottom <= yytop; yybottom++)
1747 int yybot = *yybottom;
1753 # define YY_STACK_PRINT(Bottom, Top) \
1756 yy_stack_print ((Bottom), (Top)); \
1764 #if (defined __STDC__ || defined __C99__FUNC__ \
1765 || defined __cplusplus || defined _MSC_VER)
1775 int yynrhs = yyr2[yyrule];
1777 unsigned long int yylno = yyrline[yyrule];
1778 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1781 for (yyi = 0; yyi < yynrhs; yyi++)
1785 &(yyvsp[(yyi + 1) - (yynrhs)])
1791 # define YY_REDUCE_PRINT(Rule) \
1794 yy_reduce_print (yyvsp, Rule); \
1801 # define YYDPRINTF(Args)
1802 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1803 # define YY_STACK_PRINT(Bottom, Top)
1804 # define YY_REDUCE_PRINT(Rule)
1810 # define YYINITDEPTH 200
1821 # define YYMAXDEPTH 10000
1828 # if defined __GLIBC__ && defined _STRING_H
1829 # define yystrlen strlen
1832 #if (defined __STDC__ || defined __C99__FUNC__ \
1833 || defined __cplusplus || defined _MSC_VER)
1843 for (yylen = 0; yystr[yylen]; yylen++)
1851 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1852 # define yystpcpy stpcpy
1856 #if (defined __STDC__ || defined __C99__FUNC__ \
1857 || defined __cplusplus || defined _MSC_VER)
1859 yystpcpy (
char *yydest,
const char *yysrc)
1868 const char *yys = yysrc;
1870 while ((*yyd++ = *yys++) !=
'\0')
1892 char const *yyp = yystr;
1899 goto do_not_strip_quotes;
1903 goto do_not_strip_quotes;
1916 do_not_strip_quotes: ;
1922 return yystpcpy (yyres, yystr) - yyres;
1936 yytype_int16 *yyssp,
int yytoken)
1941 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1943 const char *yyformat = 0;
1945 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1979 int yyn = yypact[*yyssp];
1980 yyarg[yycount++] = yytname[yytoken];
1986 int yyxbegin = yyn < 0 ? -yyn : 0;
1988 int yychecklim =
YYLAST - yyn + 1;
1992 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1993 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR
1996 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2002 yyarg[yycount++] = yytname[yyx];
2003 yysize1 = yysize +
yytnamerr (0, yytname[yyx]);
2004 if (! (yysize <= yysize1
2014 # define YYCASE_(N, S) \
2019 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
2020 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
2021 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
2022 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
2023 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2027 yysize1 = yysize +
yystrlen (yyformat);
2032 if (*yymsg_alloc < yysize)
2034 *yymsg_alloc = 2 * yysize;
2035 if (! (yysize <= *yymsg_alloc
2047 while ((*yyp = *yyformat) !=
'\0')
2048 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
2068 #if (defined __STDC__ || defined __C99__FUNC__ \
2069 || defined __cplusplus || defined _MSC_VER)
2096 #ifdef YYPARSE_PARAM
2097 #if defined __STDC__ || defined __cplusplus
2098 int yyparse (
void *YYPARSE_PARAM);
2103 #if defined __STDC__ || defined __cplusplus
2125 #ifdef YYPARSE_PARAM
2126 #if (defined __STDC__ || defined __C99__FUNC__ \
2127 || defined __cplusplus || defined _MSC_VER)
2133 void *YYPARSE_PARAM;
2136 #if (defined __STDC__ || defined __C99__FUNC__ \
2137 || defined __cplusplus || defined _MSC_VER)
2161 yytype_int16 *yyssp;
2181 char *yymsg = yymsgbuf;
2182 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
2185 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2196 YYDPRINTF ((stderr,
"Starting parse\n"));
2223 if (yyss + yystacksize - 1 <= yyssp)
2226 YYSIZE_T yysize = yyssp - yyss + 1;
2234 yytype_int16 *yyss1 = yyss;
2240 yyoverflow (
YY_(
"memory exhausted"),
2241 &yyss1, yysize *
sizeof (*yyssp),
2242 &yyvs1, yysize *
sizeof (*yyvsp),
2249 # ifndef YYSTACK_RELOCATE
2250 goto yyexhaustedlab;
2254 goto yyexhaustedlab;
2260 yytype_int16 *yyss1 = yyss;
2264 goto yyexhaustedlab;
2267 # undef YYSTACK_RELOCATE
2274 yyssp = yyss + yysize - 1;
2275 yyvsp = yyvs + yysize - 1;
2277 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
2278 (
unsigned long int) yystacksize));
2280 if (yyss + yystacksize - 1 <= yyssp)
2284 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
2300 yyn = yypact[yystate];
2309 YYDPRINTF ((stderr,
"Reading a token: "));
2313 if (yychar <=
YYEOF)
2315 yychar = yytoken =
YYEOF;
2316 YYDPRINTF ((stderr,
"Now at end of input.\n"));
2327 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
2359 yyn = yydefact[yystate];
2380 yyval = yyvsp[1-yylen];
2389 #line 821 "src/cfgparse.y"
2398 #line 827 "src/cfgparse.y"
2399 { (yyval.
binding) = (yyvsp[(2) - (2)].binding); }
2405 #line 828 "src/cfgparse.y"
2406 { (yyval.
binding) = (yyvsp[(2) - (2)].binding); }
2412 #line 833 "src/cfgparse.y"
2414 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));
2417 new->keycode = (yyvsp[(2) - (3)].
number);
2418 new->mods = (yyvsp[(1) - (3)].
number);
2419 new->command = (yyvsp[(3) - (3)].
string);
2428 #line 847 "src/cfgparse.y"
2430 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));
2433 new->symbol = (yyvsp[(2) - (3)].
string);
2434 new->mods = (yyvsp[(1) - (3)].
number);
2435 new->command = (yyvsp[(3) - (3)].
string);
2444 #line 861 "src/cfgparse.y"
2447 ELOG(
"Match is empty, ignoring this for_window statement\n");
2450 printf(
"\t should execute command %s for the criteria mentioned above\n", (yyvsp[(3) - (3)].
string));
2452 assignment->
type = A_COMMAND;
2462 #line 877 "src/cfgparse.y"
2464 printf(
"match parsed\n");
2471 #line 884 "src/cfgparse.y"
2481 #line 892 "src/cfgparse.y"
2483 printf(
"match specification finished\n");
2490 #line 904 "src/cfgparse.y"
2492 printf(
"criteria: class = %s\n", (yyvsp[(3) - (3)].
string));
2494 free((yyvsp[(3) - (3)].
string));
2501 #line 910 "src/cfgparse.y"
2503 printf(
"criteria: instance = %s\n", (yyvsp[(3) - (3)].
string));
2505 free((yyvsp[(3) - (3)].
string));
2512 #line 916 "src/cfgparse.y"
2514 printf(
"criteria: window_role = %s\n", (yyvsp[(3) - (3)].
string));
2516 free((yyvsp[(3) - (3)].
string));
2523 #line 922 "src/cfgparse.y"
2525 printf(
"criteria: id = %s\n", (yyvsp[(3) - (3)].
string));
2527 long parsed = strtol((yyvsp[(3) - (3)].
string), &end, 10);
2528 if (parsed == LONG_MIN ||
2529 parsed == LONG_MAX ||
2531 (end && *end !=
'\0')) {
2532 ELOG(
"Could not parse con id \"%s\"\n", (yyvsp[(3) - (3)].
string));
2535 printf(
"id as int = %p\n", current_match.
con_id);
2543 #line 937 "src/cfgparse.y"
2545 printf(
"criteria: window id = %s\n", (yyvsp[(3) - (3)].
string));
2547 long parsed = strtol((yyvsp[(3) - (3)].
string), &end, 10);
2548 if (parsed == LONG_MIN ||
2549 parsed == LONG_MAX ||
2551 (end && *end !=
'\0')) {
2552 ELOG(
"Could not parse window id \"%s\"\n", (yyvsp[(3) - (3)].
string));
2554 current_match.
id = parsed;
2555 printf(
"window id as int = %d\n", current_match.
id);
2563 #line 952 "src/cfgparse.y"
2565 printf(
"criteria: mark = %s\n", (yyvsp[(3) - (3)].
string));
2567 free((yyvsp[(3) - (3)].
string));
2574 #line 958 "src/cfgparse.y"
2576 printf(
"criteria: title = %s\n", (yyvsp[(3) - (3)].
string));
2578 free((yyvsp[(3) - (3)].
string));
2585 #line 964 "src/cfgparse.y"
2587 printf(
"criteria: urgent = %s\n", (yyvsp[(3) - (3)].
string));
2588 if (strcasecmp((yyvsp[(3) - (3)].
string),
"latest") == 0 ||
2589 strcasecmp((yyvsp[(3) - (3)].
string),
"newest") == 0 ||
2590 strcasecmp((yyvsp[(3) - (3)].
string),
"recent") == 0 ||
2591 strcasecmp((yyvsp[(3) - (3)].
string),
"last") == 0) {
2592 current_match.
urgent = U_LATEST;
2593 }
else if (strcasecmp((yyvsp[(3) - (3)].
string),
"oldest") == 0 ||
2594 strcasecmp((yyvsp[(3) - (3)].
string),
"first") == 0) {
2595 current_match.
urgent = U_OLDEST;
2597 free((yyvsp[(3) - (3)].
string));
2604 #line 981 "src/cfgparse.y"
2611 #line 987 "src/cfgparse.y"
2620 #line 994 "src/cfgparse.y"
2622 if (strcasecmp((yyvsp[(2) - (5)].
string),
"default") == 0) {
2623 printf(
"You cannot use the name \"default\" for your mode\n");
2626 printf(
"\t now in mode %s\n", (yyvsp[(2) - (5)].
string));
2630 printf(
"got binding on mods %d, keycode %d, symbol %s, command %s\n",
2645 #line 1024 "src/cfgparse.y"
2659 #line 1036 "src/cfgparse.y"
2661 printf(
"\t new bar configuration finished, saving.\n");
2667 char *
x = current_bar.
id + strlen(
"bar-");
2668 while (*x !=
'\0') {
2669 *(x++) = (rand() % 26) +
'a';
2679 memcpy(bar_config, ¤t_bar,
sizeof(
Barconfig));
2682 memset(¤t_bar,
'\0',
sizeof(
Barconfig));
2689 #line 1091 "src/cfgparse.y"
2691 DLOG(
"should add status command %s\n", (yyvsp[(2) - (2)].
string));
2700 #line 1100 "src/cfgparse.y"
2702 DLOG(
"should add i3bar_command %s\n", (yyvsp[(2) - (2)].
string));
2711 #line 1109 "src/cfgparse.y"
2713 DLOG(
"bar output %s\n", (yyvsp[(2) - (2)].
string));
2724 #line 1120 "src/cfgparse.y"
2726 DLOG(
"tray %s\n", (yyvsp[(2) - (2)].
string));
2735 #line 1129 "src/cfgparse.y"
2737 DLOG(
"position %d\n", (yyvsp[(2) - (2)].number));
2745 #line 1136 "src/cfgparse.y"
2746 { (yyval.
number) = P_TOP; }
2752 #line 1137 "src/cfgparse.y"
2753 { (yyval.
number) = P_BOTTOM; }
2759 #line 1142 "src/cfgparse.y"
2761 DLOG(
"mode %d\n", (yyvsp[(2) - (2)].number));
2762 current_bar.
mode = (yyvsp[(2) - (2)].
number);
2769 #line 1149 "src/cfgparse.y"
2770 { (yyval.
number) = M_HIDE; }
2776 #line 1150 "src/cfgparse.y"
2777 { (yyval.
number) = M_DOCK; }
2783 #line 1155 "src/cfgparse.y"
2785 DLOG(
"modifier %d\n", (yyvsp[(2) - (2)].number));
2793 #line 1161 "src/cfgparse.y"
2794 { (yyval.
number) = M_CONTROL; }
2800 #line 1162 "src/cfgparse.y"
2801 { (yyval.
number) = M_SHIFT; }
2807 #line 1163 "src/cfgparse.y"
2808 { (yyval.
number) = M_MOD1; }
2814 #line 1164 "src/cfgparse.y"
2815 { (yyval.
number) = M_MOD2; }
2821 #line 1165 "src/cfgparse.y"
2822 { (yyval.
number) = M_MOD3; }
2828 #line 1166 "src/cfgparse.y"
2829 { (yyval.
number) = M_MOD4; }
2835 #line 1167 "src/cfgparse.y"
2836 { (yyval.
number) = M_MOD5; }
2842 #line 1172 "src/cfgparse.y"
2844 DLOG(
"font %s\n", (yyvsp[(2) - (2)].
string));
2846 current_bar.
font = (yyvsp[(2) - (2)].
string);
2853 #line 1181 "src/cfgparse.y"
2855 DLOG(
"workspace_buttons = %d\n", (yyvsp[(2) - (2)].number));
2865 #line 1191 "src/cfgparse.y"
2867 DLOG(
"verbose = %d\n", (yyvsp[(2) - (2)].number));
2875 #line 1199 "src/cfgparse.y"
2877 DLOG(
"socket_path = %s\n", (yyvsp[(2) - (2)].
string));
2886 #line 1208 "src/cfgparse.y"
2897 #line 1217 "src/cfgparse.y"
2899 DLOG(
"background = %s\n", (yyvsp[(2) - (2)].
string));
2907 #line 1225 "src/cfgparse.y"
2909 DLOG(
"statusline = %s\n", (yyvsp[(2) - (2)].
string));
2917 #line 1233 "src/cfgparse.y"
2920 DLOG(
"focused_ws = %s, %s (old)\n", (yyvsp[(2) - (3)].
string), (yyvsp[(3) - (3)].
string));
2929 #line 1240 "src/cfgparse.y"
2932 DLOG(
"focused_ws = %s, %s and %s\n", (yyvsp[(2) - (4)].
string), (yyvsp[(3) - (4)].
string), (yyvsp[(4) - (4)].
string));
2942 #line 1251 "src/cfgparse.y"
2945 DLOG(
"active_ws = %s, %s (old)\n", (yyvsp[(2) - (3)].
string), (yyvsp[(3) - (3)].
string));
2954 #line 1258 "src/cfgparse.y"
2957 DLOG(
"active_ws = %s, %s and %s\n", (yyvsp[(2) - (4)].
string), (yyvsp[(3) - (4)].
string), (yyvsp[(4) - (4)].
string));
2967 #line 1269 "src/cfgparse.y"
2970 DLOG(
"inactive_ws = %s, %s (old)\n", (yyvsp[(2) - (3)].
string), (yyvsp[(3) - (3)].
string));
2979 #line 1276 "src/cfgparse.y"
2981 DLOG(
"inactive_ws = %s, %s and %s\n", (yyvsp[(2) - (4)].
string), (yyvsp[(3) - (4)].
string), (yyvsp[(4) - (4)].
string));
2991 #line 1286 "src/cfgparse.y"
2994 DLOG(
"urgent_ws = %s, %s (old)\n", (yyvsp[(2) - (3)].
string), (yyvsp[(3) - (3)].
string));
3003 #line 1293 "src/cfgparse.y"
3005 DLOG(
"urgent_ws = %s, %s and %s\n", (yyvsp[(2) - (4)].
string), (yyvsp[(3) - (4)].
string), (yyvsp[(4) - (4)].
string));
3015 #line 1303 "src/cfgparse.y"
3017 printf(
"floating_maximum_width = %d\n", (yyvsp[(2) - (4)].number));
3018 printf(
"floating_maximum_height = %d\n", (yyvsp[(4) - (4)].number));
3027 #line 1313 "src/cfgparse.y"
3029 printf(
"floating_minimum_width = %d\n", (yyvsp[(2) - (4)].number));
3030 printf(
"floating_minimum_height = %d\n", (yyvsp[(4) - (4)].number));
3039 #line 1323 "src/cfgparse.y"
3041 DLOG(
"floating modifier = %d\n", (yyvsp[(2) - (2)].number));
3049 #line 1331 "src/cfgparse.y"
3051 DLOG(
"New containers should start with split direction %d\n", (yyvsp[(2) - (2)].number));
3059 #line 1338 "src/cfgparse.y"
3066 #line 1339 "src/cfgparse.y"
3073 #line 1340 "src/cfgparse.y"
3080 #line 1345 "src/cfgparse.y"
3082 DLOG(
"new containers will be in mode %d\n", (yyvsp[(2) - (2)].number));
3096 if (ws->table == NULL)
3098 switch_layout_mode(global_conn,
3109 #line 1369 "src/cfgparse.y"
3111 DLOG(
"stack-limit %d with val %d\n", (yyvsp[(3) - (4)].number), (yyvsp[(4) - (4)].number));
3119 if (ws->table == NULL)
3121 Container *con = ws->table[0][0];
3132 #line 1389 "src/cfgparse.y"
3133 { (yyval.
number) = L_DEFAULT; }
3139 #line 1390 "src/cfgparse.y"
3140 { (yyval.
number) = L_STACKED; }
3146 #line 1391 "src/cfgparse.y"
3147 { (yyval.
number) = L_TABBED; }
3153 #line 1396 "src/cfgparse.y"
3155 DLOG(
"new windows should start with border style %d\n", (yyvsp[(2) - (2)].number));
3163 #line 1404 "src/cfgparse.y"
3165 DLOG(
"new floating windows should start with border style %d\n", (yyvsp[(2) - (2)].number));
3173 #line 1411 "src/cfgparse.y"
3180 #line 1412 "src/cfgparse.y"
3187 #line 1413 "src/cfgparse.y"
3194 #line 1418 "src/cfgparse.y"
3196 (yyval.
number) = ((yyvsp[(1) - (1)].number) == 1);
3203 #line 1422 "src/cfgparse.y"
3205 DLOG(
"checking word \"%s\"\n", (yyvsp[(1) - (1)].
string));
3206 (yyval.
number) = (strcasecmp((yyvsp[(1) - (1)].
string),
"yes") == 0 ||
3207 strcasecmp((yyvsp[(1) - (1)].
string),
"true") == 0 ||
3208 strcasecmp((yyvsp[(1) - (1)].
string),
"on") == 0 ||
3209 strcasecmp((yyvsp[(1) - (1)].
string),
"enable") == 0 ||
3210 strcasecmp((yyvsp[(1) - (1)].
string),
"active") == 0);
3217 #line 1434 "src/cfgparse.y"
3219 DLOG(
"focus follows mouse = %d\n", (yyvsp[(2) - (2)].number));
3227 #line 1442 "src/cfgparse.y"
3229 DLOG(
"force focus wrapping = %d\n", (yyvsp[(2) - (2)].number));
3237 #line 1450 "src/cfgparse.y"
3239 DLOG(
"force xinerama = %d\n", (yyvsp[(2) - (2)].number));
3247 #line 1458 "src/cfgparse.y"
3249 DLOG(
"fake outputs = %s\n", (yyvsp[(2) - (2)].
string));
3257 #line 1466 "src/cfgparse.y"
3259 DLOG(
"automatic workspace back-and-forth = %d\n", (yyvsp[(2) - (2)].number));
3267 #line 1474 "src/cfgparse.y"
3269 DLOG(
"workspace bar = %d\n", (yyvsp[(2) - (2)].number));
3277 #line 1482 "src/cfgparse.y"
3279 char *ws_name = (yyvsp[(2) - (5)].
string);
3281 if ((yyvsp[(5) - (5)].
string) != NULL) {
3282 ELOG(
"The old (v3) syntax workspace <number> output <output> <name> is deprecated.\n");
3283 ELOG(
"Please use the new syntax: workspace \"<workspace>\" output <output>\n");
3284 ELOG(
"In your case, the following should work:\n");
3285 ELOG(
" workspace \"%s\" output %s\n", (yyvsp[(5) - (5)].
string), (yyvsp[(4) - (5)].
string));
3286 ws_name = (yyvsp[(5) - (5)].
string);
3290 DLOG(
"Assigning workspace \"%s\" to output \"%s\"\n", ws_name, (yyvsp[(4) - (5)].
string));
3295 bool duplicate =
false;
3297 if (strcasecmp(assignment->
name, ws_name) == 0) {
3298 ELOG(
"You have a duplicate workspace assignment for workspace \"%s\"\n",
3306 assignment->
name = ws_name;
3316 #line 1516 "src/cfgparse.y"
3318 int ws_num = (yyvsp[(2) - (3)].
number);
3320 DLOG(
"Invalid workspace assignment, workspace number %d out of range\n", ws_num);
3322 DLOG(
"workspace name to: %s\n", (yyvsp[(3) - (3)].
string));
3324 if ((yyvsp[(3) - (3)].
string) != NULL) {
3325 workspace_set_name(
workspace_get(ws_num - 1), (yyvsp[(3) - (3)].
string));
3326 free((yyvsp[(3) - (3)].
string));
3336 #line 1533 "src/cfgparse.y"
3337 { (yyval.
string) = NULL; }
3343 #line 1534 "src/cfgparse.y"
3344 { (yyval.
string) = (yyvsp[(1) - (1)].
string); }
3350 #line 1538 "src/cfgparse.y"
3351 { (yyval.
string) = (yyvsp[(1) - (1)].
string); }
3357 #line 1539 "src/cfgparse.y"
3358 { (yyval.
string) = (yyvsp[(1) - (1)].
string); }
3364 #line 1540 "src/cfgparse.y"
3365 { (yyval.
string) = (yyvsp[(1) - (1)].
string); }
3371 #line 1545 "src/cfgparse.y"
3376 ELOG(
"You are using the old assign syntax (without criteria). "
3377 "Please see the User's Guide for the new syntax and fix "
3378 "your config file.\n");
3380 printf(
"assignment of %s to *%s*\n", (yyvsp[(2) - (3)].
string), (yyvsp[(3) - (3)].
string));
3381 char *workspace = (yyvsp[(3) - (3)].
string);
3382 char *criteria = (yyvsp[(2) - (3)].
string);
3388 char *separator = NULL;
3389 if ((separator = strchr(criteria,
'/')) != NULL) {
3390 *(separator++) =
'\0';
3392 sasprintf(&pattern,
"(?i)%s", separator);
3395 printf(
" title = %s\n", separator);
3397 if (*criteria !=
'\0') {
3399 sasprintf(&pattern,
"(?i)%s", criteria);
3402 printf(
" class = %s\n", criteria);
3411 if (*workspace ==
'~') {
3413 if (*workspace ==
'\0') {
3415 assignment->
type = A_COMMAND;
3423 floating->
type = A_COMMAND;
3429 assignment->
type = A_TO_WORKSPACE;
3438 #line 1607 "src/cfgparse.y"
3441 ELOG(
"Match is empty, ignoring this assignment\n");
3444 printf(
"new assignment, using above criteria, to workspace %s\n", (yyvsp[(3) - (3)].
string));
3447 assignment->
type = A_TO_WORKSPACE;
3456 #line 1628 "src/cfgparse.y"
3465 #line 1635 "src/cfgparse.y"
3474 #line 1642 "src/cfgparse.y"
3477 new->command = (yyvsp[(3) - (3)].
string);
3478 new->no_startup_id = (yyvsp[(2) - (3)].
number);
3486 #line 1652 "src/cfgparse.y"
3489 new->command = (yyvsp[(3) - (3)].
string);
3490 new->no_startup_id = (yyvsp[(2) - (3)].
number);
3498 #line 1661 "src/cfgparse.y"
3499 { (yyval.
number) =
false; }
3505 #line 1662 "src/cfgparse.y"
3506 { (yyval.
number) =
true; }
3512 #line 1667 "src/cfgparse.y"
3514 ELOG(
"The terminal option is DEPRECATED and has no effect. "
3515 "Please remove it from your configuration file.\n");
3522 #line 1675 "src/cfgparse.y"
3526 printf(
"font %s\n", (yyvsp[(2) - (2)].
string));
3535 #line 1686 "src/cfgparse.y"
3538 *dest = (yyvsp[(2) - (2)].
number);
3545 #line 1694 "src/cfgparse.y"
3558 #line 1702 "src/cfgparse.y"
3572 #line 1714 "src/cfgparse.y"
3575 free((yyvsp[(1) - (1)].
string));
3582 #line 1722 "src/cfgparse.y"
3589 #line 1724 "src/cfgparse.y"
3590 { (yyval.
number) = (yyvsp[(1) - (3)].number) | (yyvsp[(3) - (3)].
number); }
3596 #line 1725 "src/cfgparse.y"
3597 { (yyval.
number) = (yyvsp[(1) - (2)].number); }
3603 #line 1729 "src/cfgparse.y"
3604 { (yyval.
number) = (yyvsp[(1) - (1)].number); }
3610 #line 1730 "src/cfgparse.y"
3617 #line 1731 "src/cfgparse.y"
3624 #line 1736 "src/cfgparse.y"
3626 DLOG(
"popup_during_fullscreen setting: %d\n", (yyvsp[(2) - (2)].number));
3634 #line 1743 "src/cfgparse.y"
3635 { (yyval.
number) = PDF_IGNORE; }
3641 #line 1744 "src/cfgparse.y"
3642 { (yyval.
number) = PDF_LEAVE_FULLSCREEN; }
3648 #line 3649 "src/cfgparse.tab.c"
3676 yystate = yypgoto[yyn -
YYNTOKENS] + *yyssp;
3677 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
3678 yystate = yytable[yystate];
3697 #if ! YYERROR_VERBOSE
3700 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
3703 char const *yymsgp =
YY_(
"syntax error");
3704 int yysyntax_error_status;
3706 if (yysyntax_error_status == 0)
3708 else if (yysyntax_error_status == 1)
3710 if (yymsg != yymsgbuf)
3716 yymsg_alloc =
sizeof yymsgbuf;
3717 yysyntax_error_status = 2;
3726 if (yysyntax_error_status == 2)
3727 goto yyexhaustedlab;
3729 # undef YYSYNTAX_ERROR
3735 if (yyerrstatus == 3)
3740 if (yychar <=
YYEOF)
3743 if (yychar ==
YYEOF)
3787 yyn = yypact[yystate];
3805 yystos[yystate], yyvsp);
3835 #if !defined(yyoverflow) || YYERROR_VERBOSE
3858 while (yyssp != yyss)
3861 yystos[*yyssp], yyvsp);
3869 if (yymsg != yymsgbuf)
3873 return YYID (yyresult);