diff options
author | Tobias C. Berner <tcberner@FreeBSD.org> | 2021-06-13 08:15:08 +0200 |
---|---|---|
committer | Tobias C. Berner <tcberner@FreeBSD.org> | 2021-06-13 08:38:35 +0200 |
commit | 4ea20bee50630eb895f1e50c59cc71d2c04fe5e4 (patch) | |
tree | 818149c0fbd4bfe00968206266d5397579273be8 /x11-wm/plasma5-kwin/files/patch-git-e940f73963 | |
parent | */*: Zpdate KDE Gear to 21.04.2 (diff) |
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/patch-git-e940f73963')
-rw-r--r-- | x11-wm/plasma5-kwin/files/patch-git-e940f73963 | 104 |
1 files changed, 0 insertions, 104 deletions
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(); - } |