if (e_client_util_ignored_get(ec)) continue;
if (ec->zone != zone) continue;
if (!ec->frame) continue;
+ if (ec->visibility.skip) continue;
#ifdef HAVE_WAYLAND_ONLY
/* if ec is subsurface, skip this */
cdata = (E_Comp_Wl_Client_Data *)ec->comp_data;
_e_calc_visibility = EINA_TRUE;
}
+E_API void
+e_client_visibility_skip_set(E_Client *ec, Eina_Bool skip)
+{
+ ec->visibility.skip = skip;
+}
+
E_API void
e_client_post_raise_lower_set(E_Client *ec, Eina_Bool raise_set, Eina_Bool lower_set)
{
ec->visibility.obscured = E_VISIBILITY_UNKNOWN;
ec->visibility.opaque = -1;
ec->visibility.changed = 0;
+ ec->visibility.skip = 0;
ec->transform.zoom = 1.0;
ec->transform.angle = 0.0;
int opaque;
int obscured;
unsigned char changed : 1;
+ Eina_Bool skip : 1;
} visibility;
struct
E_API void e_client_desk_window_profile_wait_desk_set(E_Client *ec, E_Desk *desk);
E_API void e_client_layout_cb_set(E_Client_Layout_Cb cb);
E_API void e_client_visibility_calculate(void);
+E_API void e_client_visibility_skip_set(E_Client *ec, Eina_Bool skip);
E_API void e_client_post_raise_lower_set(E_Client *ec, Eina_Bool raise_set, Eina_Bool lower_set);
E_API Eina_Bool e_client_first_mapped_get(E_Client *ec);