From 295a0c4a6904b639ae406df2f106eb35d71899ae Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Mon, 21 Mar 2022 19:18:33 +0100 Subject: Added fullscreen --- src/events/Windows.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/events/Windows.cpp') diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp index e97e2456..3777e28d 100644 --- a/src/events/Windows.cpp +++ b/src/events/Windows.cpp @@ -50,6 +50,13 @@ void Events::listener_unmapWindow(wl_listener* listener, void* data) { if (g_pXWaylandManager->getWindowSurface(PWINDOW) == g_pCompositor->m_pLastFocus) g_pCompositor->m_pLastFocus = nullptr; + + // remove the fullscreen window status from workspace if we closed it + const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(PWINDOW->m_iWorkspaceID); + + if (PWORKSPACE->hasFullscreenWindow && PWINDOW->m_bIsFullscreen) + PWORKSPACE->hasFullscreenWindow = false; + g_pLayoutManager->getCurrentLayout()->onWindowRemoved(PWINDOW); g_pCompositor->removeWindowFromVectorSafe(PWINDOW); @@ -87,9 +94,7 @@ void Events::listener_setTitleWindow(wl_listener* listener, void* data) { void Events::listener_fullscreenWindow(wl_listener* listener, void* data) { CWindow* PWINDOW = wl_container_of(listener, PWINDOW, listen_fullscreenWindow); - PWINDOW->m_bIsFullscreen = !PWINDOW->m_bIsFullscreen; - - // todo: do it + g_pLayoutManager->getCurrentLayout()->fullscreenRequestForWindow(PWINDOW); Debug::log(LOG, "Window %x fullscreen to %i", PWINDOW, PWINDOW->m_bIsFullscreen); } -- cgit v1.2.3