feature: function for getting top visible client on current desk

this is a pretty useful function overall, and I found that I was duplicating its functionality in a number of places, so I broke it out
This commit is contained in:
discomfitor 2013-10-19 12:13:28 +01:00 committed by Mike Blumenkrantz
parent 48e2f15ae7
commit 157e3908e9
2 changed files with 14 additions and 0 deletions

View File

@ -106,6 +106,19 @@ e_desk_new(E_Zone *zone, int x, int y)
return desk;
}
EAPI E_Client *
e_desk_client_top_visible_get(const E_Desk *desk)
{
E_Client *ec;
E_OBJECT_CHECK_RETURN(desk, NULL);
E_OBJECT_TYPE_CHECK_RETURN(desk, E_DESK_TYPE, NULL);
E_CLIENT_REVERSE_FOREACH(e_comp_get(desk), ec)
if (e_client_util_desk_visible(ec, desk) && evas_object_visible_get(ec->frame)) return ec;
return NULL;
}
EAPI void
e_desk_name_set(E_Desk *desk, const char *name)
{

View File

@ -74,6 +74,7 @@ EAPI void e_desk_name_update(void);
EAPI void e_desk_show(E_Desk *desk);
EAPI void e_desk_deskshow(E_Zone *zone);
EAPI E_Client *e_desk_last_focused_focus(E_Desk *desk);
EAPI E_Client *e_desk_client_top_visible_get(const E_Desk *desk);
EAPI E_Desk *e_desk_current_get(E_Zone *zone);
EAPI E_Desk *e_desk_at_xy_get(E_Zone *zone, int x, int y);
EAPI E_Desk *e_desk_at_pos_get(E_Zone *zone, int pos);