Commit 8d6521d17956052473d173e77655a717b19a75b2 Parent: 1cec4446c1cd7f707e42bee1368416717f062218 Author: mcol <mcol@posteo.net> Date: 2020-11-22 19:02:41 +0000 Committer: mcol <mcol@posteo.net> Committed: 2020-11-22 19:02:41 +0000 don't change focus when changing desks
src/types.h Modified
@@ -38,6 +38,7 @@ struct wl_list desks; int desk_count; struct desk *current_desk; + bool can_steal_focus; struct wlr_cursor *cursor; struct wlr_xcursor_manager *cursor_manager;
src/shell.c Modified
@@ -44,7 +44,8 @@ void on_map(struct wl_listener *listener, void *data) { struct view *view = wl_container_of(listener, view, map_listener); - focus_view(view, view->surface->surface); + if (view->server->can_steal_focus) + focus_view(view, view->surface->surface); } void on_unmap(struct wl_listener *listener, void *data) {
src/deskwm.c Modified
@@ -44,6 +44,7 @@ wlr_compositor_create(server.display, server.renderer); wlr_data_device_manager_create(server.display); wl_list_init(&server.desks); + server.can_steal_focus = false; // read config load_config(&server, config);
src/desk.c Modified
@@ -23,7 +23,9 @@ 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); } + server->can_steal_focus = true; }