Commit a919943a831103eec03e308e81f91da27c1d9d96 Parent: 2f1a499e9cf4b20ffb8af7e8bf3b41466659ef34 Author: mcol <mcol@posteo.net> Date: 2020-11-08 18:33:05 +0000 Committer: mcol <mcol@posteo.net> Committed: 2020-11-08 18:33:05 +0000 map and unmap views when setting new desk
src/desk.c Modified
@@ -1,7 +1,9 @@ #include "config.h" #include "desk.h" +#include "shell.h" #include "types.h" + static int num_desks = 0; @@ -22,6 +24,18 @@ } +void set_desk(struct server *server, struct desk *desk) { + struct view *view; + wl_list_for_each(view, &server->current_desk->views, link) { + unmap_view(view); + } + server->current_desk = desk; + wl_list_for_each(view, &server->current_desk->views, link) { + map_view(view); + } +} + + void next_desk(struct server *server) { struct desk *desk; if (server->current_desk->index + 1 == num_desks) { @@ -29,7 +43,7 @@ } else { desk = wl_container_of(server->current_desk->link.next, desk, link); } - server->current_desk = desk; + set_desk(server, desk); } @@ -40,5 +54,5 @@ } else { desk = wl_container_of(server->current_desk->link.prev, desk, link); } - server->current_desk = desk; + set_desk(server, desk); }