Do not resize/reposition floating containers when moving them to scratchpad
This commit is contained in:
parent
459490b67b
commit
98c4cc46e4
|
@ -66,9 +66,15 @@ void scratchpad_move(Con *con) {
|
||||||
* adjusted in size according to what the user specifies. */
|
* adjusted in size according to what the user specifies. */
|
||||||
if (con->scratchpad_state == SCRATCHPAD_NONE) {
|
if (con->scratchpad_state == SCRATCHPAD_NONE) {
|
||||||
DLOG("This window was never used as a scratchpad before.\n");
|
DLOG("This window was never used as a scratchpad before.\n");
|
||||||
|
if (con == maybe_floating_con) {
|
||||||
|
DLOG("It was in floating mode before, set scratchpad state to changed.\n");
|
||||||
|
con->scratchpad_state = SCRATCHPAD_CHANGED;
|
||||||
|
} else {
|
||||||
|
DLOG("It was in tiling mode before, set scratchpad state to fresh.\n");
|
||||||
con->scratchpad_state = SCRATCHPAD_FRESH;
|
con->scratchpad_state = SCRATCHPAD_FRESH;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Either shows the top-most scratchpad window (con == NULL) or shows the
|
* Either shows the top-most scratchpad window (con == NULL) or shows the
|
||||||
|
|
|
@ -446,4 +446,29 @@ is(get_focused($ws), $scratch, 'scratchpad is focused');
|
||||||
|
|
||||||
# TODO: make i3bar display *something* when a window on the scratchpad has the urgency hint
|
# TODO: make i3bar display *something* when a window on the scratchpad has the urgency hint
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# 14: Verify that 'move scratchpad' sends floating containers to scratchpad but
|
||||||
|
# does not resize/resposition the container on the next 'scratchpad show', i.e.,
|
||||||
|
# i3 sets the scratchpad flag to SCRATCHPAD_CHANGED
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
clear_scratchpad;
|
||||||
|
$tmp = fresh_workspace;
|
||||||
|
open_window;
|
||||||
|
|
||||||
|
($nodes, $focus) = get_ws_content($tmp);
|
||||||
|
is(scalar @$nodes, 1, 'precisely one window on current ws');
|
||||||
|
is($nodes->[0]->{scratchpad_state}, 'none', 'scratchpad_state none');
|
||||||
|
|
||||||
|
cmd 'floating toggle';
|
||||||
|
cmd 'move scratchpad';
|
||||||
|
|
||||||
|
$__i3_scratch = get_ws('__i3_scratch');
|
||||||
|
@scratch_nodes = @{$__i3_scratch->{floating_nodes}};
|
||||||
|
is(scalar @scratch_nodes, 1, '__i3_scratch contains our window');
|
||||||
|
($nodes, $focus) = get_ws_content($tmp);
|
||||||
|
is(scalar @$nodes, 0, 'no window on current ws anymore');
|
||||||
|
|
||||||
|
is($scratch_nodes[0]->{scratchpad_state}, 'changed', 'scratchpad_state changed');
|
||||||
|
|
||||||
done_testing;
|
done_testing;
|
||||||
|
|
Loading…
Reference in New Issue