summaryrefslogtreecommitdiff
path: root/kde-plasma/kwin/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-28 22:00:05 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-28 22:00:05 +0100
commit9c602d90d61cea9fe83c596c68a99e383ee15f73 (patch)
treebca80b41af9c142cee7e07f14622dff065e60932 /kde-plasma/kwin/files
parentcf7630078a53ff74b245b148bd722994068e28f9 (diff)
gentoo auto-resync : 28:10:2022 - 22:00:04
Diffstat (limited to 'kde-plasma/kwin/files')
-rw-r--r--kde-plasma/kwin/files/kwin-5.26.2.1-nightcolormanager-emit-timing-chang-only-when-changed.patch147
-rw-r--r--kde-plasma/kwin/files/kwin-5.26.2.1-x11-dont-force-QT_NO_GLIB-1.patch34
-rw-r--r--kde-plasma/kwin/files/kwin-5.26.2.1-x11-dont-force-QT_QPA_PLATFORM-xcb.patch30
-rw-r--r--kde-plasma/kwin/files/kwin-5.26.2.1-x11window-fix-maximise-freeze.patch35
4 files changed, 246 insertions, 0 deletions
diff --git a/kde-plasma/kwin/files/kwin-5.26.2.1-nightcolormanager-emit-timing-chang-only-when-changed.patch b/kde-plasma/kwin/files/kwin-5.26.2.1-nightcolormanager-emit-timing-chang-only-when-changed.patch
new file mode 100644
index 000000000000..4378d850c6ba
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.26.2.1-nightcolormanager-emit-timing-chang-only-when-changed.patch
@@ -0,0 +1,147 @@
+From 2465dfe8ce94e1afeed3e3210adef9019e76383b Mon Sep 17 00:00:00 2001
+From: Kai Uwe Broulik <kai_uwe.broulik@mbition.io>
+Date: Fri, 28 Oct 2022 10:28:32 +0200
+Subject: [PATCH] nightcolormanager: Emit timing change only when they have
+ actually changed
+
+Avoids pointless DBus traffic.
+
+Signed-off-by: Victoria Fischer <victoria.fischer@mbition.io>
+
+
+(cherry picked from commit 0902d91a4254c4b3076e07b8479bb516884b21e4)
+---
+ src/plugins/nightcolor/nightcolormanager.cpp | 93 ++++++++++----------
+ 1 file changed, 47 insertions(+), 46 deletions(-)
+
+diff --git a/src/plugins/nightcolor/nightcolormanager.cpp b/src/plugins/nightcolor/nightcolormanager.cpp
+index ffa8ee8291..725623ed87 100644
+--- a/src/plugins/nightcolor/nightcolormanager.cpp
++++ b/src/plugins/nightcolor/nightcolormanager.cpp
+@@ -518,17 +518,15 @@ void NightColorManager::updateTargetTemperature()
+
+ void NightColorManager::updateTransitionTimings(bool force)
+ {
++ const auto oldPrev = m_prev;
++ const auto oldNext = m_next;
++
+ if (m_mode == NightColorMode::Constant) {
+ m_next = DateTimes();
+ m_prev = DateTimes();
+- Q_EMIT previousTransitionTimingsChanged();
+- Q_EMIT scheduledTransitionTimingsChanged();
+- return;
+- }
+-
+- const QDateTime todayNow = QDateTime::currentDateTime();
++ } else if (m_mode == NightColorMode::Timings) {
++ const QDateTime todayNow = QDateTime::currentDateTime();
+
+- if (m_mode == NightColorMode::Timings) {
+ const QDateTime nextMorB = QDateTime(todayNow.date().addDays(m_morning < todayNow.time()), m_morning);
+ const QDateTime nextMorE = nextMorB.addSecs(m_trTime * 60);
+ const QDateTime nextEveB = QDateTime(todayNow.date().addDays(m_evening < todayNow.time()), m_evening);
+@@ -543,58 +541,61 @@ void NightColorManager::updateTransitionTimings(bool force)
+ m_next = DateTimes(nextMorB, nextMorE);
+ m_prev = DateTimes(nextEveB.addDays(-1), nextEveE.addDays(-1));
+ }
+- Q_EMIT previousTransitionTimingsChanged();
+- Q_EMIT scheduledTransitionTimingsChanged();
+- return;
+- }
+-
+- double lat, lng;
+- if (m_mode == NightColorMode::Automatic) {
+- lat = m_latAuto;
+- lng = m_lngAuto;
+ } else {
+- lat = m_latFixed;
+- lng = m_lngFixed;
+- }
++ const QDateTime todayNow = QDateTime::currentDateTime();
+
+- if (!force) {
+- // first try by only switching the timings
+- if (m_prev.first.date() == m_next.first.date()) {
+- // next is evening
+- m_daylight = true;
+- m_prev = m_next;
+- m_next = getSunTimings(todayNow, lat, lng, false);
++ double lat, lng;
++ if (m_mode == NightColorMode::Automatic) {
++ lat = m_latAuto;
++ lng = m_lngAuto;
+ } else {
+- // next is morning
+- m_daylight = false;
+- m_prev = m_next;
+- m_next = getSunTimings(todayNow.addDays(1), lat, lng, true);
++ lat = m_latFixed;
++ lng = m_lngFixed;
+ }
+- }
+
+- if (force || !checkAutomaticSunTimings()) {
+- // in case this fails, reset them
+- DateTimes morning = getSunTimings(todayNow, lat, lng, true);
+- if (todayNow < morning.first) {
+- m_daylight = false;
+- m_prev = getSunTimings(todayNow.addDays(-1), lat, lng, false);
+- m_next = morning;
+- } else {
+- DateTimes evening = getSunTimings(todayNow, lat, lng, false);
+- if (todayNow < evening.first) {
++ if (!force) {
++ // first try by only switching the timings
++ if (m_prev.first.date() == m_next.first.date()) {
++ // next is evening
+ m_daylight = true;
+- m_prev = morning;
+- m_next = evening;
++ m_prev = m_next;
++ m_next = getSunTimings(todayNow, lat, lng, false);
+ } else {
++ // next is morning
+ m_daylight = false;
+- m_prev = evening;
++ m_prev = m_next;
+ m_next = getSunTimings(todayNow.addDays(1), lat, lng, true);
+ }
+ }
++
++ if (force || !checkAutomaticSunTimings()) {
++ // in case this fails, reset them
++ DateTimes morning = getSunTimings(todayNow, lat, lng, true);
++ if (todayNow < morning.first) {
++ m_daylight = false;
++ m_prev = getSunTimings(todayNow.addDays(-1), lat, lng, false);
++ m_next = morning;
++ } else {
++ DateTimes evening = getSunTimings(todayNow, lat, lng, false);
++ if (todayNow < evening.first) {
++ m_daylight = true;
++ m_prev = morning;
++ m_next = evening;
++ } else {
++ m_daylight = false;
++ m_prev = evening;
++ m_next = getSunTimings(todayNow.addDays(1), lat, lng, true);
++ }
++ }
++ }
+ }
+
+- Q_EMIT previousTransitionTimingsChanged();
+- Q_EMIT scheduledTransitionTimingsChanged();
++ if (oldPrev != m_prev) {
++ Q_EMIT previousTransitionTimingsChanged();
++ }
++ if (oldNext != m_next) {
++ Q_EMIT scheduledTransitionTimingsChanged();
++ }
+ }
+
+ DateTimes NightColorManager::getSunTimings(const QDateTime &dateTime, double latitude, double longitude, bool morning) const
+--
+GitLab
+
diff --git a/kde-plasma/kwin/files/kwin-5.26.2.1-x11-dont-force-QT_NO_GLIB-1.patch b/kde-plasma/kwin/files/kwin-5.26.2.1-x11-dont-force-QT_NO_GLIB-1.patch
new file mode 100644
index 000000000000..9de1f3db128f
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.26.2.1-x11-dont-force-QT_NO_GLIB-1.patch
@@ -0,0 +1,34 @@
+From 4c5830ba149ec4462587a95f78624dfc981d281c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C5=81ukasz=20Patron?= <priv.luk@gmail.com>
+Date: Tue, 25 Oct 2022 15:49:27 +0200
+Subject: [PATCH] x11: Don't force QT_NO_GLIB=1
+
+This breaks certain apps, e.g. KDE System Settings when launched from
+overview effect.
+
+BUG: 460980
+
+
+(cherry picked from commit c2b4f03f9671c0ad9fc1929426df5f79db414aa7)
+---
+ src/main_x11.cpp | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/main_x11.cpp b/src/main_x11.cpp
+index 21cfab94b3..c175d8729e 100644
+--- a/src/main_x11.cpp
++++ b/src/main_x11.cpp
+@@ -337,10 +337,6 @@ int main(int argc, char *argv[])
+
+ signal(SIGPIPE, SIG_IGN);
+
+- // Disable the glib event loop integration, since it seems to be responsible
+- // for several bug reports about high CPU usage (bug #239963)
+- setenv("QT_NO_GLIB", "1", true);
+-
+ // enforce xcb plugin, unfortunately command line switch has precedence
+ setenv("QT_QPA_PLATFORM", "xcb", true);
+
+--
+GitLab
+
diff --git a/kde-plasma/kwin/files/kwin-5.26.2.1-x11-dont-force-QT_QPA_PLATFORM-xcb.patch b/kde-plasma/kwin/files/kwin-5.26.2.1-x11-dont-force-QT_QPA_PLATFORM-xcb.patch
new file mode 100644
index 000000000000..e5e222436060
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.26.2.1-x11-dont-force-QT_QPA_PLATFORM-xcb.patch
@@ -0,0 +1,30 @@
+From 8633f9952507c3e99175a43b4d813cc1669f8db9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C5=81ukasz=20Patron?= <priv.luk@gmail.com>
+Date: Thu, 27 Oct 2022 00:42:24 +0200
+Subject: [PATCH] x11: Don't force QT_QPA_PLATFORM=xcb
+
+This is basically a cherry pick of 77ec43d5e (Don't force
+QT_QPA_PLATFORM=wayland), except for X11.
+
+
+(cherry picked from commit a9acef8573ca44ce9649a6ced42e19ef6d4ee3fd)
+---
+ src/main_x11.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/main_x11.cpp b/src/main_x11.cpp
+index 086ba79dba..21cfab94b3 100644
+--- a/src/main_x11.cpp
++++ b/src/main_x11.cpp
+@@ -361,6 +361,8 @@ int main(int argc, char *argv[])
+
+ KWin::ApplicationX11 a(argc, argv);
+ a.setupTranslator();
++ // reset QT_QPA_PLATFORM so we don't propagate it to our children (e.g. apps launched from the overview effect)
++ qunsetenv("QT_QPA_PLATFORM");
+
+ KSignalHandler::self()->watchSignal(SIGTERM);
+ KSignalHandler::self()->watchSignal(SIGINT);
+--
+GitLab
+
diff --git a/kde-plasma/kwin/files/kwin-5.26.2.1-x11window-fix-maximise-freeze.patch b/kde-plasma/kwin/files/kwin-5.26.2.1-x11window-fix-maximise-freeze.patch
new file mode 100644
index 000000000000..8a4de9426ca6
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.26.2.1-x11window-fix-maximise-freeze.patch
@@ -0,0 +1,35 @@
+From 2339f7bfb7872e05fbdbd931850a74a3441b3292 Mon Sep 17 00:00:00 2001
+From: Xaver Hugl <xaver.hugl@gmail.com>
+Date: Wed, 26 Oct 2022 21:43:41 +0200
+Subject: [PATCH] x11window: revert more from 3a28c02f
+
+BUG: 461032
+
+
+(cherry picked from commit 2997fb24bb8171145ce1107df85eb3a3a4c0cf74)
+---
+ src/x11window.cpp | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/x11window.cpp b/src/x11window.cpp
+index c02d33b338..b7a180d317 100644
+--- a/src/x11window.cpp
++++ b/src/x11window.cpp
+@@ -4519,11 +4519,10 @@ void X11Window::changeMaximize(bool horizontal, bool vertical, bool adjust)
+ }
+ }
+ r.moveTopLeft(rules()->checkPosition(r.topLeft()));
+- // The above code tries to center align the window followed by setting top and bottom
+- // it's possible that we're in between two pixels
+- r.setX(Xcb::nativeFloor(r.x()));
+- r.setY(Xcb::nativeFloor(r.y()));
+ }
++ // The above code tries to center align the window followed by setting top and bottom
++ // it's possible that we're in between two pixels
++ r = Xcb::nativeFloor(r);
+
+ moveResize(r);
+ if (options->electricBorderMaximize() && r.top() == clientArea.top()) {
+--
+GitLab
+