diff options
Diffstat (limited to 'sway')
-rw-r--r-- | sway/commands/move.c | 2 | ||||
-rw-r--r-- | sway/commands/reload.c | 11 | ||||
-rw-r--r-- | sway/tree/view.c | 11 |
3 files changed, 12 insertions, 12 deletions
diff --git a/sway/commands/move.c b/sway/commands/move.c index a5b7f661..e0a958bf 100644 --- a/sway/commands/move.c +++ b/sway/commands/move.c @@ -108,7 +108,7 @@ static void workspace_focus_fullscreen(struct sway_workspace *workspace) { if (focus_ws == workspace) { struct sway_node *new_focus = seat_get_focus_inactive(seat, &workspace->fullscreen->node); - seat_set_focus(seat, new_focus); + seat_set_raw_focus(seat, new_focus); } } } diff --git a/sway/commands/reload.c b/sway/commands/reload.c index 9e136d48..791081a8 100644 --- a/sway/commands/reload.c +++ b/sway/commands/reload.c @@ -5,9 +5,17 @@ #include "sway/ipc-server.h" #include "sway/server.h" #include "sway/tree/arrange.h" +#include "sway/tree/view.h" #include "list.h" #include "log.h" +static void rebuild_textures_iterator(struct sway_container *con, void *data) { + if (con->view) { + view_update_marks_textures(con->view); + } + container_update_title_textures(con); +} + static void do_reload(void *data) { // store bar ids to check against new bars for barconfig_update events list_t *bar_ids = create_list(); @@ -40,6 +48,9 @@ static void do_reload(void *data) { list_foreach(bar_ids, free); list_free(bar_ids); + config_update_font_height(true); + root_for_each_container(rebuild_textures_iterator, NULL); + arrange_root(); } diff --git a/sway/tree/view.c b/sway/tree/view.c index b23afb97..a8486dd7 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -731,13 +731,6 @@ static void view_child_handle_surface_destroy(struct wl_listener *listener, view_child_destroy(child); } -static void view_child_handle_view_unmap(struct wl_listener *listener, - void *data) { - struct sway_view_child *child = - wl_container_of(listener, child, view_unmap); - view_child_destroy(child); -} - static void view_init_subsurfaces(struct sway_view *view, struct wlr_surface *surface) { struct wlr_subsurface *subsurface; @@ -779,9 +772,6 @@ void view_child_init(struct sway_view_child *child, child->surface_map.notify = view_child_handle_surface_map; child->surface_unmap.notify = view_child_handle_surface_unmap; - wl_signal_add(&view->events.unmap, &child->view_unmap); - child->view_unmap.notify = view_child_handle_view_unmap; - struct sway_output *output = child->view->container->workspace->output; wlr_surface_send_enter(child->surface, output->wlr_output); @@ -791,7 +781,6 @@ void view_child_init(struct sway_view_child *child, void view_child_destroy(struct sway_view_child *child) { wl_list_remove(&child->surface_commit.link); wl_list_remove(&child->surface_destroy.link); - wl_list_remove(&child->view_unmap.link); if (child->impl && child->impl->destroy) { child->impl->destroy(child); |