summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/events/Windows.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp
index a6ae6c5d..89f359e6 100644
--- a/src/events/Windows.cpp
+++ b/src/events/Windows.cpp
@@ -282,7 +282,14 @@ void Events::listener_setTitleWindow(void* owner, void* data) {
void Events::listener_fullscreenWindow(void* owner, void* data) {
CWindow* PWINDOW = (CWindow*)owner;
- g_pLayoutManager->getCurrentLayout()->fullscreenRequestForWindow(PWINDOW);
+ if (!PWINDOW->m_bIsX11) {
+ const auto REQUESTED = &PWINDOW->m_uSurface.xdg->toplevel->requested;
+
+ if (REQUESTED->fullscreen != PWINDOW->m_bIsFullscreen)
+ g_pLayoutManager->getCurrentLayout()->fullscreenRequestForWindow(PWINDOW);
+ } else {
+ g_pLayoutManager->getCurrentLayout()->fullscreenRequestForWindow(PWINDOW);
+ }
Debug::log(LOG, "Window %x fullscreen to %i", PWINDOW, PWINDOW->m_bIsFullscreen);