From 2ebfd0c7456eff7e9c03d379d1dfbc611dc26672 Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Fri, 24 Nov 2023 10:54:21 +0000 Subject: renderer: Move to a full Hyprland GL rendering pipeline (#3920) Also updates wlroots --- src/managers/XWaylandManager.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/managers/XWaylandManager.cpp') diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp index f13b2cd2..2883f205 100644 --- a/src/managers/XWaylandManager.cpp +++ b/src/managers/XWaylandManager.cpp @@ -45,10 +45,11 @@ void CHyprXWaylandManager::activateSurface(wlr_surface* pSurface, bool activate) wlr_xdg_toplevel_set_activated(PSURF->toplevel, activate); } else if (wlr_xwayland_surface_try_from_wlr_surface(pSurface)) { - wlr_xwayland_surface_activate(wlr_xwayland_surface_try_from_wlr_surface(pSurface), activate); + const auto XSURF = wlr_xwayland_surface_try_from_wlr_surface(pSurface); + wlr_xwayland_surface_activate(XSURF, activate); - if (activate) - wlr_xwayland_surface_restack(wlr_xwayland_surface_try_from_wlr_surface(pSurface), nullptr, XCB_STACK_MODE_ABOVE); + if (activate && !XSURF->override_redirect) + wlr_xwayland_surface_restack(XSURF, nullptr, XCB_STACK_MODE_ABOVE); } } @@ -58,7 +59,8 @@ void CHyprXWaylandManager::activateWindow(CWindow* pWindow, bool activate) { if (activate) { wlr_xwayland_surface_set_minimized(pWindow->m_uSurface.xwayland, false); - wlr_xwayland_surface_restack(pWindow->m_uSurface.xwayland, nullptr, XCB_STACK_MODE_ABOVE); + if (!pWindow->m_uSurface.xwayland->override_redirect) + wlr_xwayland_surface_restack(pWindow->m_uSurface.xwayland, nullptr, XCB_STACK_MODE_ABOVE); } wlr_xwayland_surface_activate(pWindow->m_uSurface.xwayland, activate); -- cgit v1.2.3