make e_client_util_.?win_get() fns return xwayland windows when available

fixes setting x11 hints in xwayland clients
This commit is contained in:
Mike Blumenkrantz 2015-07-08 14:48:19 -04:00
parent af15bf11eb
commit 9f51bffd1e
3 changed files with 21 additions and 0 deletions

View File

@ -87,14 +87,22 @@ static inline Ecore_Window
e_client_util_pwin_get(const E_Client *ec)
{
if (!ec->pixmap) return 0;
#if defined(HAVE_WAYLAND) && !defined(HAVE_WAYLAND_ONLY)
return e_pixmap_parent_window_get(e_comp_x_client_pixmap_get(ec));
#else
return e_pixmap_parent_window_get(ec->pixmap);
#endif
}
static inline Ecore_Window
e_client_util_win_get(const E_Client *ec)
{
if (!ec->pixmap) return 0;
#if defined(HAVE_WAYLAND) && !defined(HAVE_WAYLAND_ONLY)
return e_pixmap_window_get(e_comp_x_client_pixmap_get(ec));
#else
return e_pixmap_window_get(ec->pixmap);
#endif
}
static inline Eina_Bool

View File

@ -5461,3 +5461,13 @@ e_comp_x_xwayland_client_setup(E_Client *ec, E_Client *wc)
_e_comp_x_client_stack(wc);
}
#endif
E_API inline E_Pixmap *
e_comp_x_client_pixmap_get(const E_Client *ec)
{
#ifdef HAVE_WAYLAND
if (!e_pixmap_is_x(ec->pixmap))
return e_comp_wl_client_xwayland_pixmap(ec);
#endif
return ec->pixmap;
}

View File

@ -111,5 +111,8 @@ E_API void e_comp_x_shutdown(void);
E_API void e_alert_composite_win(Ecore_X_Window root, Ecore_X_Window win);
EINTERN void e_comp_x_nocomp_end(void);
EINTERN void e_comp_x_xwayland_client_setup(E_Client *ec, E_Client *wc);
E_API E_Pixmap *e_comp_x_client_pixmap_get(const E_Client *ec);
# endif
#endif