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.

Reply via email to