previous commit: extend test and code to also work with floating windows
This commit is contained in:
parent
eef9042713
commit
1c0554564a
|
@ -367,8 +367,8 @@ void tree_close_con(kill_window_t kill_window) {
|
||||||
if (focused->type == CT_WORKSPACE) {
|
if (focused->type == CT_WORKSPACE) {
|
||||||
DLOG("Workspaces cannot be close, closing all children instead\n");
|
DLOG("Workspaces cannot be close, closing all children instead\n");
|
||||||
Con *child, *nextchild;
|
Con *child, *nextchild;
|
||||||
for (child = TAILQ_FIRST(&(focused->nodes_head)); child; ) {
|
for (child = TAILQ_FIRST(&(focused->focus_head)); child; ) {
|
||||||
nextchild = TAILQ_NEXT(child, nodes);
|
nextchild = TAILQ_NEXT(child, focused);
|
||||||
DLOG("killing child=%p\n", child);
|
DLOG("killing child=%p\n", child);
|
||||||
tree_close(child, kill_window, false, false);
|
tree_close(child, kill_window, false, false);
|
||||||
child = nextchild;
|
child = nextchild;
|
||||||
|
|
|
@ -143,6 +143,31 @@ sync_with_i3;
|
||||||
($nodes, $focus) = get_ws_content($tmp);
|
($nodes, $focus) = get_ws_content($tmp);
|
||||||
is(scalar @$nodes, 0, 'workspace is empty');
|
is(scalar @$nodes, 0, 'workspace is empty');
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# check if killing a workspace also closes floating windows.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
$tmp = fresh_workspace;
|
||||||
|
|
||||||
|
$window = open_window;
|
||||||
|
my $floating_window = open_floating_window;
|
||||||
|
|
||||||
|
# one window opened on the current workspace
|
||||||
|
($nodes, $focus) = get_ws_content($tmp);
|
||||||
|
is(scalar @$focus, 2, 'workspace contains two nodes');
|
||||||
|
|
||||||
|
# focus the workspace
|
||||||
|
cmd "focus parent";
|
||||||
|
cmd "focus parent";
|
||||||
|
|
||||||
|
# try to kill the workspace
|
||||||
|
cmd "kill";
|
||||||
|
sync_with_i3;
|
||||||
|
|
||||||
|
# the workspace should now be empty
|
||||||
|
($nodes, $focus) = get_ws_content($tmp);
|
||||||
|
is(scalar @$focus, 0, 'workspace is empty');
|
||||||
|
|
||||||
##############################################################
|
##############################################################
|
||||||
# and now for something completely different:
|
# and now for something completely different:
|
||||||
# check if the pointer position is relevant when restoring focus
|
# check if the pointer position is relevant when restoring focus
|
||||||
|
|
Loading…
Reference in New Issue