diff options
-rw-r--r-- | include/sway/tree/view.h | 1 | ||||
-rw-r--r-- | sway/commands/move.c | 2 | ||||
-rw-r--r-- | sway/commands/reload.c | 11 | ||||
-rw-r--r-- | sway/tree/view.c | 11 |
4 files changed, 12 insertions, 13 deletions
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index dc1f0b02..a0b4dd46 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h | |||
@@ -226,7 +226,6 @@ struct sway_view_child { | |||
226 | struct wl_listener surface_map; | 226 | struct wl_listener surface_map; |
227 | struct wl_listener surface_unmap; | 227 | struct wl_listener surface_unmap; |
228 | struct wl_listener surface_destroy; | 228 | struct wl_listener surface_destroy; |
229 | struct wl_listener view_unmap; | ||
230 | }; | 229 | }; |
231 | 230 | ||
232 | struct sway_xdg_popup_v6 { | 231 | struct sway_xdg_popup_v6 { |
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) { | |||
108 | if (focus_ws == workspace) { | 108 | if (focus_ws == workspace) { |
109 | struct sway_node *new_focus = | 109 | struct sway_node *new_focus = |
110 | seat_get_focus_inactive(seat, &workspace->fullscreen->node); | 110 | seat_get_focus_inactive(seat, &workspace->fullscreen->node); |
111 | seat_set_focus(seat, new_focus); | 111 | seat_set_raw_focus(seat, new_focus); |
112 | } | 112 | } |
113 | } | 113 | } |
114 | } | 114 | } |
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 @@ | |||
5 | #include "sway/ipc-server.h" | 5 | #include "sway/ipc-server.h" |
6 | #include "sway/server.h" | 6 | #include "sway/server.h" |
7 | #include "sway/tree/arrange.h" | 7 | #include "sway/tree/arrange.h" |
8 | #include "sway/tree/view.h" | ||
8 | #include "list.h" | 9 | #include "list.h" |
9 | #include "log.h" | 10 | #include "log.h" |
10 | 11 | ||
12 | static void rebuild_textures_iterator(struct sway_container *con, void *data) { | ||
13 | if (con->view) { | ||
14 | view_update_marks_textures(con->view); | ||
15 | } | ||
16 | container_update_title_textures(con); | ||
17 | } | ||
18 | |||
11 | static void do_reload(void *data) { | 19 | static void do_reload(void *data) { |
12 | // store bar ids to check against new bars for barconfig_update events | 20 | // store bar ids to check against new bars for barconfig_update events |
13 | list_t *bar_ids = create_list(); | 21 | list_t *bar_ids = create_list(); |
@@ -40,6 +48,9 @@ static void do_reload(void *data) { | |||
40 | list_foreach(bar_ids, free); | 48 | list_foreach(bar_ids, free); |
41 | list_free(bar_ids); | 49 | list_free(bar_ids); |
42 | 50 | ||
51 | config_update_font_height(true); | ||
52 | root_for_each_container(rebuild_textures_iterator, NULL); | ||
53 | |||
43 | arrange_root(); | 54 | arrange_root(); |
44 | } | 55 | } |
45 | 56 | ||
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, | |||
731 | view_child_destroy(child); | 731 | view_child_destroy(child); |
732 | } | 732 | } |
733 | 733 | ||
734 | static void view_child_handle_view_unmap(struct wl_listener *listener, | ||
735 | void *data) { | ||
736 | struct sway_view_child *child = | ||
737 | wl_container_of(listener, child, view_unmap); | ||
738 | view_child_destroy(child); | ||
739 | } | ||
740 | |||
741 | static void view_init_subsurfaces(struct sway_view *view, | 734 | static void view_init_subsurfaces(struct sway_view *view, |
742 | struct wlr_surface *surface) { | 735 | struct wlr_surface *surface) { |
743 | struct wlr_subsurface *subsurface; | 736 | struct wlr_subsurface *subsurface; |
@@ -779,9 +772,6 @@ void view_child_init(struct sway_view_child *child, | |||
779 | child->surface_map.notify = view_child_handle_surface_map; | 772 | child->surface_map.notify = view_child_handle_surface_map; |
780 | child->surface_unmap.notify = view_child_handle_surface_unmap; | 773 | child->surface_unmap.notify = view_child_handle_surface_unmap; |
781 | 774 | ||
782 | wl_signal_add(&view->events.unmap, &child->view_unmap); | ||
783 | child->view_unmap.notify = view_child_handle_view_unmap; | ||
784 | |||
785 | struct sway_output *output = child->view->container->workspace->output; | 775 | struct sway_output *output = child->view->container->workspace->output; |
786 | wlr_surface_send_enter(child->surface, output->wlr_output); | 776 | wlr_surface_send_enter(child->surface, output->wlr_output); |
787 | 777 | ||
@@ -791,7 +781,6 @@ void view_child_init(struct sway_view_child *child, | |||
791 | void view_child_destroy(struct sway_view_child *child) { | 781 | void view_child_destroy(struct sway_view_child *child) { |
792 | wl_list_remove(&child->surface_commit.link); | 782 | wl_list_remove(&child->surface_commit.link); |
793 | wl_list_remove(&child->surface_destroy.link); | 783 | wl_list_remove(&child->surface_destroy.link); |
794 | wl_list_remove(&child->view_unmap.link); | ||
795 | 784 | ||
796 | if (child->impl && child->impl->destroy) { | 785 | if (child->impl && child->impl->destroy) { |
797 | child->impl->destroy(child); | 786 | child->impl->destroy(child); |