Merge branch 'fix-baf-after-scratchpad'

This commit is contained in:
Michael Stapelberg 2012-11-10 09:01:24 +01:00
commit 17674de5a6
2 changed files with 27 additions and 5 deletions

View File

@ -340,11 +340,16 @@ static void _workspace_show(Con *workspace) {
/* Remember currently focused workspace for switching back to it later with /* Remember currently focused workspace for switching back to it later with
* the 'workspace back_and_forth' command. * the 'workspace back_and_forth' command.
* NOTE: We have to duplicate the name as the original will be freed when * NOTE: We have to duplicate the name as the original will be freed when
* the corresponding workspace is cleaned up. */ * the corresponding workspace is cleaned up.
* NOTE: Internal cons such as __i3_scratch (when a scratchpad window is
FREE(previous_workspace_name); * focused) are skipped, see bug #868. */
if (current) if (current && !con_is_internal(current)) {
previous_workspace_name = sstrdup(current->name); FREE(previous_workspace_name);
if (current) {
previous_workspace_name = sstrdup(current->name);
DLOG("Setting previous_workspace_name = %s\n", previous_workspace_name);
}
}
workspace_reassign_sticky(workspace); workspace_reassign_sticky(workspace);

View File

@ -106,6 +106,23 @@ is(focused_ws, '6: baz', 'workspace 6 now focused');
cmd 'workspace number 6'; cmd 'workspace number 6';
is(focused_ws, '5: foo', 'workspace 5 focused again'); is(focused_ws, '5: foo', 'workspace 5 focused again');
################################################################################
# Place a window in the scratchpad, see if BAF works after showing the
# scratchpad window.
################################################################################
my $scratchwin = open_window;
cmd 'move scratchpad';
# show scratchpad window
cmd 'scratchpad show';
# hide scratchpad window
cmd 'scratchpad show';
cmd 'workspace back_and_forth';
is(focused_ws, '6: baz', 'workspace 6 now focused');
exit_gracefully($pid); exit_gracefully($pid);
done_testing; done_testing;