Commit 480be466081d23c0364fe708b2d791e837ef8c1b Parent: 6bedda13c02a6692a93ad6486e3a6dbc9ad58fc0 Author: mcol <mcol@posteo.net> Date: 2020-12-05 22:52:12 +0000 Committer: mcol <mcol@posteo.net> Committed: 2020-12-05 22:52:12 +0000 do not rotate window list when changing desk
src/shell.c Modified
@@ -50,10 +50,12 @@ void on_unmap(struct wl_listener *listener, void *data) { struct view *view = wl_container_of(listener, view, unmap_listener); - wl_list_remove(&view->link); - wl_list_insert(view->server->current_desk->views.prev, &view->link); - struct view *next_view = wl_container_of(view->server->current_desk->views.next, view, link); - focus_view(next_view, next_view->surface->surface); + if (view->server->can_steal_focus) { + wl_list_remove(&view->link); + wl_list_insert(view->server->current_desk->views.prev, &view->link); + struct view *next_view = wl_container_of(view->server->current_desk->views.next, view, link); + focus_view(next_view, next_view->surface->surface); + } }
src/desk.c Modified
@@ -19,11 +19,11 @@ void set_desk(struct server *server, struct desk *desk) { struct view *view; + server->can_steal_focus = false; wl_list_for_each(view, &server->current_desk->views, link) { unmap_view(view); } server->current_desk = desk; - server->can_steal_focus = false; wl_list_for_each(view, &server->current_desk->views, link) { map_view(view); }