From e9d3e7d87f820d9f7d1f63eef7e8a9a5fa5e5718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 25 Feb 2020 20:31:37 +0100 Subject: [PATCH] term: visual_focus_in/out: redraw CSDs We draw the CSDs in a darker color when we're inactive. Weston seems to be buggy with synchronized subsurfaces, so temporarily reconfigure them to desynchronized surfaces. --- terminal.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/terminal.c b/terminal.c index 9c90e37d..b568731c 100644 --- a/terminal.c +++ b/terminal.c @@ -1633,6 +1633,15 @@ term_visual_focus_in(struct terminal *term) if (term->cursor_blink.active) cursor_blink_start_timer(term); +#if 1 + for (int i = 0; i < 5; i++) + wl_subsurface_set_desync(term->window->csd.sub_surface[i]); +#endif + render_csd(term); +#if 1 + for (int i = 0; i < 5; i++) + wl_subsurface_set_sync(term->window->csd.sub_surface[i]); +#endif cursor_refresh(term); } @@ -1646,6 +1655,15 @@ term_visual_focus_out(struct terminal *term) if (term->cursor_blink.active) cursor_blink_stop_timer(term); +#if 1 + for (int i = 0; i < 5; i++) + wl_subsurface_set_desync(term->window->csd.sub_surface[i]); +#endif + render_csd(term); +#if 1 + for (int i = 0; i < 5; i++) + wl_subsurface_set_sync(term->window->csd.sub_surface[i]); +#endif cursor_refresh(term); }