Bugfix: Don’t unmap windows when current workspace gets reassigned
Steps to reproduce were: 1) xrandr --output VGA1 --auto --left-of LVDS1 2) open a terminal on VGA1 3) xrandr --output VGA1 --off
This commit is contained in:
parent
85730d6892
commit
0f7ac09c7b
|
@ -248,12 +248,17 @@ void workspace_assign_to(Workspace *ws, Output *output, bool hide_it) {
|
||||||
if (visible && !hide_it)
|
if (visible && !hide_it)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
workspace_unmap_clients(global_conn, ws);
|
/* however, if this is the current workspace, we only need to adjust
|
||||||
|
* the output’s current_workspace pointer (and must not unmap the
|
||||||
|
* windows) */
|
||||||
if (c_ws == ws) {
|
if (c_ws == ws) {
|
||||||
DLOG("Need to adjust output->current_workspace...\n");
|
DLOG("Need to adjust output->current_workspace...\n");
|
||||||
output->current_workspace = c_ws;
|
output->current_workspace = c_ws;
|
||||||
|
ipc_send_event("workspace", I3_IPC_EVENT_WORKSPACE, "{\"change\":\"focus\"}");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
workspace_unmap_clients(global_conn, ws);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue