aboutsummaryrefslogtreecommitdiff
path: root/x11-wm/plasma5-kwin/files
diff options
context:
space:
mode:
authorTobias C. Berner <tcberner@FreeBSD.org>2021-06-13 06:15:08 +0000
committerTobias C. Berner <tcberner@FreeBSD.org>2021-06-13 06:38:35 +0000
commit4ea20bee50630eb895f1e50c59cc71d2c04fe5e4 (patch)
tree818149c0fbd4bfe00968206266d5397579273be8 /x11-wm/plasma5-kwin/files
parent896d87b6fb1a606385449fef9d7e44823cf08b8a (diff)
downloadports-4ea20bee50630eb895f1e50c59cc71d2c04fe5e4.tar.gz
ports-4ea20bee50630eb895f1e50c59cc71d2c04fe5e4.zip
x11/plasma5-plasma: Update KDE Plasma Desktop to 5.22
Plasma 5.22 is here, and it is more reliable and stable than ever. By cleaning up and refactoring code in the background, the Plasma desktop gives you greater responsiveness and performance, helping you become even more productive without hiccups or surprises. Enjoy a smoother experience with KDE’s Plasma 5.22 desktop. Plasma 5.22 has become more pleasurable to use through improvements to the design and greater smoothness and consistency in transparencies, blurs, icons, and animations. Moving things to accessible locations, offering hints and visual cues, and creating new settings allows you to customize your work environment to make it fit perfectly to your needs. Following the true KDE spirit, the push for a more stable and attractive desktop does not mean you have to renounce control over how you want it to look or behave. Plasma 5.22, as always, packs all the flexibility and tools for customization you have come to expect and love, and some more to boot. Meanwhile, the push to move Plasma in its entirety to Wayland (the display protocol of the future) continues in full swing. So much so that popular distros are starting to ship Plasma with Wayland by default. By using Wayland behind the scenes, Plasma is able to include features and bug fixes not possible to implement on X11, offering you a better experience and more stability. Full announcement and changelog: https://kde.org/announcements/plasma/5/5.22.0/
Diffstat (limited to 'x11-wm/plasma5-kwin/files')
-rw-r--r--x11-wm/plasma5-kwin/files/patch-git-425170b7814c1ff27b165982b93d78422621bddb83
-rw-r--r--x11-wm/plasma5-kwin/files/patch-git-e940f73963104
2 files changed, 0 insertions, 187 deletions
diff --git a/x11-wm/plasma5-kwin/files/patch-git-425170b7814c1ff27b165982b93d78422621bddb b/x11-wm/plasma5-kwin/files/patch-git-425170b7814c1ff27b165982b93d78422621bddb
deleted file mode 100644
index 7d3a2293fe63..000000000000
--- a/x11-wm/plasma5-kwin/files/patch-git-425170b7814c1ff27b165982b93d78422621bddb
+++ /dev/null
@@ -1,83 +0,0 @@
-commit 425170b7814c1ff27b165982b93d78422621bddb (origin/work/wayland-fix-focus-follows-mouse)
-Author: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
-Date: Mon May 3 11:24:22 2021 +0300
-
- wayland: Fix focus follows mouse policy
-
- We want to update the input focus only if the pointer is moved. Due to
- that, AbstractClient::enterEvent() checks the last seen pointer position
- to decide whether the window needs to be focused.
-
- The issue is that when the pointer moves from a decoration to a surface,
- the cached pointer position will be updated to the current pointer
- position, and thus the check in AbstractClient::enterEvent() will fail.
-
- We need to update the cached pointer position only if there is a focused
- decoration.
-
-diff --git src/input.cpp src/input.cpp
-index 9377e9334..b1b961e39 100644
---- input.cpp
-+++ input.cpp
-@@ -2846,6 +2846,7 @@ void InputDeviceHandler::update()
- setAt(toplevel);
-
- if (focusUpdatesBlocked()) {
-+ workspace()->updateFocusMousePosition(position().toPoint());
- return;
- }
-
-@@ -2860,21 +2861,20 @@ void InputDeviceHandler::update()
- // went onto or off from decoration, update focus
- updateFocus();
- }
-- return;
-- }
-- updateInternalWindow(nullptr);
-+ } else {
-+ updateInternalWindow(nullptr);
-
-- if (m_focus.focus != m_at.at) {
-- // focus change
-- updateDecoration();
-- updateFocus();
-- return;
-- }
-- // check if switched to/from decoration while staying on the same Toplevel
-- if (updateDecoration()) {
-- // went onto or off from decoration, update focus
-- updateFocus();
-+ if (m_focus.focus != m_at.at) {
-+ // focus change
-+ updateDecoration();
-+ updateFocus();
-+ } else if (updateDecoration()) {
-+ // went onto or off from decoration, update focus
-+ updateFocus();
-+ }
- }
-+
-+ workspace()->updateFocusMousePosition(position().toPoint());
- }
-
- Toplevel *InputDeviceHandler::at() const
-diff --git src/pointer_input.cpp src/pointer_input.cpp
-index bf59197d3..a93c2cf55 100644
---- pointer_input.cpp
-+++ pointer_input.cpp
-@@ -473,7 +473,6 @@ void PointerInputRedirection::cleanupDecoration(Decoration::DecoratedClientImpl
- {
- disconnect(m_decorationGeometryConnection);
- m_decorationGeometryConnection = QMetaObject::Connection();
-- workspace()->updateFocusMousePosition(position().toPoint());
-
- if (old) {
- // send leave event to old decoration
-@@ -524,7 +523,6 @@ void PointerInputRedirection::focusUpdate(Toplevel *focusOld, Toplevel *focusNow
-
- if (AbstractClient *ac = qobject_cast<AbstractClient*>(focusNow)) {
- ac->enterEvent(m_pos.toPoint());
-- workspace()->updateFocusMousePosition(m_pos.toPoint());
- }
-
- if (internalWindow()) {
diff --git a/x11-wm/plasma5-kwin/files/patch-git-e940f73963 b/x11-wm/plasma5-kwin/files/patch-git-e940f73963
deleted file mode 100644
index 4f00660e6bc9..000000000000
--- a/x11-wm/plasma5-kwin/files/patch-git-e940f73963
+++ /dev/null
@@ -1,104 +0,0 @@
-diff --git libinput/context.cpp libinput/context.cpp
-index 00aa98490..f239c8967 100644
---- libinput/context.cpp
-+++ libinput/context.cpp
-@@ -63,6 +63,13 @@ bool Context::assignSeat(const char *seat)
- if (!isValid()) {
- return false;
- }
-+#if defined(Q_OS_FREEBSD)
-+ // On FreeBSD, seat-assignment does work; when assigning
-+ // to a different seat, no input devices are ever reported.
-+ // Using the default seat **does** return devices, so
-+ // use that instead.
-+ seat = "seat0";
-+#endif
- return libinput_udev_assign_seat(m_libinput, seat) == 0;
- }
-
-diff --git logind.cpp logind.cpp
-index cf5266b68..da77a3a59 100644
---- logind.cpp
-+++ logind.cpp
-@@ -356,6 +356,11 @@ void LogindIntegration::releaseControl()
- emit hasSessionControlChanged(false);
- }
-
-+static QVariantList fromRDev(const dev_t rdev)
-+{
-+ return QVariantList({quint32(major(rdev)), quint32(minor(rdev))});
-+}
-+
- int LogindIntegration::takeDevice(const char *path)
- {
- struct stat st;
-@@ -367,7 +372,7 @@ int LogindIntegration::takeDevice(const char *path)
- m_sessionPath,
- m_sessionControllerSessionInterface,
- QStringLiteral("TakeDevice"));
-- message.setArguments(QVariantList({QVariant(major(st.st_rdev)), QVariant(minor(st.st_rdev))}));
-+ message.setArguments(fromRDev(st.st_rdev));
- // intended to be a blocking call
- QDBusMessage reply = m_bus.call(message);
- if (reply.type() == QDBusMessage::ErrorMessage) {
-@@ -389,7 +394,7 @@ void LogindIntegration::releaseDevice(int fd)
- m_sessionPath,
- m_sessionControllerSessionInterface,
- QStringLiteral("ReleaseDevice"));
-- message.setArguments(QVariantList({QVariant(major(st.st_rdev)), QVariant(minor(st.st_rdev))}));
-+ message.setArguments(fromRDev(st.st_rdev));
- m_bus.asyncCall(message);
- }
- close(fd);
-diff --git main_wayland.cpp main_wayland.cpp
-index b73ed09c9..a59dba849 100644
---- main_wayland.cpp
-+++ main_wayland.cpp
-@@ -776,6 +776,15 @@ int main(int argc, char * argv[])
- a.platform()->setInitialOutputCount(outputCount);
-
- QObject::connect(&a, &KWin::Application::workspaceCreated, server, &KWin::WaylandServer::initWorkspace);
-+
-+ // If startup doesn't complete within 20 seconds, exit rather than hanging
-+ // around forever (e.g. if workspace creation can't happen due to DBus errors)
-+ QTimer* startupTimeout = new QTimer;
-+ QObject::connect(startupTimeout, &QTimer::timeout, [&](){ a.exit(2); });
-+ QObject::connect(&a, &KWin::Application::workspaceCreated, [&](){ startupTimeout->stop(); delete startupTimeout; });
-+ startupTimeout->setSingleShot(true);
-+ startupTimeout->start(std::chrono::seconds(20));
-+
- if (!server->socketName().isEmpty()) {
- environment.insert(QStringLiteral("WAYLAND_DISPLAY"), server->socketName());
- }
-diff --git plugins/platforms/drm/drm_backend.cpp plugins/platforms/drm/drm_backend.cpp
-index cdf4bf689..0eb6d45d3 100644
---- plugins/platforms/drm/drm_backend.cpp
-+++ plugins/platforms/drm/drm_backend.cpp
-@@ -244,7 +244,7 @@ void DrmBackend::pageFlipHandler(int fd, unsigned int frame, unsigned int sec, u
-
- std::chrono::nanoseconds timestamp = convertTimestamp(gpu->presentationClock(),
- CLOCK_MONOTONIC,
-- { sec, usec * 1000 });
-+ { static_cast<time_t>(sec), static_cast<long>(usec * 1000) });
- if (timestamp == std::chrono::nanoseconds::zero()) {
- qCDebug(KWIN_DRM, "Got invalid timestamp (sec: %u, usec: %u) on output %s",
- sec, usec, qPrintable(output->name()));
-diff --git tabletmodemanager.cpp tabletmodemanager.cpp
-index e23d91ec0..3b20cc4b2 100644
---- tabletmodemanager.cpp
-+++ tabletmodemanager.cpp
-@@ -60,9 +60,11 @@ public:
- : QObject(parent)
- , m_parent(parent)
- {
-- auto c = LibInput::Connection::self();
-- connect(c, &LibInput::Connection::deviceAdded, this, &TabletModeTouchpadRemovedSpy::refresh);
-- connect(c, &LibInput::Connection::deviceRemoved, this, &TabletModeTouchpadRemovedSpy::refresh);
-+ auto c = LibInput::Connection::self(); // May be nullptr
-+ if (c) {
-+ connect(c, &LibInput::Connection::deviceAdded, this, &TabletModeTouchpadRemovedSpy::refresh);
-+ connect(c, &LibInput::Connection::deviceRemoved, this, &TabletModeTouchpadRemovedSpy::refresh);
-+ }
-
- check();
- }