summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
authorFelix Dick <felix.dick@web.de>2022-09-29 14:29:03 +0200
committerFelix Dick <felix.dick@web.de>2022-09-29 14:29:03 +0200
commitab42e4bccf19083f2ffe93876128086b77788c8a (patch)
treebf5c42ebd4b28b0f73215ca5096a8b61551f53e3 /src/Compositor.cpp
parenta1319e51108997b9335aec4c36db5bbc5b3b5bba (diff)
parent2636abca2dcf1eca2c0296bb817f644b8626a860 (diff)
Merge branch 'main' into fix_bordersize_again
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp11
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;