parent
153259cb10
commit
97b086efd9
|
@ -229,6 +229,11 @@ bool tree_close(Con *con, kill_window_t kill_window, bool dont_kill_parent, bool
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (workspace_is_visible(con)) {
|
||||||
|
DLOG("A visible workspace cannot be killed.\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (con->window != NULL) {
|
if (con->window != NULL) {
|
||||||
if (kill_window != DONT_KILL_WINDOW) {
|
if (kill_window != DONT_KILL_WINDOW) {
|
||||||
x_window_kill(con->window->id, kill_window);
|
x_window_kill(con->window->id, kill_window);
|
||||||
|
@ -359,10 +364,6 @@ bool tree_close(Con *con, kill_window_t kill_window, bool dont_kill_parent, bool
|
||||||
*/
|
*/
|
||||||
void tree_close_con(kill_window_t kill_window) {
|
void tree_close_con(kill_window_t kill_window) {
|
||||||
assert(focused != NULL);
|
assert(focused != NULL);
|
||||||
if (focused->type == CT_WORKSPACE) {
|
|
||||||
LOG("Cannot close workspace\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* There *should* be no possibility to focus outputs / root container */
|
/* There *should* be no possibility to focus outputs / root container */
|
||||||
assert(focused->type != CT_OUTPUT);
|
assert(focused->type != CT_OUTPUT);
|
||||||
|
|
|
@ -119,6 +119,30 @@ sync_with_i3;
|
||||||
|
|
||||||
is(get_focused($tmp), $middle, 'middle container focused');
|
is(get_focused($tmp), $middle, 'middle container focused');
|
||||||
|
|
||||||
|
##############################################################
|
||||||
|
# check if the workspace container can be closed
|
||||||
|
##############################################################
|
||||||
|
|
||||||
|
$tmp = fresh_workspace;
|
||||||
|
|
||||||
|
my $window = open_window();
|
||||||
|
|
||||||
|
# one window opened on the current workspace
|
||||||
|
($nodes, $focus) = get_ws_content($tmp);
|
||||||
|
is(scalar @$nodes, 1, 'workspace contains one node');
|
||||||
|
|
||||||
|
# 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 @$nodes, 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