From e89916a6ba629d446650adf32ed7bfa2eda6392b Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Wed, 6 Dec 2023 16:55:04 +0200 Subject: [PATCH] Assign top-left screen corner to overview by default --- src/kcms/screenedges/kwinscreenedgesettings.kcfg | 6 +++--- src/kcms/screenedges/main.cpp | 16 ++++++++++++++++ src/kcms/screenedges/main.h | 1 + src/plugins/overview/metadata.json | 1 - src/plugins/overview/overviewconfig.kcfg | 4 +++- src/plugins/overview/overviewconfig.kcfgc | 1 + src/plugins/windowview/windowviewconfig.kcfg | 4 +--- 7 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/kcms/screenedges/kwinscreenedgesettings.kcfg b/src/kcms/screenedges/kwinscreenedgesettings.kcfg index bae95af818..e937708557 100644 --- a/src/kcms/screenedges/kwinscreenedgesettings.kcfg +++ b/src/kcms/screenedges/kwinscreenedgesettings.kcfg @@ -52,7 +52,7 @@ - ElectricTopLeft + ElectricNone ElectricNone @@ -66,9 +66,9 @@ ElectricNone - + - ElectricNone + ElectricTopLeft diff --git a/src/kcms/screenedges/main.cpp b/src/kcms/screenedges/main.cpp index ed71b051d4..c8443a4e80 100644 --- a/src/kcms/screenedges/main.cpp +++ b/src/kcms/screenedges/main.cpp @@ -101,7 +101,9 @@ void KWinScreenEdgesConfig::save() QStringLiteral("/Effects"), QDBusConnection::sessionBus()); + interface.reconfigureEffect(QStringLiteral("overview")); interface.reconfigureEffect(QStringLiteral("windowview")); + for (const auto &effectId : std::as_const(m_effects)) { interface.reconfigureEffect(effectId); } @@ -160,6 +162,8 @@ void KWinScreenEdgesConfig::monitorInit() m_form->monitorAddItem(i18n("%1 - Current Desktop", presentWindowsName)); m_form->monitorAddItem(i18n("%1 - Current Application", presentWindowsName)); + m_form->monitorAddItem(i18n("Overview")); + m_form->monitorAddItem(i18n("Toggle window switching")); m_form->monitorAddItem(i18n("Toggle alternative window switching")); @@ -221,6 +225,9 @@ void KWinScreenEdgesConfig::monitorLoadSettings() // PresentWindows BorderActivateClass m_form->monitorChangeEdge(m_data->settings()->borderActivateClass(), PresentWindowsClass); + // Overview + m_form->monitorChangeEdge(m_data->settings()->borderActivateOverview(), Overview); + // TabBox m_form->monitorChangeEdge(m_data->settings()->borderActivateTabBox(), TabBox); // Alternative TabBox @@ -263,6 +270,9 @@ void KWinScreenEdgesConfig::monitorLoadDefaultSettings() // PresentWindows BorderActivateClass m_form->monitorChangeDefaultEdge(m_data->settings()->defaultBorderActivateClassValue(), PresentWindowsClass); + // Overview + m_form->monitorChangeDefaultEdge(m_data->settings()->defaultBorderActivateOverviewValue(), Overview); + // TabBox m_form->monitorChangeDefaultEdge(m_data->settings()->defaultBorderActivateTabBoxValue(), TabBox); // Alternative TabBox @@ -288,6 +298,9 @@ void KWinScreenEdgesConfig::monitorSaveSettings() m_data->settings()->setBorderActivatePresentWindows(m_form->monitorCheckEffectHasEdge(PresentWindowsCurrent)); m_data->settings()->setBorderActivateClass(m_form->monitorCheckEffectHasEdge(PresentWindowsClass)); + // Overview + m_data->settings()->setBorderActivateOverview(m_form->monitorCheckEffectHasEdge(Overview)); + // TabBox m_data->settings()->setBorderActivateTabBox(m_form->monitorCheckEffectHasEdge(TabBox)); m_data->settings()->setBorderAlternativeActivate(m_form->monitorCheckEffectHasEdge(TabBoxAlternative)); @@ -316,6 +329,9 @@ void KWinScreenEdgesConfig::monitorShowEvent() m_form->monitorItemSetEnabled(PresentWindowsCurrent, enabled); m_form->monitorItemSetEnabled(PresentWindowsAll, enabled); + // Overview + m_form->monitorItemSetEnabled(Overview, config.readEntry("overviewEnabled", true)); + // tabbox, depends on reasonable focus policy. KConfigGroup config2(m_config, QStringLiteral("Windows")); QString focusPolicy = config2.readEntry("FocusPolicy", QString()); diff --git a/src/kcms/screenedges/main.h b/src/kcms/screenedges/main.h index b3877a6335..7f6e1b1900 100644 --- a/src/kcms/screenedges/main.h +++ b/src/kcms/screenedges/main.h @@ -48,6 +48,7 @@ private: PresentWindowsAll = ELECTRIC_ACTION_COUNT, // Start at the end of built in actions PresentWindowsCurrent, PresentWindowsClass, + Overview, TabBox, TabBoxAlternative, EffectCount diff --git a/src/plugins/overview/metadata.json b/src/plugins/overview/metadata.json index 04ecc543db..42eccf2036 100644 --- a/src/plugins/overview/metadata.json +++ b/src/plugins/overview/metadata.json @@ -90,7 +90,6 @@ "Name[zh_TW]": "總覽" }, "X-KDE-ConfigModule": "kwin_overview_config", - "X-KWin-Border-Activate": true, "org.kde.kwin.effect": { "video": "https://files.kde.org/plasma/kwin/effect-videos/present_windows.mp4" } diff --git a/src/plugins/overview/overviewconfig.kcfg b/src/plugins/overview/overviewconfig.kcfg index c6be99aa1f..7e38e9d603 100644 --- a/src/plugins/overview/overviewconfig.kcfg +++ b/src/plugins/overview/overviewconfig.kcfg @@ -23,7 +23,9 @@ true - + + ElectricTopLeft + diff --git a/src/plugins/overview/overviewconfig.kcfgc b/src/plugins/overview/overviewconfig.kcfgc index 57c305c88a..5688e91d06 100644 --- a/src/plugins/overview/overviewconfig.kcfgc +++ b/src/plugins/overview/overviewconfig.kcfgc @@ -7,3 +7,4 @@ ClassName=OverviewConfig NameSpace=KWin Singleton=true Mutators=true +IncludeFiles=\"effect/globals.h\" diff --git a/src/plugins/windowview/windowviewconfig.kcfg b/src/plugins/windowview/windowviewconfig.kcfg index 35564f5a4a..6d6991b893 100644 --- a/src/plugins/windowview/windowviewconfig.kcfg +++ b/src/plugins/windowview/windowviewconfig.kcfg @@ -18,9 +18,7 @@ - - QList<int>() << int(ElectricTopLeft) - +