summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-18 13:10:58 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-18 13:10:58 +0200
commit30683d5c44adc1311cd2c58c9775e330e7ed010c (patch)
treeb66ab015e1c89672b0b388252afe6fbb6c97b9fb /src
parent8a8877e7390fbc1f387fe931848598b5ecb5609b (diff)
minor XWayland and rule fixes
Diffstat (limited to 'src')
-rw-r--r--src/events/Windows.cpp4
-rw-r--r--src/managers/XWaylandManager.cpp6
2 files changed, 6 insertions, 4 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index 9659483f..77ec29cd 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -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);
@@ -124,9 +125,6 @@ void Events::listener_mapWindow(void* owner, void* data) {
// Set the pseudo size here too so that it doesnt end up being 0x0
PWINDOW->m_vPseudoSize = PWINDOW->m_vEffectiveSize - Vector2D(10,10);
}
-
-
- PWINDOW->m_szTitle = g_pXWaylandManager->getTitle(PWINDOW);
g_pCompositor->focusWindow(PWINDOW);
diff --git a/src/managers/XWaylandManager.cpp b/src/managers/XWaylandManager.cpp
index 189089cd..1c242a78 100644
--- a/src/managers/XWaylandManager.cpp
+++ b/src/managers/XWaylandManager.cpp
@@ -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;
}
}