summaryrefslogtreecommitdiff
path: root/src/layout/IHyprLayout.cpp
diff options
context:
space:
mode:
authorMike Will <myQwil@gmail.com>2025-01-06 11:37:13 -0500
committerGitHub <noreply@github.com>2025-01-06 16:37:13 +0000
commit602d6b73563e56fe003bbf3d25b45a53c51bad24 (patch)
treec1a09e6eacd035ff6b2e3d625e04ee8e81fda7fc /src/layout/IHyprLayout.cpp
parent780e3dd542c9706dd37b715f95eb1134b14e6624 (diff)
snap: don't snap to any windows if workspace has a fullscreen window (#8870)
Diffstat (limited to 'src/layout/IHyprLayout.cpp')
-rw-r--r--src/layout/IHyprLayout.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/layout/IHyprLayout.cpp b/src/layout/IHyprLayout.cpp
index e90ab0f0..f875b99c 100644
--- a/src/layout/IHyprLayout.cpp
+++ b/src/layout/IHyprLayout.cpp
@@ -421,11 +421,13 @@ static void performSnap(Vector2D& sourcePos, Vector2D& sourceSize, PHLWINDOW DRA
SRange sourceY = {sourcePos.y, sourcePos.y + sourceSize.y};
if (*SNAPWINDOWGAP) {
- const double GAPSIZE = *SNAPWINDOWGAP;
- const auto WSID = DRAGGINGWINDOW->workspaceID();
+ const double GAPSIZE = *SNAPWINDOWGAP;
+ const auto WSID = DRAGGINGWINDOW->workspaceID();
+ const bool HASFULLSCREEN = DRAGGINGWINDOW->m_pWorkspace && DRAGGINGWINDOW->m_pWorkspace->m_bHasFullscreenWindow;
for (auto& other : g_pCompositor->m_vWindows) {
- if (other == DRAGGINGWINDOW || other->workspaceID() != WSID || !other->m_bIsMapped || other->m_bFadingOut || other->isX11OverrideRedirect())
+ if ((HASFULLSCREEN && !other->m_bCreatedOverFullscreen) || other == DRAGGINGWINDOW || other->workspaceID() != WSID || !other->m_bIsMapped || other->m_bFadingOut ||
+ other->isX11OverrideRedirect())
continue;
const int OTHERBORDERSIZE = other->getRealBorderSize();