forked from enlightenment/enlightenment
Luncher: Remove closed clients from the preview popup if visible, and close the popup if no more clients are active.
This fixes T5097
This commit is contained in:
parent
a89afe4186
commit
e41dfc7d5b
|
@ -1159,9 +1159,15 @@ _bar_cb_client_remove(void *data EINA_UNUSED, int type EINA_UNUSED, E_Event_Clie
|
||||||
{
|
{
|
||||||
snprintf(ori, sizeof(ori), "e,state,off,%s", _bar_location_get(inst));
|
snprintf(ori, sizeof(ori), "e,state,off,%s", _bar_location_get(inst));
|
||||||
elm_layout_signal_emit(ic->o_layout, ori, "e");
|
elm_layout_signal_emit(ic->o_layout, ori, "e");
|
||||||
|
if (ic->preview)
|
||||||
|
_bar_icon_preview_hide(ic);
|
||||||
if (!ic->in_order)
|
if (!ic->in_order)
|
||||||
_bar_icon_del(inst, ic);
|
_bar_icon_del(inst, ic);
|
||||||
}
|
}
|
||||||
|
else if (ic->preview)
|
||||||
|
{
|
||||||
|
_bar_icon_preview_show(ic);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ECORE_CALLBACK_RENEW;
|
return ECORE_CALLBACK_RENEW;
|
||||||
|
@ -1202,9 +1208,15 @@ _bar_cb_exec_del(void *data EINA_UNUSED, int type EINA_UNUSED, E_Exec_Instance *
|
||||||
{
|
{
|
||||||
snprintf(ori, sizeof(ori), "e,state,off,%s", _bar_location_get(inst));
|
snprintf(ori, sizeof(ori), "e,state,off,%s", _bar_location_get(inst));
|
||||||
elm_layout_signal_emit(ic->o_layout, ori, "e");
|
elm_layout_signal_emit(ic->o_layout, ori, "e");
|
||||||
|
if (ic->preview)
|
||||||
|
_bar_icon_preview_hide(ic);
|
||||||
if (!ic->in_order)
|
if (!ic->in_order)
|
||||||
_bar_icon_del(inst, ic);
|
_bar_icon_del(inst, ic);
|
||||||
}
|
}
|
||||||
|
else if (ic->preview)
|
||||||
|
{
|
||||||
|
_bar_icon_preview_show(ic);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ECORE_CALLBACK_RENEW;
|
return ECORE_CALLBACK_RENEW;
|
||||||
|
@ -1303,6 +1315,8 @@ _bar_cb_exec_client_prop(void *data EINA_UNUSED, int type EINA_UNUSED, E_Event_C
|
||||||
ic->clients = eina_list_remove(ic->clients, ev->ec);
|
ic->clients = eina_list_remove(ic->clients, ev->ec);
|
||||||
if (!eina_list_count(ic->execs) && !eina_list_count(ic->clients))
|
if (!eina_list_count(ic->execs) && !eina_list_count(ic->clients))
|
||||||
{
|
{
|
||||||
|
if (ic->preview)
|
||||||
|
_bar_icon_preview_hide(ic);
|
||||||
if (!ic->in_order)
|
if (!ic->in_order)
|
||||||
_bar_icon_del(inst, ic);
|
_bar_icon_del(inst, ic);
|
||||||
else
|
else
|
||||||
|
@ -1311,6 +1325,10 @@ _bar_cb_exec_client_prop(void *data EINA_UNUSED, int type EINA_UNUSED, E_Event_C
|
||||||
elm_layout_signal_emit(ic->o_layout, ori, "e");
|
elm_layout_signal_emit(ic->o_layout, ori, "e");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (ic->preview)
|
||||||
|
{
|
||||||
|
_bar_icon_preview_show(ic);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ECORE_CALLBACK_RENEW;
|
return ECORE_CALLBACK_RENEW;
|
||||||
|
|
Loading…
Reference in New Issue