From 346d4413a17abbf87302f643a4d3306d92607dde Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Mon, 6 Feb 2023 16:42:22 +0200 Subject: [PATCH] Remove boolean trap in Window::setFullScreen() In most cases, it doesn't matter because a window is made fullscreen by user. In a few places, the user arg is incorrectly set to false. --- autotests/integration/move_resize_window_test.cpp | 2 +- src/netinfo.cpp | 4 ++-- src/useractions.cpp | 2 +- src/window.cpp | 7 +++---- src/window.h | 2 +- src/x11window.cpp | 8 ++++---- src/x11window.h | 2 +- src/xdgshellwindow.cpp | 10 +++++----- src/xdgshellwindow.h | 2 +- 9 files changed, 19 insertions(+), 20 deletions(-) diff --git a/autotests/integration/move_resize_window_test.cpp b/autotests/integration/move_resize_window_test.cpp index 4551cebfab..31fa4fc5c5 100644 --- a/autotests/integration/move_resize_window_test.cpp +++ b/autotests/integration/move_resize_window_test.cpp @@ -939,7 +939,7 @@ void MoveResizeWindowTest::testResizeForVirtualKeyboardWithFullScreen() QVERIFY(frameGeometryChangedSpy.wait()); QCOMPARE(window->frameGeometry(), QRect(100, 0, 500, 100)); - window->setFullScreen(true, true); + window->setFullScreen(true); QVERIFY(surfaceConfigureRequestedSpy.wait()); shellSurface->xdgSurface()->ack_configure(surfaceConfigureRequestedSpy.last()[0].toInt()); Test::render(surface.get(), toplevelConfigureRequestedSpy.last().first().toSize(), Qt::blue); diff --git a/src/netinfo.cpp b/src/netinfo.cpp index 2daad57318..9b5740296a 100644 --- a/src/netinfo.cpp +++ b/src/netinfo.cpp @@ -277,7 +277,7 @@ void WinInfo::changeState(NET::States state, NET::States mask) state &= mask; // for safety, clear all other bits if ((mask & NET::FullScreen) != 0 && (state & NET::FullScreen) == 0) { - m_client->setFullScreen(false, false); + m_client->setFullScreen(false); } if ((mask & NET::Max) == NET::Max) { m_client->setMaximize(state & NET::MaxVert, state & NET::MaxHoriz); @@ -313,7 +313,7 @@ void WinInfo::changeState(NET::States state, NET::States mask) } // unsetting fullscreen first, setting it last (because e.g. maximize works only for !isFullScreen() ) if ((mask & NET::FullScreen) != 0 && (state & NET::FullScreen) != 0) { - m_client->setFullScreen(true, false); + m_client->setFullScreen(true); } } diff --git a/src/useractions.cpp b/src/useractions.cpp index 604f5e0254..d7243f7dcf 100644 --- a/src/useractions.cpp +++ b/src/useractions.cpp @@ -1206,7 +1206,7 @@ void Workspace::performWindowOperation(Window *window, Options::WindowOperation window->setOnAllDesktops(!window->isOnAllDesktops()); break; case Options::FullScreenOp: - window->setFullScreen(!window->isFullScreen(), true); + window->setFullScreen(!window->isFullScreen()); break; case Options::NoBorderOp: if (window->userCanSetNoBorder()) { diff --git a/src/window.cpp b/src/window.cpp index 8b855bd035..02a2111f35 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -1887,7 +1887,7 @@ void Window::setupWindowManagementInterface() performMouseCommand(Options::MouseResize, Cursors::self()->mouse()->pos()); }); connect(w, &PlasmaWindowInterface::fullscreenRequested, this, [this](bool set) { - setFullScreen(set, false); + setFullScreen(set); }); connect(w, &PlasmaWindowInterface::minimizedRequested, this, [this](bool set) { setMinimized(set); @@ -3950,9 +3950,8 @@ bool Window::userCanSetFullScreen() const * Default implementation does nothing. * * @param set @c true if the Window has to be shown in full screen mode, otherwise @c false - * @param user @c true if the request is initiated by the user, otherwise @c false */ -void Window::setFullScreen(bool set, bool user) +void Window::setFullScreen(bool set) { qCWarning(KWIN_CORE, "%s doesn't support setting fullscreen state", metaObject()->className()); } @@ -4123,7 +4122,7 @@ void Window::applyWindowRules() setSkipSwitcher(skipSwitcher()); setKeepAbove(keepAbove()); setKeepBelow(keepBelow()); - setFullScreen(isRequestedFullScreen(), true); + setFullScreen(isRequestedFullScreen()); setNoBorder(noBorder()); updateColorScheme(); // FSP diff --git a/src/window.h b/src/window.h index 9a61801aa7..d71e046a0a 100644 --- a/src/window.h +++ b/src/window.h @@ -996,7 +996,7 @@ public: virtual bool isFullScreen() const; virtual bool isRequestedFullScreen() const; virtual bool userCanSetFullScreen() const; - virtual void setFullScreen(bool set, bool user = true); + virtual void setFullScreen(bool set); QRectF geometryRestore() const; virtual bool isMaximizable() const; diff --git a/src/x11window.cpp b/src/x11window.cpp index 6937e4b6dc..0900a4c134 100644 --- a/src/x11window.cpp +++ b/src/x11window.cpp @@ -1022,7 +1022,7 @@ bool X11Window::manage(xcb_window_t w, bool isMapped) maximize(MaximizeMode(session->maximized)); } if (session->fullscreen != FullScreenNone) { - setFullScreen(true, false); + setFullScreen(true); setFullscreenGeometryRestore(session->fsrestore); } QRectF checkedGeometryRestore = geometryRestore(); @@ -1061,7 +1061,7 @@ bool X11Window::manage(xcb_window_t w, bool isMapped) } setOpacity(info->opacityF()); - setFullScreen(rules()->checkFullScreen(info->state() & NET::FullScreen, !isMapped), false); + setFullScreen(rules()->checkFullScreen(info->state() & NET::FullScreen, !isMapped)); } updateAllowedActions(true); @@ -4662,7 +4662,7 @@ bool X11Window::userCanSetFullScreen() const return isNormalWindow() || isDialog(); } -void X11Window::setFullScreen(bool set, bool user) +void X11Window::setFullScreen(bool set) { set = rules()->checkFullScreen(set); @@ -4670,7 +4670,7 @@ void X11Window::setFullScreen(bool set, bool user) if (wasFullscreen == set) { return; } - if (user && !userCanSetFullScreen()) { + if (!userCanSetFullScreen()) { return; } diff --git a/src/x11window.h b/src/x11window.h index dd08608585..bb617321a2 100644 --- a/src/x11window.h +++ b/src/x11window.h @@ -152,7 +152,7 @@ public: QRectF iconGeometry() const override; bool isFullScreenable() const override; - void setFullScreen(bool set, bool user = true) override; + void setFullScreen(bool set) override; bool isFullScreen() const override; bool userCanSetFullScreen() const override; int fullScreenMode() const diff --git a/src/xdgshellwindow.cpp b/src/xdgshellwindow.cpp index 78f969f3e6..67bb7d96cf 100644 --- a/src/xdgshellwindow.cpp +++ b/src/xdgshellwindow.cpp @@ -1049,7 +1049,7 @@ void XdgToplevelWindow::handleFullscreenRequested(OutputInterface *output) { m_fullScreenRequestedOutput = output ? output->handle() : nullptr; if (m_isInitialized) { - setFullScreen(/* set */ true, /* user */ false); + setFullScreen(true); scheduleConfigure(); } else { m_initialStates |= XdgToplevelInterface::State::FullScreen; @@ -1060,7 +1060,7 @@ void XdgToplevelWindow::handleUnfullscreenRequested() { m_fullScreenRequestedOutput.clear(); if (m_isInitialized) { - setFullScreen(/* set */ false, /* user */ false); + setFullScreen(false); scheduleConfigure(); } else { m_initialStates &= ~XdgToplevelInterface::State::FullScreen; @@ -1189,7 +1189,7 @@ void XdgToplevelWindow::initialize() } maximize(rules()->checkMaximize(initialMaximizeMode(), true)); - setFullScreen(rules()->checkFullScreen(initialFullScreenMode(), true), false); + setFullScreen(rules()->checkFullScreen(initialFullScreenMode(), true)); setOnActivities(rules()->checkActivity(activities(), true)); setDesktops(rules()->checkDesktops(desktops(), true)); setDesktopFileName(rules()->checkDesktopFile(desktopFileName(), true)); @@ -1430,7 +1430,7 @@ void XdgToplevelWindow::installPalette(ServerSideDecorationPaletteInterface *pal updateColorScheme(); } -void XdgToplevelWindow::setFullScreen(bool set, bool user) +void XdgToplevelWindow::setFullScreen(bool set) { set = rules()->checkFullScreen(set); if (m_isRequestedFullScreen == set) { @@ -1439,7 +1439,7 @@ void XdgToplevelWindow::setFullScreen(bool set, bool user) if (isSpecialWindow()) { return; } - if (user && !userCanSetFullScreen()) { + if (!userCanSetFullScreen()) { return; } diff --git a/src/xdgshellwindow.h b/src/xdgshellwindow.h index 0eafd0450f..a4eeeec94a 100644 --- a/src/xdgshellwindow.h +++ b/src/xdgshellwindow.h @@ -154,7 +154,7 @@ public: bool takeFocus() override; bool wantsInput() const override; bool dockWantsInput() const override; - void setFullScreen(bool set, bool user) override; + void setFullScreen(bool set) override; void closeWindow() override; void maximize(MaximizeMode mode) override;