cmd_rename_workspace: correct order of events

1. Rename happens
2. Workspace is moved because of assignments
3. Workspace closes because it is empty (#3248)

Fixes #3248.
This commit is contained in:
Orestis Floros
2018-09-06 03:11:47 +03:00
parent 7c3c50c5cc
commit 6846ac98c0
2 changed files with 16 additions and 1 deletions

View File

@ -93,6 +93,21 @@ cmd 'rename workspace 5 to 2';
is(get_output_for_workspace('2'), 'fake-1',
'Renaming an unfocused workspace, triggering an assignment to the output which holds the currently focused empty workspace should result in the original workspace replacing the empty one');
##########################################################################
# Renaming an unfocused empty workspace, triggering an assignment to the
# output which holds the currently focused non-empty workspace should
# close the empty workspace and not crash i3.
# See issue #3248.
##########################################################################
cmd 'workspace 1';
cmd 'workspace 2';
open_window;
cmd 'rename workspace 1 to baz';
is(get_output_for_workspace('baz'), '',
'Renaming an unfocused empty workspace, triggering an assignment to the output which holds the currently focused non-empty workspace should close the empty workspace and not crash i3');
kill_all_windows;
##########################################################################
# Renaming a workspace with multiple assignments, where the first output
# doesn't exist.