Bugfix: Correctly hide/show workspaces when enabling new outputs, correctly handle focus (Thanks Merovius)

This commit is contained in:
Michael Stapelberg
2010-03-05 15:22:12 +01:00
parent 718d62a3cd
commit 8b192ac7ed
4 changed files with 29 additions and 5 deletions

View File

@ -162,6 +162,12 @@ static void initialize_output(xcb_connection_t *conn, Output *output,
workspace->output = output;
output->current_workspace = workspace;
/* Copy rect for the workspace */
memcpy(&(workspace->rect), &(output->rect), sizeof(Rect));
/* Map clients on the workspace, if any */
workspace_map_clients(conn, workspace);
/* Create a xoutput for each output */
Rect bar_rect = {output->rect.x,
output->rect.y + output->rect.height - (font->height + 6),
@ -437,7 +443,7 @@ void randr_query_screens(xcb_connection_t *conn) {
if (ws->output != output)
continue;
workspace_assign_to(ws, first);
workspace_assign_to(ws, first, true);
if (!needs_init)
continue;
initialize_output(conn, first, ws);