diff options
author | Orestis Floros <orestisflo@gmail.com> | 2023-01-06 22:24:08 +0100 |
---|---|---|
committer | Orestis Floros <orestisflo@gmail.com> | 2023-01-06 22:30:56 +0100 |
commit | fa25afedd26dac12907f4af9c6f0b2ddf1cbbf2f (patch) | |
tree | 6317f34abeb1b48978baf1d59885f3a48d97030c | |
parent | 46de32eedda26ecace895a00c8dde56131282694 (diff) | |
download | i3-fa25afedd26dac12907f4af9c6f0b2ddf1cbbf2f.tar.gz i3-fa25afedd26dac12907f4af9c6f0b2ddf1cbbf2f.zip |
Do not canonicalize "nonprimary" output for i3bar
Fixes #5346
-rw-r--r-- | release-notes/bugfixes/1-i3bar-nonprimary | 1 | ||||
-rw-r--r-- | src/ipc.c | 2 | ||||
-rw-r--r-- | testcases/t/538-i3bar-primary-output.t | 29 |
3 files changed, 30 insertions, 2 deletions
diff --git a/release-notes/bugfixes/1-i3bar-nonprimary b/release-notes/bugfixes/1-i3bar-nonprimary new file mode 100644 index 00000000..b787a5a6 --- /dev/null +++ b/release-notes/bugfixes/1-i3bar-nonprimary @@ -0,0 +1 @@ +fix regression with i3bar's output nonprimary @@ -739,7 +739,7 @@ static void dump_bar_bindings(yajl_gen gen, Barconfig *config) { static char *canonicalize_output_name(char *name) { /* Do not canonicalize special output names. */ - if (strcasecmp(name, "primary") == 0) { + if (strcasecmp(name, "primary") == 0 || strcasecmp(name, "nonprimary") == 0) { return name; } Output *output = get_output_by_name(name, false); diff --git a/testcases/t/538-i3bar-primary-output.t b/testcases/t/538-i3bar-primary-output.t index 249d5777..d5581dd8 100644 --- a/testcases/t/538-i3bar-primary-output.t +++ b/testcases/t/538-i3bar-primary-output.t @@ -17,8 +17,10 @@ # Tests that i3bars configured to use the primary output do not have # their output names canonicalized to something other than "primary". # Ticket: #2948 +# Ticket: #5346 # Bug still in: 4.14-93-ga3a7d04a -use i3test i3_config => <<EOT; +use i3test i3_autostart => 0; +my $config = <<EOT; # i3 config file (v4) font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 @@ -28,6 +30,7 @@ bar { output primary } EOT +my $pid = launch_with_config($config); my $bars = i3->get_bar_config()->recv; is(@$bars, 1, 'one bar configured'); @@ -36,5 +39,29 @@ my $bar_id = shift @$bars; my $bar_config = i3->get_bar_config($bar_id)->recv; is_deeply($bar_config->{outputs}, [ "primary" ], 'bar_config output is primary'); +exit_gracefully($pid); + +# Same but for "nonprimary" + +$config = <<EOT; +# i3 config file (v4) +font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 + +fake-outputs 1024x768+0+0P,1024x768+0+0 + +bar { + output nonprimary +} +EOT +$pid = launch_with_config($config); + +$bars = i3->get_bar_config()->recv; +is(@$bars, 1, 'one bar configured'); + +$bar_id = shift @$bars; + +$bar_config = i3->get_bar_config($bar_id)->recv; +is_deeply($bar_config->{outputs}, [ "nonprimary" ], 'bar_config output is nonprimary'); +exit_gracefully($pid); done_testing; |