This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch ibar-show-tasks
in repository enlightenment.

View the commit online.

commit c828e2d8ccac52d95b7041ce83e32e56f9756938
Author: Swagtoy <m...@ow.swag.toys>
AuthorDate: Fri Jul 4 15:52:38 2025 -0400

    Ibar: Focus standalone client on click
---
 src/modules/ibar/e_mod_main.c | 31 ++++++++++++++++++++-----------
 1 file changed, 20 insertions(+), 11 deletions(-)

diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c
index 2acaa0e85..1958314a8 100644
--- a/src/modules/ibar/e_mod_main.c
+++ b/src/modules/ibar/e_mod_main.c
@@ -557,7 +557,6 @@ _ibar_fill(IBar *b)
         const Eina_Hash *execs = e_exec_instances_get();
         Eina_Iterator *it;
         const Eina_List *l, *ll;
-        const Eina_Inlist *il;
         E_Exec_Instance *exe;
         E_Client *ec;
 
@@ -1768,7 +1767,11 @@ _ibar_cb_icon_wheel(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSE
    E_Client *cur, *sel = NULL;
    Eina_List *l, *exe_current = NULL;
 
-   if (!ic->exes) return;
+   if (!ic->exes && ic->single_client)
+     {
+	    e_client_activate(ic->single_client, EINA_TRUE);
+	    return;
+	 }
 
    cur = e_client_focused_get();
    cur = e_client_stack_bottom_get(cur);
@@ -1849,7 +1852,13 @@ _ibar_instance_watch(void *data, E_Exec_Instance *inst, E_Exec_Watch_Type type)
 static void
 _ibar_icon_go(IBar_Icon *ic, Eina_Bool keep_going)
 {
-   if (ic->not_in_order)
+   // Can't launch nonexistant client, just focus it
+   if (ic->single_client)
+     {
+	    e_client_uniconify(ic->single_client);
+	    e_client_activate(ic->single_client, 1);
+	 }
+   else if (ic->not_in_order)
      {
         Eina_List *l, *ll;
         E_Exec_Instance *exe;
@@ -1873,7 +1882,7 @@ _ibar_icon_go(IBar_Icon *ic, Eina_Bool keep_going)
           e_client_activate(eclast, 1);
         return;
      }
-   if (ic->app->type == EFREET_DESKTOP_TYPE_APPLICATION)
+   if (ic->app && ic->app->type == EFREET_DESKTOP_TYPE_APPLICATION)
      {
         if (ic->ibar->inst->ci->dont_track_launch)
           e_exec(ic->ibar->inst->gcc->gadcon->zone,
@@ -1893,7 +1902,7 @@ _ibar_icon_go(IBar_Icon *ic, Eina_Bool keep_going)
                }
           }
      }
-   else if (ic->app->type == EFREET_DESKTOP_TYPE_LINK)
+   else if (ic->app && ic->app->type == EFREET_DESKTOP_TYPE_LINK)
      {
         if (!strncasecmp(ic->app->url, "file:", 5))
           {
@@ -2725,12 +2734,12 @@ _ibar_cb_client_prop(void *d EINA_UNUSED, int t EINA_UNUSED, E_Event_Client_Prop
                   if (!eina_list_data_find(ic->exes, ec->exe_inst))
                     ic->exes = eina_list_append(ic->exes, ec->exe_inst);
                }
-            else if (!b->inst->ci->dont_add_nonorder)
-              {
-                 _ibar_sep_create(b);
-                 _ibar_icon_notinorder_new(b, ec->exe_inst, NULL);
-                 _ibar_resize_handle(b);
-              }
+             else if (!b->inst->ci->dont_add_nonorder)
+               {
+                  _ibar_sep_create(b);
+                  _ibar_icon_notinorder_new(b, ec->exe_inst, NULL);
+                  _ibar_resize_handle(b);
+               }
           }
         else
           {

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to