add client util function for determining if a backing xwindow exists

This commit is contained in:
Mike Blumenkrantz 2015-07-01 16:40:10 -04:00
parent 2d3c43a39c
commit 8e5a2cb430
2 changed files with 15 additions and 0 deletions

View File

@ -4913,6 +4913,20 @@ e_client_is_stacking(const E_Client *ec)
return e_comp->layers[e_comp_canvas_layer_map(ec->layer)].obj == ec->frame;
}
E_API Eina_Bool
e_client_has_xwindow(const E_Client *ec)
{
#ifdef HAVE_WAYLAND_ONLY
(void)ec;
return EINA_FALSE;
#endif
#ifdef HAVE_WAYLAND
if (!e_pixmap_is_x(ec->pixmap))
return !!e_comp_wl_client_xwayland_pixmap(ec);
#endif
return e_pixmap_is_x(ec->pixmap);
}
////////////////////////////////////////////
E_API void

View File

@ -821,6 +821,7 @@ E_API int e_client_pointer_warp_to_center_now(E_Client *ec);
E_API int e_client_pointer_warp_to_center(E_Client *ec);
E_API void e_client_redirected_set(E_Client *ec, Eina_Bool set);
E_API Eina_Bool e_client_is_stacking(const E_Client *ec);
E_API Eina_Bool e_client_has_xwindow(const E_Client *ec);
E_API Eina_Bool e_client_desk_window_profile_available_check(E_Client *ec, const char *profile);
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);