make e_client_util_.?win_get() fns return xwayland windows when available
fixes setting x11 hints in xwayland clients
This commit is contained in:
parent
af15bf11eb
commit
9f51bffd1e
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue