From ddcd4fb767afe8490a239ab019012a78d368eb5e Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Tue, 5 Apr 2022 18:29:58 +0200 Subject: Mostly fixes #5 --- src/managers/XWaylandManager.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/managers/XWaylandManager.cpp') diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp index 0e419c0f..09ac6a72 100644 --- a/src/managers/XWaylandManager.cpp +++ b/src/managers/XWaylandManager.cpp @@ -32,17 +32,21 @@ wlr_surface* CHyprXWaylandManager::getWindowSurface(CWindow* pWindow) { void CHyprXWaylandManager::activateSurface(wlr_surface* pSurface, bool activate) { if (wlr_surface_is_xdg_surface(pSurface)) wlr_xdg_toplevel_set_activated(wlr_xdg_surface_from_wlr_surface(pSurface)->toplevel, activate); - - else if (wlr_surface_is_xwayland_surface(pSurface)) + else if (wlr_surface_is_xwayland_surface(pSurface)) { wlr_xwayland_surface_activate(wlr_xwayland_surface_from_wlr_surface(pSurface), activate); + wlr_xwayland_surface_restack(wlr_xwayland_surface_from_wlr_surface(pSurface), NULL, XCB_STACK_MODE_ABOVE); + } + } void CHyprXWaylandManager::activateWindow(CWindow* pWindow, bool activate) { if (pWindow == g_pCompositor->m_pLastWindow) return; - if (pWindow->m_bIsX11) + if (pWindow->m_bIsX11) { wlr_xwayland_surface_activate(pWindow->m_uSurface.xwayland, activate); + wlr_xwayland_surface_restack(pWindow->m_uSurface.xwayland, NULL, XCB_STACK_MODE_ABOVE); + } else wlr_xdg_toplevel_set_activated(pWindow->m_uSurface.xdg->toplevel, activate); -- cgit v1.2.3