summaryrefslogtreecommitdiff
path: root/src/events/Windows.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-01-25 20:36:44 +0000
committerVaxry <vaxry@vaxry.net>2025-01-25 20:36:44 +0000
commit445acec2a29adbb30196d8b92f86270a038b7ee5 (patch)
tree1d496f4b04ba4179d94f160a500e4ab4dfadee92 /src/events/Windows.cpp
parent45c3787e75323999d2f43b6f83972f4cb11a81f9 (diff)
core: move sendWindowSize off of xwaylandmgr
additionally fixes that one weird x11 issue with floating windows being mis-sized on open
Diffstat (limited to 'src/events/Windows.cpp')
-rw-r--r--src/events/Windows.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index 525adc02..9ecf3652 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -681,8 +681,12 @@ void Events::listener_mapWindow(void* owner, void* data) {
if (PMONITOR && PWINDOW->isX11OverrideRedirect())
PWINDOW->m_fX11SurfaceScaledBy = PMONITOR->scale;
- if (!PWINDOW->isX11OverrideRedirect() && PWINDOW->m_bIsX11 && PWINDOW->m_bIsFloating)
- g_pXWaylandManager->setWindowSize(PWINDOW, PWINDOW->m_vRealSize->goal(), true);
+ // Fix some X11 popups being invisible / having incorrect size on open.
+ // What the ACTUAL FUCK is going on?????? I HATE X11
+ if (!PWINDOW->isX11OverrideRedirect() && PWINDOW->m_bIsX11 && PWINDOW->m_bIsFloating) {
+ PWINDOW->sendWindowSize(PWINDOW->m_vRealSize->goal(), true, PWINDOW->m_vRealPosition->goal() - Vector2D{1, 1});
+ PWINDOW->sendWindowSize(PWINDOW->m_vRealSize->goal(), true);
+ }
}
void Events::listener_unmapWindow(void* owner, void* data) {
@@ -949,7 +953,7 @@ void Events::listener_unmanagedSetGeometry(void* owner, void* data) {
PWINDOW->setHidden(true);
if (PWINDOW->isFullscreen() || !PWINDOW->m_bIsFloating) {
- g_pXWaylandManager->setWindowSize(PWINDOW, PWINDOW->m_vRealSize->goal(), true);
+ PWINDOW->sendWindowSize(PWINDOW->m_vRealSize->goal(), true);
g_pHyprRenderer->damageWindow(PWINDOW);
return;
}