diff options
| author | vaxerski <vaxry@vaxry.net> | 2022-09-29 10:20:12 +0100 |
|---|---|---|
| committer | vaxerski <vaxry@vaxry.net> | 2022-09-29 10:20:17 +0100 |
| commit | ead0e744714891f9b56469347f43b7e4e334f441 (patch) | |
| tree | 0df52179bc64de2a22aceb99ea4c2b335fbbb29c /src/Compositor.cpp | |
| parent | dcf5e34bfac6c7a37e27903fbfba09eb84b48ef4 (diff) | |
handle maximize toplevel request
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index f670a643..e3392483 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1616,6 +1616,15 @@ void CCompositor::setWindowFullscreen(CWindow* pWindow, bool on, eFullscreenMode return; } + const auto PMONITOR = getMonitorFromID(pWindow->m_iMonitorID); + + const auto PWORKSPACE = getWorkspaceByID(pWindow->m_iWorkspaceID); + + if (PWORKSPACE->m_bHasFullscreenWindow && on) { + Debug::log(LOG, "Rejecting fullscreen ON on a fullscreen workspace"); + return; + } + g_pLayoutManager->getCurrentLayout()->fullscreenRequestForWindow(pWindow, mode, on); g_pXWaylandManager->setWindowFullscreen(pWindow, pWindow->m_bIsFullscreen && mode == FULLSCREEN_FULL); @@ -1629,8 +1638,6 @@ void CCompositor::setWindowFullscreen(CWindow* pWindow, bool on, eFullscreenMode } } - const auto PMONITOR = getMonitorFromID(pWindow->m_iMonitorID); - for (auto& ls : PMONITOR->m_aLayerSurfaceLists[ZWLR_LAYER_SHELL_V1_LAYER_TOP]) { if (!ls->fadingOut) ls->alpha = pWindow->m_bIsFullscreen && mode == FULLSCREEN_FULL ? 0.f : 255.f; |
