Bugfix: Restore border_style when restarting inplace (Thanks aniou)
Fixes #385.
This commit is contained in:
parent
9c05c18156
commit
4da6fc7ba3
|
@ -120,6 +120,17 @@ static int json_string(void *ctx, const unsigned char *val, unsigned int len) {
|
||||||
json_node->orientation = VERT;
|
json_node->orientation = VERT;
|
||||||
else LOG("Unhandled orientation: %s\n", buf);
|
else LOG("Unhandled orientation: %s\n", buf);
|
||||||
free(buf);
|
free(buf);
|
||||||
|
} else if (strcasecmp(last_key, "border") == 0) {
|
||||||
|
char *buf = NULL;
|
||||||
|
asprintf(&buf, "%.*s", (int)len, val);
|
||||||
|
if (strcasecmp(buf, "none") == 0)
|
||||||
|
json_node->border_style = BS_NONE;
|
||||||
|
else if (strcasecmp(buf, "1pixel") == 0)
|
||||||
|
json_node->border_style = BS_1PIXEL;
|
||||||
|
else if (strcasecmp(buf, "normal") == 0)
|
||||||
|
json_node->border_style = BS_NORMAL;
|
||||||
|
else LOG("Unhandled \"border\": %s\n", buf);
|
||||||
|
free(buf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!perl
|
||||||
|
# vim:ts=4:sw=4:expandtab
|
||||||
|
#
|
||||||
|
# Regression test to check if borders are correctly restored after an inplace
|
||||||
|
# restart.
|
||||||
|
# found in eb8ad348b28e243cba1972e802ca8ee636472fc9
|
||||||
|
#
|
||||||
|
use X11::XCB qw(:all);
|
||||||
|
use List::Util qw(first);
|
||||||
|
use i3test;
|
||||||
|
|
||||||
|
my $x = X11::XCB::Connection->new;
|
||||||
|
my $i3 = i3("/tmp/nestedcons");
|
||||||
|
my $tmp = fresh_workspace;
|
||||||
|
my $window = open_standard_window($x);
|
||||||
|
|
||||||
|
sub get_border_style {
|
||||||
|
my @content = @{get_ws_content($tmp)};
|
||||||
|
my $wininfo = first { $_->{window} == $window->id } @content;
|
||||||
|
|
||||||
|
return $wininfo->{border};
|
||||||
|
}
|
||||||
|
|
||||||
|
is(get_border_style(), 'normal', 'border style normal');
|
||||||
|
|
||||||
|
cmd 'border 1pixel';
|
||||||
|
|
||||||
|
is(get_border_style(), '1pixel', 'border style 1pixel after changing');
|
||||||
|
|
||||||
|
# perform an inplace-restart
|
||||||
|
cmd 'restart';
|
||||||
|
|
||||||
|
sleep 0.25;
|
||||||
|
|
||||||
|
does_i3_live;
|
||||||
|
|
||||||
|
is(get_border_style(), '1pixel', 'border style still 1pixel after restart');
|
||||||
|
|
||||||
|
done_testing;
|
Loading…
Reference in New Issue