minor XWayland and rule fixes

This commit is contained in:
vaxerski 2022-04-18 13:10:58 +02:00
parent 8a8877e739
commit 30683d5c44
2 changed files with 6 additions and 4 deletions

View File

@ -32,6 +32,7 @@ void Events::listener_mapWindow(void* owner, void* data) {
PWINDOW->m_bIsMapped = true;
PWINDOW->m_bReadyToDelete = false;
PWINDOW->m_bFadingOut = false;
PWINDOW->m_szTitle = g_pXWaylandManager->getTitle(PWINDOW);
// checks if the window wants borders and sets the appriopriate flag
g_pXWaylandManager->checkBorders(PWINDOW);
@ -125,9 +126,6 @@ void Events::listener_mapWindow(void* owner, void* data) {
PWINDOW->m_vPseudoSize = PWINDOW->m_vEffectiveSize - Vector2D(10,10);
}
PWINDOW->m_szTitle = g_pXWaylandManager->getTitle(PWINDOW);
g_pCompositor->focusWindow(PWINDOW);
PWINDOW->m_pSurfaceTree = SubsurfaceTree::createTreeRoot(g_pXWaylandManager->getWindowSurface(PWINDOW), addViewCoords, PWINDOW);

View File

@ -148,6 +148,10 @@ bool CHyprXWaylandManager::shouldBeFloated(CWindow* pWindow) {
return true;
}
if (pWindow->m_iX11Type == 2) {
return true; // override_redirect
}
const auto SIZEHINTS = pWindow->m_uSurface.xwayland->size_hints;
if (SIZEHINTS && (pWindow->m_uSurface.xwayland->parent || ((SIZEHINTS->min_width == SIZEHINTS->max_width) && (SIZEHINTS->min_height == SIZEHINTS->max_height))))
return true;
@ -185,7 +189,7 @@ void CHyprXWaylandManager::checkBorders(CWindow* pWindow) {
}
}
if (pWindow->m_uSurface.xwayland->parent) {
if (pWindow->m_uSurface.xwayland->parent || pWindow->m_iX11Type == 2) {
pWindow->m_bX11DoesntWantBorders = true;
}
}