diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 8aec26f8..14f1eba1 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -512,15 +512,6 @@ void CCompositor::removeWindowFromVectorSafe(CWindow* pWindow) { if (w->m_pX11Parent == pWindow) std::erase_if(m_vWindows, [&](std::unique_ptr& el) { return el.get() == w.get(); }); } - - for (auto& w : m_dUnmanagedX11Windows) { - if (w->m_pX11Parent == pWindow) - std::erase_if(m_dUnmanagedX11Windows, [&](std::unique_ptr& el) { return el.get() == w.get(); }); - } - } - - if (pWindow->m_bIsX11 && pWindow->m_iX11Type == 2) { - std::erase_if(m_dUnmanagedX11Windows, [&](std::unique_ptr& el) { return el.get() == pWindow; }); } std::erase_if(m_vWindows, [&](std::unique_ptr& el) { return el.get() == pWindow; }); @@ -533,11 +524,6 @@ bool CCompositor::windowExists(CWindow* pWindow) { return true; } - for (auto& u : m_dUnmanagedX11Windows) { - if (u.get() == pWindow) - return true; - } - return false; } @@ -1230,7 +1216,7 @@ void CCompositor::cleanupFadingOut(const int& monid) { if (!valid || !w->m_bFadingOut || w->m_fAlpha.fl() == 0.f) { if (valid && !w->m_bReadyToDelete) continue; - + std::erase_if(g_pHyprOpenGL->m_mWindowFramebuffers, [&](const auto& other) { return other.first == w; }); w->m_bFadingOut = false; removeWindowFromVectorSafe(w); @@ -1994,16 +1980,6 @@ void CCompositor::setWindowFullscreen(CWindow* pWindow, bool on, eFullscreenMode g_pConfigManager->ensureVRR(PMONITOR); } -void CCompositor::moveUnmanagedX11ToWindows(CWindow* pWindow) { - for (auto it = m_dUnmanagedX11Windows.begin(); it != m_dUnmanagedX11Windows.end(); it++) { - if (it->get() == pWindow) { - m_vWindows.emplace_back(std::move(*it)); - m_dUnmanagedX11Windows.erase(it); - return; - } - } -} - CWindow* CCompositor::getX11Parent(CWindow* pWindow) { if (!pWindow->m_bIsX11) return nullptr; diff --git a/src/Compositor.hpp b/src/Compositor.hpp index 534f2487..a3587600 100644 --- a/src/Compositor.hpp +++ b/src/Compositor.hpp @@ -87,7 +87,6 @@ class CCompositor { std::vector> m_vMonitors; std::vector> m_vRealMonitors; // for all monitors, even those turned off std::vector> m_vWindows; - std::deque> m_dUnmanagedX11Windows; std::vector> m_vXDGPopups; std::vector> m_vWorkspaces; std::vector> m_vSubsurfaces; @@ -166,7 +165,6 @@ class CCompositor { CMonitor* getMonitorFromString(const std::string&); bool workspaceIDOutOfBounds(const int&); void setWindowFullscreen(CWindow*, bool, eFullscreenMode); - void moveUnmanagedX11ToWindows(CWindow*); CWindow* getX11Parent(CWindow*); void scheduleFrameForMonitor(CMonitor*); void addToFadingOutSafe(SLayerSurface*); diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp index 52791d6c..7c312b53 100644 --- a/src/events/Windows.cpp +++ b/src/events/Windows.cpp @@ -61,9 +61,6 @@ void Events::listener_mapWindow(void* owner, void* data) { if (g_pInputManager->m_bLastFocusOnLS) // waybar fix g_pInputManager->releaseAllMouseButtons(); - if (PWINDOW->m_iX11Type == 2) - g_pCompositor->moveUnmanagedX11ToWindows(PWINDOW); - // Set all windows tiled regardless of anything g_pXWaylandManager->setWindowStyleTiled(PWINDOW, WLR_EDGE_LEFT | WLR_EDGE_RIGHT | WLR_EDGE_TOP | WLR_EDGE_BOTTOM); @@ -985,8 +982,7 @@ void Events::listener_surfaceXWayland(wl_listener* listener, void* data) { if (XWSURFACE->parent) Debug::log(LOG, "Window parent data: %s at %x", XWSURFACE->parent->_class, XWSURFACE->parent); - const auto PNEWWINDOW = XWSURFACE->override_redirect ? g_pCompositor->m_dUnmanagedX11Windows.emplace_back(std::make_unique()).get() : - g_pCompositor->m_vWindows.emplace_back(std::make_unique()).get(); + const auto PNEWWINDOW = (CWindow*)g_pCompositor->m_vWindows.emplace_back(std::make_unique()).get(); PNEWWINDOW->m_uSurface.xwayland = XWSURFACE; PNEWWINDOW->m_iX11Type = XWSURFACE->override_redirect ? 2 : 1;