diff --git a/src/Window.hpp b/src/Window.hpp index fcd40ba6..cff26052 100644 --- a/src/Window.hpp +++ b/src/Window.hpp @@ -229,8 +229,7 @@ class CWindow { std::string m_szInitialClass = ""; int m_iWorkspaceID = -1; - bool m_bIsMapped = false; - bool m_bInitialCommitPassed = false; + bool m_bIsMapped = false; bool m_bRequestsFloat = false; diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp index a7e42b35..46427166 100644 --- a/src/events/Windows.cpp +++ b/src/events/Windows.cpp @@ -791,42 +791,7 @@ void Events::listener_ackConfigure(void* owner, void* data) { void Events::listener_commitWindow(void* owner, void* data) { CWindow* PWINDOW = (CWindow*)owner; - if (!PWINDOW->m_bIsMapped) { - - // dupes shouldn't happen, but you never know, really. - if (PWINDOW->m_bInitialCommitPassed || PWINDOW->m_bIsX11) - return; - - PWINDOW->m_bInitialCommitPassed = true; - - // this is an initial commit of a surface - // in here, the surface will ask us what size we'd like it to be. - // wlroots by default doesn't send anything, so the app can use its preferred floating size - // if we predict it will be tiled, it's better to set it to the monitor size - // so it doesn't appear with the wrong size at the beginning. - // too big > too small, because will be clipped and won't look that bad. - - auto willFloat = g_pXWaylandManager->shouldBeFloated(PWINDOW); - const auto WRULES = g_pConfigManager->getMatchingRules(PWINDOW); - for (auto& r : WRULES) { - if (r.szRule == "float") { - willFloat = true; - break; - } else if (r.szRule == "tile") { - willFloat = false; - break; - } - } - - if (willFloat) - return; - - g_pXWaylandManager->setWindowSize(PWINDOW, g_pCompositor->m_pLastMonitor ? g_pCompositor->m_pLastMonitor->vecSize : Vector2D{1920, 1080}, true); - - return; - } - - if (PWINDOW->isHidden()) + if (!PWINDOW->m_bIsMapped || PWINDOW->isHidden()) return; if (PWINDOW->m_bIsX11)