From 8168375fc71d27e7a3136e8292f8b1060b9da381 Mon Sep 17 00:00:00 2001 From: Wolfgang Müller Date: Fri, 22 Nov 2024 14:07:06 +0100 Subject: desktop-plasma: Add highlightWindows patch for kde-plasma/kwin This will make it such that the highlightWindows setting isn't automatically disabled by kwin. See [1]. Merged upstream in [2] but not yet slated for release. [1] https://invent.kde.org/plasma/kwin/-/merge_requests/6699 [2] https://invent.kde.org/plasma/kwin/-/commit/407cee8825d3d8fa3112cf2f118354bf8c7ada1a --- ...-Do-not-automatically-disable-highlightWi.patch | 176 +++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 desktop-plasma/patches/kde-plasma/kwin/0001-kcms-tabbox-Do-not-automatically-disable-highlightWi.patch diff --git a/desktop-plasma/patches/kde-plasma/kwin/0001-kcms-tabbox-Do-not-automatically-disable-highlightWi.patch b/desktop-plasma/patches/kde-plasma/kwin/0001-kcms-tabbox-Do-not-automatically-disable-highlightWi.patch new file mode 100644 index 0000000..1fd3aa5 --- /dev/null +++ b/desktop-plasma/patches/kde-plasma/kwin/0001-kcms-tabbox-Do-not-automatically-disable-highlightWi.patch @@ -0,0 +1,176 @@ +From 1df05486ab86d28b108a5f63f9f26f9d3a40e15f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Wolfgang=20M=C3=BCller?= +Date: Tue, 22 Oct 2024 15:15:29 +0200 +Subject: [PATCH] kcms/tabbox: Do not automatically disable highlightWindows + effect + +highlightWindows is an internal effect used to highlight one specific +window whilst hiding all others. It's used by the tabbox and by +plasmashell when hovering over a thumbnail. + +The user may enable or disable usage of this effect for the main and +alternative task switcher. If it is enabled for neither, we currently +disable the entire effect, regardless of whether or not it is still in +use by plasmashell. This is not visible immediately, but will take until +the next reboot or login to become active. + +As a dedicated configuration toggle for this internal effect is missing, +the user cannot reasonably enable this feature again. They would have to +know to enable either task switcher to use this effect again and, since +the effect isn't reloaded automatically, reboot or relogin. + +Since this is an internal effect, we should simply not allow it to be +disabled globally via either task switcher setting. Both tabbox and +plasmashell already carry their own configuration settings to enable +usage of this effect, so users can still tweak the behaviour there +without also affecting other components. +--- + src/kcms/tabbox/CMakeLists.txt | 2 +- + src/kcms/tabbox/kwinpluginssettings.kcfg | 12 ------------ + src/kcms/tabbox/kwinpluginssettings.kcfgc | 6 ------ + src/kcms/tabbox/kwintabboxdata.cpp | 7 ------- + src/kcms/tabbox/kwintabboxdata.h | 3 --- + src/kcms/tabbox/main.cpp | 10 ---------- + 6 files changed, 1 insertion(+), 39 deletions(-) + delete mode 100644 src/kcms/tabbox/kwinpluginssettings.kcfg + delete mode 100644 src/kcms/tabbox/kwinpluginssettings.kcfgc + +diff --git a/src/kcms/tabbox/CMakeLists.txt b/src/kcms/tabbox/CMakeLists.txt +index 12b9d056e7..6579b06565 100644 +--- a/src/kcms/tabbox/CMakeLists.txt ++++ b/src/kcms/tabbox/CMakeLists.txt +@@ -14,7 +14,7 @@ set(kcm_kwintabbox_PART_SRCS + ki18n_wrap_ui(kcm_kwintabbox_PART_SRCS main.ui) + qt_add_dbus_interface(kcm_kwintabbox_PART_SRCS ${KWin_SOURCE_DIR}/src/org.kde.kwin.Effects.xml kwin_effects_interface) + +-kconfig_add_kcfg_files(kcm_kwintabbox_PART_SRCS kwintabboxsettings.kcfgc kwinswitcheffectsettings.kcfgc kwinpluginssettings.kcfgc) ++kconfig_add_kcfg_files(kcm_kwintabbox_PART_SRCS kwintabboxsettings.kcfgc kwinswitcheffectsettings.kcfgc) + kcoreaddons_add_plugin(kcm_kwintabbox SOURCES ${kcm_kwintabbox_PART_SRCS} INSTALL_NAMESPACE "plasma/kcms/systemsettings_qwidgets") + + kcmutils_generate_desktop_file(kcm_kwintabbox) +diff --git a/src/kcms/tabbox/kwinpluginssettings.kcfg b/src/kcms/tabbox/kwinpluginssettings.kcfg +deleted file mode 100644 +index c3f3a1bce5..0000000000 +--- a/src/kcms/tabbox/kwinpluginssettings.kcfg ++++ /dev/null +@@ -1,12 +0,0 @@ +- +- +- +- +- +- true +- +- +- +diff --git a/src/kcms/tabbox/kwinpluginssettings.kcfgc b/src/kcms/tabbox/kwinpluginssettings.kcfgc +deleted file mode 100644 +index 38a966b75a..0000000000 +--- a/src/kcms/tabbox/kwinpluginssettings.kcfgc ++++ /dev/null +@@ -1,6 +0,0 @@ +-File=kwinpluginssettings.kcfg +-NameSpace=KWin::TabBox +-ClassName=PluginsSettings +-Mutators=true +-DefaultValueGetters=true +-ParentInConstructor=true +diff --git a/src/kcms/tabbox/kwintabboxdata.cpp b/src/kcms/tabbox/kwintabboxdata.cpp +index 86def04499..c8c7fd7a57 100644 +--- a/src/kcms/tabbox/kwintabboxdata.cpp ++++ b/src/kcms/tabbox/kwintabboxdata.cpp +@@ -9,7 +9,6 @@ + + #include "kwintabboxdata.h" + +-#include "kwinpluginssettings.h" + #include "kwinswitcheffectsettings.h" + #include "kwintabboxsettings.h" + #include "shortcutsettings.h" +@@ -23,7 +22,6 @@ KWinTabboxData::KWinTabboxData(QObject *parent) + : KCModuleData(parent) + , m_tabBoxConfig(new TabBoxSettings(QStringLiteral("TabBox"), this)) + , m_tabBoxAlternativeConfig(new TabBoxSettings(QStringLiteral("TabBoxAlternative"), this)) +- , m_pluginsConfig(new PluginsSettings(this)) + , m_shortcutConfig(new ShortcutSettings(this)) + { + registerSkeleton(m_tabBoxConfig); +@@ -41,11 +39,6 @@ TabBoxSettings *KWinTabboxData::tabBoxAlternativeConfig() const + return m_tabBoxAlternativeConfig; + } + +-PluginsSettings *KWinTabboxData::pluginsConfig() const +-{ +- return m_pluginsConfig; +-} +- + ShortcutSettings *KWinTabboxData::shortcutConfig() const + { + return m_shortcutConfig; +diff --git a/src/kcms/tabbox/kwintabboxdata.h b/src/kcms/tabbox/kwintabboxdata.h +index db9db137af..89af34835d 100644 +--- a/src/kcms/tabbox/kwintabboxdata.h ++++ b/src/kcms/tabbox/kwintabboxdata.h +@@ -19,7 +19,6 @@ namespace TabBox + { + class TabBoxSettings; + class SwitchEffectSettings; +-class PluginsSettings; + class ShortcutSettings; + + class KWinTabboxData : public KCModuleData +@@ -31,13 +30,11 @@ public: + + TabBoxSettings *tabBoxConfig() const; + TabBoxSettings *tabBoxAlternativeConfig() const; +- PluginsSettings *pluginsConfig() const; + ShortcutSettings *shortcutConfig() const; + + private: + TabBoxSettings *m_tabBoxConfig; + TabBoxSettings *m_tabBoxAlternativeConfig; +- PluginsSettings *m_pluginsConfig; + ShortcutSettings *m_shortcutConfig; + }; + +diff --git a/src/kcms/tabbox/main.cpp b/src/kcms/tabbox/main.cpp +index 308dd17705..e6ef8c3593 100644 +--- a/src/kcms/tabbox/main.cpp ++++ b/src/kcms/tabbox/main.cpp +@@ -37,7 +37,6 @@ + #include + + // own +-#include "kwinpluginssettings.h" + #include "kwintabboxconfigform.h" + #include "kwintabboxdata.h" + #include "kwintabboxsettings.h" +@@ -229,8 +228,6 @@ void KWinTabBoxConfig::load() + m_data->tabBoxAlternativeConfig()->load(); + m_data->shortcutConfig()->load(); + +- m_data->pluginsConfig()->load(); +- + m_primaryTabBoxUi->updateUiFromConfig(); + m_alternativeTabBoxUi->updateUiFromConfig(); + +@@ -239,13 +236,6 @@ void KWinTabBoxConfig::load() + + void KWinTabBoxConfig::save() + { +- // effects +- const bool highlightWindows = m_primaryTabBoxUi->highlightWindows() || m_alternativeTabBoxUi->highlightWindows(); +- +- // activate effects if they are used otherwise deactivate them. +- m_data->pluginsConfig()->setHighlightwindowEnabled(highlightWindows); +- m_data->pluginsConfig()->save(); +- + m_data->tabBoxConfig()->save(); + m_data->tabBoxAlternativeConfig()->save(); + m_data->shortcutConfig()->save(); +-- +2.47.0 + -- cgit v1.2.3-2-gb3c3