Introduce "--add" for marking windows.
In order to keep compatibility to before allowing multiple marks on a window, we introduce a flag "--add" that must be set to put more than one mark on a window. The default, which is also available as "--replace", keeps the old behavior of overwriting a mark when setting a new one. fixes #2014
This commit is contained in:
@ -118,7 +118,17 @@ cmd 'mark --toggle important';
|
||||
is_deeply(get_mark_for_window_on_workspace($tmp, $con), [ 'important' ], 'container now has the mark');
|
||||
|
||||
##############################################################
|
||||
# 7: mark a con, toggle the mark on another con,
|
||||
# 7: mark a con, toggle a different mark, check it is marked
|
||||
# with the new mark
|
||||
##############################################################
|
||||
|
||||
$con = open_window;
|
||||
cmd 'mark boring';
|
||||
cmd 'mark --replace --toggle important';
|
||||
is_deeply(get_mark_for_window_on_workspace($tmp, $con), [ 'important' ], 'container has the most recent mark');
|
||||
|
||||
##############################################################
|
||||
# 8: mark a con, toggle the mark on another con,
|
||||
# check only the latter has the mark
|
||||
##############################################################
|
||||
|
||||
@ -133,7 +143,7 @@ is_deeply(get_mark_for_window_on_workspace($tmp, $first), [ 'important' ], 'left
|
||||
ok(!get_mark_for_window_on_workspace($tmp, $second), 'second containr no longer has the mark');
|
||||
|
||||
##############################################################
|
||||
# 8: try to mark two cons with the same mark and check that
|
||||
# 9: try to mark two cons with the same mark and check that
|
||||
# it fails
|
||||
##############################################################
|
||||
|
||||
|
@ -38,8 +38,8 @@ sub get_mark_for_window_on_workspace {
|
||||
|
||||
$ws = fresh_workspace;
|
||||
$con = open_window;
|
||||
cmd 'mark A';
|
||||
cmd 'mark B';
|
||||
cmd 'mark --add A';
|
||||
cmd 'mark --add B';
|
||||
|
||||
is_deeply(sort(get_marks()), [ 'A', 'B' ], 'both marks exist');
|
||||
is_deeply(get_mark_for_window_on_workspace($ws, $con), [ 'A', 'B' ], 'both marks are on the same window');
|
||||
@ -54,9 +54,9 @@ $ws = fresh_workspace;
|
||||
$con = open_window;
|
||||
cmd 'mark A';
|
||||
|
||||
cmd 'mark --toggle B';
|
||||
cmd 'mark --add --toggle B';
|
||||
is_deeply(get_mark_for_window_on_workspace($ws, $con), [ 'A', 'B' ], 'both marks are on the same window');
|
||||
cmd 'mark --toggle B';
|
||||
cmd 'mark --add --toggle B';
|
||||
is_deeply(get_mark_for_window_on_workspace($ws, $con), [ 'A' ], 'only mark B has been removed');
|
||||
|
||||
cmd 'unmark';
|
||||
@ -67,9 +67,9 @@ cmd 'unmark';
|
||||
|
||||
$ws = fresh_workspace;
|
||||
$con = open_window;
|
||||
cmd 'mark A';
|
||||
cmd 'mark B';
|
||||
cmd 'mark C';
|
||||
cmd 'mark --add A';
|
||||
cmd 'mark --add B';
|
||||
cmd 'mark --add C';
|
||||
|
||||
cmd 'unmark B';
|
||||
is_deeply(get_mark_for_window_on_workspace($ws, $con), [ 'A', 'C' ], 'only mark B has been removed');
|
||||
@ -82,11 +82,11 @@ cmd 'unmark';
|
||||
|
||||
$ws = fresh_workspace;
|
||||
$con = open_window;
|
||||
cmd 'mark A';
|
||||
cmd 'mark B';
|
||||
cmd 'mark --add A';
|
||||
cmd 'mark --add B';
|
||||
open_window;
|
||||
|
||||
cmd '[con_mark=B] mark C';
|
||||
cmd '[con_mark=B] mark --add C';
|
||||
is_deeply(get_mark_for_window_on_workspace($ws, $con), [ 'A', 'B', 'C' ], 'matching on a mark works with multiple marks');
|
||||
|
||||
cmd 'unmark';
|
||||
|
Reference in New Issue
Block a user