diff --git a/parser-specs/config.spec b/parser-specs/config.spec index 9a4bf559..6960510d 100644 --- a/parser-specs/config.spec +++ b/parser-specs/config.spec @@ -229,7 +229,7 @@ state RESTART_STATE: # popup_during_fullscreen state POPUP_DURING_FULLSCREEN: - value = 'ignore', 'leave_fullscreen' + value = 'ignore', 'leave_fullscreen', 'smart' -> call cfg_popup_during_fullscreen($value) # client.background diff --git a/src/config_directives.c b/src/config_directives.c index 0a83d46f..a7fa3500 100644 --- a/src/config_directives.c +++ b/src/config_directives.c @@ -392,8 +392,13 @@ CFGFUN(restart_state, const char *path) { } CFGFUN(popup_during_fullscreen, const char *value) { - config.popup_during_fullscreen = - (strcmp(value, "ignore") == 0 ? PDF_IGNORE : PDF_LEAVE_FULLSCREEN); + if (strcmp(value, "ignore") == 0) { + config.popup_during_fullscreen = PDF_IGNORE; + } else if (strcmp(value, "leave_fullscreen") == 0) { + config.popup_during_fullscreen = PDF_LEAVE_FULLSCREEN; + } else { + config.popup_during_fullscreen = PDF_SMART; + } } CFGFUN(color_single, const char *colorclass, const char *color) { diff --git a/testcases/t/201-config-parser.t b/testcases/t/201-config-parser.t index 182d7754..6a49ff78 100644 --- a/testcases/t/201-config-parser.t +++ b/testcases/t/201-config-parser.t @@ -144,6 +144,27 @@ is(parser_calls($config), $expected, 'floating_minimum_size ok'); +################################################################################ +# popup_during_fullscreen +################################################################################ + +$config = <<'EOT'; +popup_during_fullscreen ignore +popup_during_fullscreen leave_fullscreen +popup_during_fullscreen SMArt +EOT + +$expected = <<'EOT'; +cfg_popup_during_fullscreen(ignore) +cfg_popup_during_fullscreen(leave_fullscreen) +cfg_popup_during_fullscreen(smart) +EOT + +is(parser_calls($config), + $expected, + 'popup_during_fullscreen ok'); + + ################################################################################ # floating_modifier ################################################################################