diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 5efbea2c..c9bd3aad 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1405,6 +1405,8 @@ void CCompositor::setWindowFullscreen(CWindow* pWindow, bool on, eFullscreenMode } g_pXWaylandManager->setWindowSize(pWindow, pWindow->m_vRealSize.goalv(), true); + + forceReportSizesToWindowsOnWorkspace(pWindow->m_iWorkspaceID); } void CCompositor::moveUnmanagedX11ToWindows(CWindow* pWindow) { @@ -1604,4 +1606,12 @@ Vector2D CCompositor::parseWindowVectorArgsRelative(const std::string& args, con const int Y = std::stoi(y); return Vector2D(X + relativeTo.x, Y + relativeTo.y); +} + +void CCompositor::forceReportSizesToWindowsOnWorkspace(const int& wid) { + for (auto& w : m_vWindows) { + if (w->m_iWorkspaceID == wid && w->m_bIsMapped && !w->m_bHidden) { + g_pXWaylandManager->setWindowSize(w.get(), w->m_vRealSize.vec(), true); + } + } } \ No newline at end of file diff --git a/src/Compositor.hpp b/src/Compositor.hpp index 6ab5165f..082e4601 100644 --- a/src/Compositor.hpp +++ b/src/Compositor.hpp @@ -158,6 +158,7 @@ public: SLayerSurface* getLayerSurfaceFromSurface(wlr_surface*); void closeWindow(CWindow*); Vector2D parseWindowVectorArgsRelative(const std::string&, const Vector2D&); + void forceReportSizesToWindowsOnWorkspace(const int&); std::string explicitConfigPath;