Implement 'border toggle' (+test)
This commit is contained in:
parent
60ae26c19d
commit
bef25d72aa
|
@ -794,10 +794,7 @@ To change the border of the current client, you can use +border normal+ to use t
|
||||||
border (including window title), +border 1pixel+ to use a 1-pixel border (no window title)
|
border (including window title), +border 1pixel+ to use a 1-pixel border (no window title)
|
||||||
and +border none+ to make the client borderless.
|
and +border none+ to make the client borderless.
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
|
||||||
TODO: not yet implemented
|
|
||||||
There is also +border toggle+ which will toggle the different border styles.
|
There is also +border toggle+ which will toggle the different border styles.
|
||||||
////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
*Examples*:
|
*Examples*:
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
|
@ -597,7 +597,10 @@ border:
|
||||||
|
|
||||||
TAILQ_FOREACH(current, &owindows, owindows) {
|
TAILQ_FOREACH(current, &owindows, owindows) {
|
||||||
printf("matching: %p / %s\n", current->con, current->con->name);
|
printf("matching: %p / %s\n", current->con, current->con->name);
|
||||||
current->con->border_style = $2;
|
if ($2 == TOK_TOGGLE) {
|
||||||
|
current->con->border_style++;
|
||||||
|
current->con->border_style %= 3;
|
||||||
|
} else current->con->border_style = $2;
|
||||||
}
|
}
|
||||||
|
|
||||||
tree_render();
|
tree_render();
|
||||||
|
@ -608,6 +611,7 @@ border_style:
|
||||||
TOK_NORMAL { $$ = BS_NORMAL; }
|
TOK_NORMAL { $$ = BS_NORMAL; }
|
||||||
| TOK_NONE { $$ = BS_NONE; }
|
| TOK_NONE { $$ = BS_NONE; }
|
||||||
| TOK_1PIXEL { $$ = BS_1PIXEL; }
|
| TOK_1PIXEL { $$ = BS_1PIXEL; }
|
||||||
|
| TOK_TOGGLE { $$ = TOK_TOGGLE; }
|
||||||
;
|
;
|
||||||
|
|
||||||
move:
|
move:
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!perl
|
||||||
|
# vim:ts=4:sw=4:expandtab
|
||||||
|
#
|
||||||
|
# Tests if the 'border toggle' command works correctly
|
||||||
|
#
|
||||||
|
use i3test;
|
||||||
|
|
||||||
|
my $tmp = fresh_workspace;
|
||||||
|
|
||||||
|
cmd 'open';
|
||||||
|
|
||||||
|
my @nodes = @{get_ws_content($tmp)};
|
||||||
|
is(@nodes, 1, 'one container on this workspace');
|
||||||
|
is($nodes[0]->{border}, 'normal', 'border style normal');
|
||||||
|
|
||||||
|
cmd 'border 1pixel';
|
||||||
|
@nodes = @{get_ws_content($tmp)};
|
||||||
|
is($nodes[0]->{border}, '1pixel', 'border style 1pixel');
|
||||||
|
|
||||||
|
cmd 'border none';
|
||||||
|
@nodes = @{get_ws_content($tmp)};
|
||||||
|
is($nodes[0]->{border}, 'none', 'border style none');
|
||||||
|
|
||||||
|
cmd 'border normal';
|
||||||
|
@nodes = @{get_ws_content($tmp)};
|
||||||
|
is($nodes[0]->{border}, 'normal', 'border style back to normal');
|
||||||
|
|
||||||
|
cmd 'border toggle';
|
||||||
|
@nodes = @{get_ws_content($tmp)};
|
||||||
|
is($nodes[0]->{border}, 'none', 'border style none');
|
||||||
|
|
||||||
|
cmd 'border toggle';
|
||||||
|
@nodes = @{get_ws_content($tmp)};
|
||||||
|
is($nodes[0]->{border}, '1pixel', 'border style 1pixel');
|
||||||
|
|
||||||
|
cmd 'border toggle';
|
||||||
|
@nodes = @{get_ws_content($tmp)};
|
||||||
|
is($nodes[0]->{border}, 'normal', 'border style back to normal');
|
||||||
|
|
||||||
|
done_testing;
|
Loading…
Reference in New Issue