This is an automated email from the git hooks/post-receive script.
git pushed a commit to reference refs/pull/36/head
in repository terminology.
View the commit online.
commit 79424e1ae394e9461e0a8dece94d3c523bb6b99a
Author: [email protected] <[email protected]>
AuthorDate: Thu Mar 19 12:04:44 2026 -0600
fix: persist tymux indicator across all state transitions
The indicator disappeared during tab animations and theme changes
because the tymux,on signal was only emitted once at creation.
Add a _tymux_indicator_update() helper that re-emits the signal
and force-processes it, called from:
- term creation
- _solo_focus (tab switch)
- _tabs_restore (after tab selector animation re-swallows bg)
- change_theme (after theme_apply resets all Edje states)
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
---
src/bin/win.c | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/bin/win.c b/src/bin/win.c
index 66bccae1..9dfcf092 100644
--- a/src/bin/win.c
+++ b/src/bin/win.c
@@ -451,6 +451,18 @@ win_scale_wizard(Evas_Object *win, Term *term)
elm_object_focus_set(bt, EINA_TRUE);
}
+#ifdef HAVE_TYMUX
+static void
+_tymux_indicator_update(Term *term)
+{
+ if (term->tymux_session)
+ {
+ elm_layout_signal_emit(term->bg, "tymux,on", "terminology");
+ edje_object_message_signal_process(term->bg_edj);
+ }
+}
+#endif
+
/* }}} */
/* {{{ Solo */
@@ -752,8 +764,7 @@ _solo_focus(Term_Container *tc, Term_Container *relative)
elm_layout_signal_emit(term->core, "focus,in", "terminology");
}
#ifdef HAVE_TYMUX
- if (term->tymux_session)
- elm_layout_signal_emit(term->bg, "tymux,on", "terminology");
+ _tymux_indicator_update(term);
#endif
termio_event_feed_mouse_in(term->termio);
termio_focus_in(term->termio);
@@ -4343,6 +4354,9 @@ _tabs_restore(Tabs *tabs)
elm_layout_content_set(term->bg, "terminology.content", term->core);
term->unswallowed = EINA_FALSE;
evas_object_show(term->core);
+#ifdef HAVE_TYMUX
+ _tymux_indicator_update(term);
+#endif
}
}
@@ -5936,6 +5950,9 @@ void change_theme(Evas_Object *win, Config *config)
if (!theme_apply(term->bg, config, "terminology/background",
NULL, NULL, EINA_TRUE))
ERR("Couldn't find terminology theme!");
+#ifdef HAVE_TYMUX
+ _tymux_indicator_update(term);
+#endif
colors_term_init(termio_textgrid_get(term->termio),
config->color_scheme);
termio_config_set(term->termio, config);
@@ -7479,7 +7496,7 @@ term_new(Win *wn, Config *config, const char *cmd,
if (session_name && *session_name)
{
term->tymux_session = 1;
- elm_layout_signal_emit(term->bg, "tymux,on", "terminology");
+ _tymux_indicator_update(term);
}
#endif
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.