From 7ecdcb61f8f0c1fa6599f24ddc93c711d36b1738 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Sun, 24 Feb 2013 17:23:37 +0100 Subject: [PATCH] =?utf8?q?config:=20accept=20=E2=80=9Csmart=E2=80=9D=20as?= =?utf8?q?=20popup=5Fduring=5Ffullscreen=20parameter=20(Thanks=20supplantr?= =?utf8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This was the default, so explicitly setting it is not really necessary, but of course it should be possible. fixes #967 --- parser-specs/config.spec | 2 +- src/config_directives.c | 9 +++++++-- testcases/t/201-config-parser.t | 21 +++++++++++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) 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 ################################################################################ -- 2.39.5