diff options
| author | Connor Wong <cdubthecoolcat@gmail.com> | 2024-05-27 13:45:32 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-27 22:45:32 +0200 |
| commit | 722d537a91a9beacf9c12fc1317ff1fbe10ffac5 (patch) | |
| tree | b466ff800f689efc5a05a948a2b48305e5c3ab7a /src/events/Windows.cpp | |
| parent | 506d0c06e6fb280275311ea4baff8af73a84dbd2 (diff) | |
windows: make new_window_takes_over_fullscreen use the new window's workspace (#6263)
* fix new_window_takes_over_fullscreen behavior
* missed a few things
Diffstat (limited to 'src/events/Windows.cpp')
| -rw-r--r-- | src/events/Windows.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp index 9044bc61..5372a105 100644 --- a/src/events/Windows.cpp +++ b/src/events/Windows.cpp @@ -466,12 +466,12 @@ void Events::listener_mapWindow(void* owner, void* data) { const auto PLSFROMFOCUS = g_pCompositor->getLayerSurfaceFromSurface(g_pCompositor->m_pLastFocus); if (PLSFROMFOCUS && PLSFROMFOCUS->layerSurface->current.interactivity != ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_NONE) PWINDOW->m_bNoInitialFocus = true; - if (PWORKSPACE->m_bHasFullscreenWindow && !requestsFullscreen && !PWINDOW->m_bIsFloating) { + if (PWINDOW->m_pWorkspace->m_bHasFullscreenWindow && !requestsFullscreen && !PWINDOW->m_bIsFloating) { if (*PNEWTAKESOVERFS == 0) PWINDOW->m_bNoInitialFocus = true; else if (*PNEWTAKESOVERFS == 2) - g_pCompositor->setWindowFullscreen(g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID), false, FULLSCREEN_INVALID); - else if (PWORKSPACE->m_efFullscreenMode == FULLSCREEN_MAXIMIZED) + g_pCompositor->setWindowFullscreen(g_pCompositor->getFullscreenWindowOnWorkspace(PWINDOW->m_pWorkspace->m_iID), false, FULLSCREEN_INVALID); + else if (PWINDOW->m_pWorkspace->m_efFullscreenMode == FULLSCREEN_MAXIMIZED) requestsMaximize = true; else requestsFullscreen = true; @@ -491,8 +491,8 @@ void Events::listener_mapWindow(void* owner, void* data) { if ((requestsFullscreen && (!(PWINDOW->m_eSuppressedEvents & SUPPRESS_FULLSCREEN) || overridingNoFullscreen)) || (requestsMaximize && (!(PWINDOW->m_eSuppressedEvents & SUPPRESS_MAXIMIZE) || overridingNoMaximize)) || requestsFakeFullscreen) { // fix fullscreen on requested (basically do a switcheroo) - if (PWORKSPACE->m_bHasFullscreenWindow) { - const auto PFULLWINDOW = g_pCompositor->getFullscreenWindowOnWorkspace(PWORKSPACE->m_iID); + if (PWINDOW->m_pWorkspace->m_bHasFullscreenWindow) { + const auto PFULLWINDOW = g_pCompositor->getFullscreenWindowOnWorkspace(PWINDOW->m_pWorkspace->m_iID); g_pCompositor->setWindowFullscreen(PFULLWINDOW, false, FULLSCREEN_FULL); } |
