From 230738f4ae29b3afd149dd8a2850420478deb926 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Fri, 9 Apr 2021 13:52:56 +0300 Subject: [PATCH] disable KWin::reconfigure under wayland --as long as KWin is not able to be reconfigured under wayland without issues this codepath is blocked --- app/layouts/synchronizer.cpp | 6 ++++++ app/settings/universalsettings.cpp | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/app/layouts/synchronizer.cpp b/app/layouts/synchronizer.cpp index e93d40f26..705e34671 100644 --- a/app/layouts/synchronizer.cpp +++ b/app/layouts/synchronizer.cpp @@ -972,6 +972,12 @@ void Synchronizer::unloadLayouts(const QStringList &layoutNames) void Synchronizer::updateKWinDisabledBorders() { + if (KWindowSystem::isPlatformWayland()) { + // BUG: https://bugs.kde.org/show_bug.cgi?id=428202 + // KWin::reconfigure() function blocks/freezes Latte under wayland + return; + } + if (!m_manager->corona()->universalSettings()->canDisableBorders()) { m_manager->corona()->universalSettings()->kwin_setDisabledMaximizedBorders(false); } else { diff --git a/app/settings/universalsettings.cpp b/app/settings/universalsettings.cpp index 20b70a234..325ab305d 100644 --- a/app/settings/universalsettings.cpp +++ b/app/settings/universalsettings.cpp @@ -35,6 +35,7 @@ // KDE #include #include +#include #define KWINMETAFORWARDTOLATTESTRING "org.kde.lattedock,/Latte,org.kde.LatteDock,activateLauncherMenu" #define KWINMETAFORWARDTOPLASMASTRING "org.kde.plasmashell,/PlasmaShell,org.kde.PlasmaShell,activateLauncherMenu" @@ -339,6 +340,12 @@ void UniversalSettings::kwin_forwardMetaToLatte(bool forward) return; } + if (KWindowSystem::isPlatformWayland()) { + // BUG: https://bugs.kde.org/show_bug.cgi?id=428202 + // KWin::reconfigure() function blocks/freezes Latte under wayland + return; + } + QString forwardStr = (forward ? KWINMETAFORWARDTOLATTESTRING : KWINMETAFORWARDTOPLASMASTRING); m_kwinrcModifierOnlyShortcutsGroup.writeEntry("Meta", forwardStr); m_kwinrcModifierOnlyShortcutsGroup.sync(); @@ -356,6 +363,12 @@ void UniversalSettings::kwin_setDisabledMaximizedBorders(bool disable) return; } + if (KWindowSystem::isPlatformWayland()) { + // BUG: https://bugs.kde.org/show_bug.cgi?id=428202 + // KWin::reconfigure() function blocks/freezes Latte under wayland + return; + } + m_kwinrcWindowsGroup.writeEntry("BorderlessMaximizedWindows", disable); m_kwinrcWindowsGroup.sync();