aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/border.h1
-rw-r--r--sway/border.c6
-rw-r--r--sway/focus.c2
3 files changed, 9 insertions, 0 deletions
diff --git a/include/border.h b/include/border.h
index 63cd63d2..85c656e0 100644
--- a/include/border.h
+++ b/include/border.h
@@ -5,6 +5,7 @@
void render_view_borders(wlc_handle view);
void update_view_border(swayc_t *view);
+void map_update_view_border(swayc_t *view, void *data);
int get_font_text_height(const char *font);
#endif
diff --git a/sway/border.c b/sway/border.c
index 872e8d34..e820794f 100644
--- a/sway/border.c
+++ b/sway/border.c
@@ -170,6 +170,12 @@ static void render_with_title_bar(swayc_t *view, cairo_t *cr, struct border_colo
view->actual_geometry.size.w, 1);
}
+void map_update_view_border(swayc_t *view, void *data) {
+ if (view->type == C_VIEW) {
+ update_view_border(view);
+ }
+}
+
void update_view_border(swayc_t *view) {
cairo_t *cr = NULL;
cairo_surface_t *surface = NULL;
diff --git a/sway/focus.c b/sway/focus.c
index 4cae3b47..0c9719b0 100644
--- a/sway/focus.c
+++ b/sway/focus.c
@@ -29,6 +29,8 @@ static void update_focus(swayc_t *c) {
// Case where output changes
case C_OUTPUT:
+ // update borders for views in prev
+ container_map(prev, map_update_view_border, NULL);
wlc_output_focus(c->handle);
break;