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.