From 41355c0747a600c023b09114f0544f87dfedfd40 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Fri, 8 Apr 2016 16:53:42 -0500 Subject: [PATCH] Plasma-5.6.1 --- .gitignore | 5 +- ...DataEngine-ProtocolVersion-is-an-int.patch | 28 ---- ...ify-instead-of-xcb_configure_window-.patch | 43 ------ ...d-transparency-support-for-tray-icon.patch | 128 ------------------ ...ere-is-any-BadWindow-error-before-mo.patch | 101 -------------- ...d-blocking-DBus-calls-in-SNI-startup.patch | 89 ------------ ...orkspace-5.5.0-plasmawayland_desktop.patch | 95 ------------- ...rkspace-5.6.1-konsole-in-contextmenu.patch | 24 ++-- plasma-workspace.spec | 33 ++--- sources | 2 +- 10 files changed, 24 insertions(+), 524 deletions(-) delete mode 100644 0036-SNI-DataEngine-ProtocolVersion-is-an-int.patch delete mode 100644 0099-Use-ConfigureNotify-instead-of-xcb_configure_window-.patch delete mode 100644 0100-Add-transparency-support-for-tray-icon.patch delete mode 100644 0101-Check-whether-there-is-any-BadWindow-error-before-mo.patch delete mode 100644 0127-Avoid-blocking-DBus-calls-in-SNI-startup.patch delete mode 100644 plasma-workspace-5.5.0-plasmawayland_desktop.patch rename plasma-workspace-5.3.0-konsole-in-contextmenu.patch => plasma-workspace-5.6.1-konsole-in-contextmenu.patch (75%) diff --git a/.gitignore b/.gitignore index c4390d9..947a35f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1 @@ -/plasma-workspace-5.5.3.tar.xz -/plasma-workspace-5.5.4.tar.xz -/plasma-workspace-5.5.5.tar.xz -/plasma-workspace-5.5.5.2.tar.xz +/plasma-workspace-5.6.1.tar.xz diff --git a/0036-SNI-DataEngine-ProtocolVersion-is-an-int.patch b/0036-SNI-DataEngine-ProtocolVersion-is-an-int.patch deleted file mode 100644 index 92829ec..0000000 --- a/0036-SNI-DataEngine-ProtocolVersion-is-an-int.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 36586dacd06fbd2af89c88aa1ea2ea54790608f4 Mon Sep 17 00:00:00 2001 -From: Kai Uwe Broulik -Date: Sat, 2 Jan 2016 13:33:44 +0100 -Subject: [PATCH 036/152] [SNI DataEngine] ProtocolVersion is an int - -Obviously. - -REVIEW: 126594 ---- - dataengines/statusnotifieritem/statusnotifieritem_engine.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp b/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp -index 67c2ec5..08a8c86 100644 ---- a/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp -+++ b/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp -@@ -90,7 +90,7 @@ void StatusNotifierItemEngine::registerWatcher(const QString& service) - m_statusNotifierWatcher = new org::kde::StatusNotifierWatcher(s_watcherServiceName, QStringLiteral("/StatusNotifierWatcher"), - QDBusConnection::sessionBus()); - if (m_statusNotifierWatcher->isValid() && -- m_statusNotifierWatcher->property("ProtocolVersion").toBool() == s_protocolVersion) { -+ m_statusNotifierWatcher->property("ProtocolVersion").toInt() == s_protocolVersion) { - connect(m_statusNotifierWatcher, &OrgKdeStatusNotifierWatcherInterface::StatusNotifierItemRegistered, this, &StatusNotifierItemEngine::serviceRegistered); - connect(m_statusNotifierWatcher, &OrgKdeStatusNotifierWatcherInterface::StatusNotifierItemUnregistered, this, &StatusNotifierItemEngine::serviceUnregistered); - --- -2.5.0 - diff --git a/0099-Use-ConfigureNotify-instead-of-xcb_configure_window-.patch b/0099-Use-ConfigureNotify-instead-of-xcb_configure_window-.patch deleted file mode 100644 index fa38d78..0000000 --- a/0099-Use-ConfigureNotify-instead-of-xcb_configure_window-.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 1a13806d74973137960e64aa347965525a7c626a Mon Sep 17 00:00:00 2001 -From: Weng Xuetian -Date: Mon, 8 Feb 2016 18:53:28 -0800 -Subject: [PATCH 099/105] Use ConfigureNotify instead of xcb_configure_window - to change size - -Some application only respect configure notify event to change size. - -REVIEW: 127010 ---- - xembed-sni-proxy/sniproxy.cpp | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -diff --git a/xembed-sni-proxy/sniproxy.cpp b/xembed-sni-proxy/sniproxy.cpp -index 3827fdd..b7bb799 100644 ---- a/xembed-sni-proxy/sniproxy.cpp -+++ b/xembed-sni-proxy/sniproxy.cpp -@@ -169,12 +169,17 @@ SNIProxy::SNIProxy(xcb_window_t wid, QObject* parent): - //use an artbitrary heuristic to make sure icons are always sensible - if (clientWindowSize.isEmpty() || clientWindowSize.width() > s_embedSize || clientWindowSize.height() > s_embedSize ) - { -- qCDebug(SNIPROXY) << "Resizing window" << wid << Title() << "from w*h" << clientWindowSize; -+ qCDebug(SNIPROXY) << "Resizing window" << wid << Title() << "from w*h" << clientWindowSize; -+ -+ xcb_configure_notify_event_t event; -+ memset(&event, 0x00, sizeof(xcb_configure_notify_event_t)); -+ event.response_type = XCB_CONFIGURE_NOTIFY; -+ event.event = wid; -+ event.window = wid; -+ event.width = s_embedSize; -+ event.height = s_embedSize; -+ xcb_send_event(c, false, wid, XCB_EVENT_MASK_STRUCTURE_NOTIFY, (char *) &event); - -- const uint32_t windowMoveConfigVals[2] = { s_embedSize, s_embedSize }; -- xcb_configure_window(c, wid, -- XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT, -- windowMoveConfigVals); - clientWindowSize = QSize(s_embedSize, s_embedSize); - } - --- -2.5.0 - diff --git a/0100-Add-transparency-support-for-tray-icon.patch b/0100-Add-transparency-support-for-tray-icon.patch deleted file mode 100644 index a6425ee..0000000 --- a/0100-Add-transparency-support-for-tray-icon.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 49977bfb42007f56330a1ff0e9705d06709af0c2 Mon Sep 17 00:00:00 2001 -From: Weng Xuetian -Date: Mon, 8 Feb 2016 18:55:21 -0800 -Subject: [PATCH 100/105] Add transparency support for tray icon - -The selection manager of tray may hold a property to indicate the tray -icon window visual. Try to use the visual with alpha channel when -composite is enabled. - -REVIEW: 127009 ---- - xembed-sni-proxy/fdoselectionmanager.cpp | 44 ++++++++++++++++++++++++++++++++ - xembed-sni-proxy/fdoselectionmanager.h | 1 + - xembed-sni-proxy/sniproxy.cpp | 2 +- - xembed-sni-proxy/xcbutils.h | 5 ++-- - 4 files changed, 49 insertions(+), 3 deletions(-) - -diff --git a/xembed-sni-proxy/fdoselectionmanager.cpp b/xembed-sni-proxy/fdoselectionmanager.cpp -index f236e9c..ab91044 100644 ---- a/xembed-sni-proxy/fdoselectionmanager.cpp -+++ b/xembed-sni-proxy/fdoselectionmanager.cpp -@@ -171,6 +171,9 @@ void FdoSelectionManager::undock(xcb_window_t winId) - void FdoSelectionManager::onClaimedOwnership() - { - qCDebug(SNIPROXY) << "Manager selection claimed"; -+ -+ connect(KWindowSystem::self(), &KWindowSystem::compositingChanged, this, &FdoSelectionManager::compositingChanged); -+ compositingChanged(); - } - - void FdoSelectionManager::onFailedToClaimOwnership() -@@ -182,5 +185,46 @@ void FdoSelectionManager::onFailedToClaimOwnership() - void FdoSelectionManager::onLostOwnership() - { - qCWarning(SNIPROXY) << "lost ownership of Systray Manager"; -+ disconnect(KWindowSystem::self(), &KWindowSystem::compositingChanged, this, &FdoSelectionManager::compositingChanged); - qApp->exit(-1); - } -+ -+void FdoSelectionManager::compositingChanged() -+{ -+ xcb_connection_t *c = QX11Info::connection(); -+ auto screen = xcb_setup_roots_iterator (xcb_get_setup (c)).data; -+ auto trayVisual = screen->root_visual; -+ if (KWindowSystem::compositingActive()) { -+ xcb_depth_iterator_t depth_iterator = xcb_screen_allowed_depths_iterator(screen); -+ xcb_depth_t *depth = nullptr; -+ -+ while (depth_iterator.rem) { -+ if (depth_iterator.data->depth == 32) { -+ depth = depth_iterator.data; -+ break; -+ } -+ xcb_depth_next(&depth_iterator); -+ } -+ -+ if (depth) { -+ xcb_visualtype_iterator_t visualtype_iterator = xcb_depth_visuals_iterator(depth); -+ while (visualtype_iterator.rem) { -+ xcb_visualtype_t *visualtype = visualtype_iterator.data; -+ if (visualtype->_class == XCB_VISUAL_CLASS_TRUE_COLOR) { -+ trayVisual = visualtype->visual_id; -+ break; -+ } -+ xcb_visualtype_next(&visualtype_iterator); -+ } -+ } -+ } -+ -+ xcb_change_property(c, -+ XCB_PROP_MODE_REPLACE, -+ m_selectionOwner->ownerWindow(), -+ Xcb::atoms->visualAtom, -+ XCB_ATOM_VISUALID, -+ 32, -+ 1, -+ &trayVisual); -+} -diff --git a/xembed-sni-proxy/fdoselectionmanager.h b/xembed-sni-proxy/fdoselectionmanager.h -index 911df6c..650d52f 100644 ---- a/xembed-sni-proxy/fdoselectionmanager.h -+++ b/xembed-sni-proxy/fdoselectionmanager.h -@@ -51,6 +51,7 @@ private: - void addDamageWatch(xcb_window_t client); - void dock(xcb_window_t embed_win); - void undock(xcb_window_t client); -+ void compositingChanged(); - - uint8_t m_damageEventBase; - -diff --git a/xembed-sni-proxy/sniproxy.cpp b/xembed-sni-proxy/sniproxy.cpp -index b7bb799..662c521 100644 ---- a/xembed-sni-proxy/sniproxy.cpp -+++ b/xembed-sni-proxy/sniproxy.cpp -@@ -262,7 +262,7 @@ QImage SNIProxy::getImageNonComposite() const - return QImage(); - } - -- xcb_image_t *image = xcb_image_get(c, m_windowId, 0, 0, geom->width, geom->height, 0xFFFFFF, XCB_IMAGE_FORMAT_Z_PIXMAP); -+ xcb_image_t *image = xcb_image_get(c, m_windowId, 0, 0, geom->width, geom->height, 0xFFFFFFFF, XCB_IMAGE_FORMAT_Z_PIXMAP); - - // Don't hook up cleanup yet, we may use a different QImage after all - QImage naiveConversion = QImage(image->data, image->width, image->height, QImage::Format_ARGB32); -diff --git a/xembed-sni-proxy/xcbutils.h b/xembed-sni-proxy/xcbutils.h -index 5e2b6dc..fb3291a 100644 ---- a/xembed-sni-proxy/xcbutils.h -+++ b/xembed-sni-proxy/xcbutils.h -@@ -109,14 +109,15 @@ public: - xembedAtom("_XEMBED"), - selectionAtom(xcb_atom_name_by_screen("_NET_SYSTEM_TRAY", QX11Info::appScreen())), - opcodeAtom("_NET_SYSTEM_TRAY_OPCODE"), -- messageData("_NET_SYSTEM_TRAY_MESSAGE_DATA") -+ messageData("_NET_SYSTEM_TRAY_MESSAGE_DATA"), -+ visualAtom("_NET_SYSTEM_TRAY_VISUAL") - {} - - Atom xembedAtom; - Atom selectionAtom; - Atom opcodeAtom; - Atom messageData; -- -+ Atom visualAtom; - }; - - extern Atoms* atoms; --- -2.5.0 - diff --git a/0101-Check-whether-there-is-any-BadWindow-error-before-mo.patch b/0101-Check-whether-there-is-any-BadWindow-error-before-mo.patch deleted file mode 100644 index 0c41e66..0000000 --- a/0101-Check-whether-there-is-any-BadWindow-error-before-mo.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 829158f830555c031755c6d4348e684779264342 Mon Sep 17 00:00:00 2001 -From: Weng Xuetian -Date: Mon, 8 Feb 2016 18:56:59 -0800 -Subject: [PATCH 101/105] Check whether there is any BadWindow error before - monitor the event - -The tray window itself may be destroyed before we start monitor the -event of it. Check the returned error and skip this window if BadWindow -happens. - -FIXED-IN: 5.6.0 -BUG: 358719 -REVIEW: 127014 ---- - xembed-sni-proxy/fdoselectionmanager.cpp | 28 +++++++++++++++++++++++----- - xembed-sni-proxy/fdoselectionmanager.h | 2 +- - 2 files changed, 24 insertions(+), 6 deletions(-) - -diff --git a/xembed-sni-proxy/fdoselectionmanager.cpp b/xembed-sni-proxy/fdoselectionmanager.cpp -index ab91044..9c7163d 100644 ---- a/xembed-sni-proxy/fdoselectionmanager.cpp -+++ b/xembed-sni-proxy/fdoselectionmanager.cpp -@@ -83,7 +83,7 @@ void FdoSelectionManager::init() - m_selectionOwner->claim(false); - } - --void FdoSelectionManager::addDamageWatch(xcb_window_t client) -+bool FdoSelectionManager::addDamageWatch(xcb_window_t client) - { - qCDebug(SNIPROXY) << "adding damage watch for " << client; - -@@ -94,15 +94,27 @@ void FdoSelectionManager::addDamageWatch(xcb_window_t client) - m_damageWatches[client] = damageId; - xcb_damage_create(c, damageId, client, XCB_DAMAGE_REPORT_LEVEL_NON_EMPTY); - -- QScopedPointer attr(xcb_get_window_attributes_reply(c, attribsCookie, Q_NULLPTR)); -+ xcb_generic_error_t *error = Q_NULLPTR; -+ QScopedPointer attr(xcb_get_window_attributes_reply(c, attribsCookie, &error)); -+ QScopedPointer getAttrError(error); - uint32_t events = XCB_EVENT_MASK_STRUCTURE_NOTIFY; - if (!attr.isNull()) { - events = events | attr->your_event_mask; - } -+ // if window is already gone, there is no need to handle it. -+ if (getAttrError && getAttrError->error_code == XCB_WINDOW) { -+ return false; -+ } - // the event mask will not be removed again. We cannot track whether another component also needs STRUCTURE_NOTIFY (e.g. KWindowSystem). - // if we would remove the event mask again, other areas will break. -- xcb_change_window_attributes(c, client, XCB_CW_EVENT_MASK, &events); -+ const auto changeAttrCookie = xcb_change_window_attributes_checked(c, client, XCB_CW_EVENT_MASK, &events); -+ QScopedPointer changeAttrError(xcb_request_check(c, changeAttrCookie)); -+ // if window is gone by this point, it will be catched by eventFilter, so no need to check later errors. -+ if (changeAttrError && changeAttrError->error_code == XCB_WINDOW) { -+ return false; -+ } - -+ return true; - } - - bool FdoSelectionManager::nativeEventFilter(const QByteArray& eventType, void* message, long int* result) -@@ -130,6 +142,11 @@ bool FdoSelectionManager::nativeEventFilter(const QByteArray& eventType, void* m - if (m_proxies[unmappedWId]) { - undock(unmappedWId); - } -+ } else if (responseType == XCB_DESTROY_NOTIFY) { -+ const auto destroyedWId = reinterpret_cast(ev)->window; -+ if (m_proxies[destroyedWId]) { -+ undock(destroyedWId); -+ } - } else if (responseType == m_damageEventBase + XCB_DAMAGE_NOTIFY) { - const auto damagedWId = reinterpret_cast(ev)->drawable; - const auto sniProx = m_proxies[damagedWId]; -@@ -153,8 +170,9 @@ void FdoSelectionManager::dock(xcb_window_t winId) - return; - } - -- addDamageWatch(winId); -- m_proxies[winId] = new SNIProxy(winId, this); -+ if (addDamageWatch(winId)) { -+ m_proxies[winId] = new SNIProxy(winId, this); -+ } - } - - void FdoSelectionManager::undock(xcb_window_t winId) -diff --git a/xembed-sni-proxy/fdoselectionmanager.h b/xembed-sni-proxy/fdoselectionmanager.h -index 650d52f..f70256d 100644 ---- a/xembed-sni-proxy/fdoselectionmanager.h -+++ b/xembed-sni-proxy/fdoselectionmanager.h -@@ -48,7 +48,7 @@ private Q_SLOTS: - - private: - void init(); -- void addDamageWatch(xcb_window_t client); -+ bool addDamageWatch(xcb_window_t client); - void dock(xcb_window_t embed_win); - void undock(xcb_window_t client); - void compositingChanged(); --- -2.5.0 - diff --git a/0127-Avoid-blocking-DBus-calls-in-SNI-startup.patch b/0127-Avoid-blocking-DBus-calls-in-SNI-startup.patch deleted file mode 100644 index e921db3..0000000 --- a/0127-Avoid-blocking-DBus-calls-in-SNI-startup.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 49440a7ce0623d1bc8aca459eaed35612d384cfd Mon Sep 17 00:00:00 2001 -From: David Edmundson -Date: Mon, 29 Feb 2016 11:08:24 +0000 -Subject: [PATCH 127/152] Avoid blocking DBus calls in SNI startup - -All autogenerated qtdbus property fetches are synchronous and not ideal -for Plasma to call. - -1) Don't bother checking the protocol version. -If the signals are the same, we may as well try and use the old signals, -if it's not - the signals won't match anything anyway so it won't do -anything anyway. - -2) Replace the blocking RegisteredStatusNotifierItem request with an -async variant. - -CCBUG: 359611 -REVIEW: 127199 ---- - dataengines/statusnotifieritem/CMakeLists.txt | 1 + - .../statusnotifieritem_engine.cpp | 28 +++++++++++++++------- - 2 files changed, 21 insertions(+), 8 deletions(-) - -diff --git a/dataengines/statusnotifieritem/CMakeLists.txt b/dataengines/statusnotifieritem/CMakeLists.txt -index c28312e..2e93583 100644 ---- a/dataengines/statusnotifieritem/CMakeLists.txt -+++ b/dataengines/statusnotifieritem/CMakeLists.txt -@@ -17,6 +17,7 @@ set(statusnotifieritem_engine_SRCS - - set(statusnotifierwatcher_xml ${KNOTIFICATIONS_DBUS_INTERFACES_DIR}/kf5_org.kde.StatusNotifierWatcher.xml) - qt5_add_dbus_interface(statusnotifieritem_engine_SRCS ${statusnotifierwatcher_xml} statusnotifierwatcher_interface) -+qt5_add_dbus_interface(statusnotifieritem_engine_SRCS ../mpris2/org.freedesktop.DBus.Properties.xml dbusproperties) - - set(statusnotifieritem_xml ${KNOTIFICATIONS_DBUS_INTERFACES_DIR}/kf5_org.kde.StatusNotifierItem.xml) - -diff --git a/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp b/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp -index 08a8c86..ae99a80 100644 ---- a/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp -+++ b/dataengines/statusnotifieritem/statusnotifieritem_engine.cpp -@@ -20,8 +20,11 @@ - ***************************************************************************/ - - #include "statusnotifieritem_engine.h" -+#include - #include "statusnotifieritemsource.h" - -+#include "dbusproperties.h" -+ - #include - #include - -@@ -89,17 +92,26 @@ void StatusNotifierItemEngine::registerWatcher(const QString& service) - - m_statusNotifierWatcher = new org::kde::StatusNotifierWatcher(s_watcherServiceName, QStringLiteral("/StatusNotifierWatcher"), - QDBusConnection::sessionBus()); -- if (m_statusNotifierWatcher->isValid() && -- m_statusNotifierWatcher->property("ProtocolVersion").toInt() == s_protocolVersion) { -+ if (m_statusNotifierWatcher->isValid()) { -+ m_statusNotifierWatcher->call(QDBus::NoBlock, QStringLiteral("RegisterStatusNotifierHost"), m_serviceName); -+ -+ OrgFreedesktopDBusPropertiesInterface propetriesIface(m_statusNotifierWatcher->service(), m_statusNotifierWatcher->path(), m_statusNotifierWatcher->connection()); -+ -+ QDBusPendingReply pendingItems = propetriesIface.Get(m_statusNotifierWatcher->interface(), "RegisteredStatusNotifierItems"); -+ -+ QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pendingItems, this); -+ connect(watcher, &QDBusPendingCallWatcher::finished, this, [=]() { -+ watcher->deleteLater(); -+ QDBusReply reply = *watcher; -+ QStringList registeredItems = reply.value().variant().toStringList(); -+ foreach (const QString &service, registeredItems) { -+ newItem(service); -+ } -+ }); -+ - connect(m_statusNotifierWatcher, &OrgKdeStatusNotifierWatcherInterface::StatusNotifierItemRegistered, this, &StatusNotifierItemEngine::serviceRegistered); - connect(m_statusNotifierWatcher, &OrgKdeStatusNotifierWatcherInterface::StatusNotifierItemUnregistered, this, &StatusNotifierItemEngine::serviceUnregistered); - -- m_statusNotifierWatcher->call(QDBus::NoBlock, QStringLiteral("RegisterStatusNotifierHost"), m_serviceName); -- -- QStringList registeredItems = m_statusNotifierWatcher->property("RegisteredStatusNotifierItems").value(); -- foreach (const QString &service, registeredItems) { -- newItem(service); -- } - } else { - delete m_statusNotifierWatcher; - m_statusNotifierWatcher = 0; --- -2.5.0 - diff --git a/plasma-workspace-5.5.0-plasmawayland_desktop.patch b/plasma-workspace-5.5.0-plasmawayland_desktop.patch deleted file mode 100644 index 009b3ff..0000000 --- a/plasma-workspace-5.5.0-plasmawayland_desktop.patch +++ /dev/null @@ -1,95 +0,0 @@ -diff --git a/plasmawayland.desktop.cmake b/plasmawayland.desktop.cmake -index 44f13da..37ec626 100644 ---- a/plasmawayland.desktop.cmake -+++ b/plasmawayland.desktop.cmake -@@ -3,48 +3,48 @@ Encoding=UTF-8 - Exec=dbus-launch --exit-with-session ${CMAKE_INSTALL_FULL_BINDIR}/startplasmacompositor - TryExec=${CMAKE_INSTALL_FULL_BINDIR}/startplasmacompositor - DesktopNames=KDE --Name=Plasma --Name[ar]=بلازما --Name[ast]=Plasma --Name[bs]=Plazma --Name[ca]=Plasma --Name[ca@valencia]=Plasma --Name[cs]=Plasma --Name[da]=Plasma --Name[de]=Plasma --Name[el]=Plasma --Name[en_GB]=Plasma --Name[es]=Plasma --Name[et]=Plasma --Name[fi]=Plasma --Name[fr]=Plasma --Name[gl]=Plasma --Name[hu]=Plasma --Name[id]=Plasma --Name[it]=Plasma --Name[ja]=プラズマ --Name[ko]=Plasma --Name[lt]=Plasma --Name[nb]=Plasma --Name[nds]=Plasma --Name[nl]=Plasma --Name[nn]=Plasma --Name[pl]=Plazma --Name[pt]=Plasma --Name[pt_BR]=Plasma --Name[ru]=Plasma --Name[sk]=Plasma --Name[sl]=Plasma --Name[sr]=Плазма --Name[sr@ijekavian]=Плазма --Name[sr@ijekavianlatin]=Plasma --Name[sr@latin]=Plasma --Name[sv]=Plasma --Name[tr]=Plazma --Name[uk]=Плазма --Name[x-test]=xxPlasmaxx --Name[zh_CN]=Plasma --Name[zh_TW]=Plasma -+Name=Plasma (Wayland) -+Name[ar]=(Wayland) بلازما -+Name[ast]=Plasma (Wayland) -+Name[bs]=Plazma (Wayland) -+Name[ca]=Plasma (Wayland) -+Name[ca@valencia]=Plasma (Wayland) -+Name[cs]=Plasma (Wayland) -+Name[da]=Plasma (Wayland) -+Name[de]=Plasma (Wayland) -+Name[el]=Plasma (Wayland) -+Name[en_GB]=Plasma (Wayland) -+Name[es]=Plasma (Wayland) -+Name[et]=Plasma (Wayland) -+Name[fi]=Plasma (Wayland) -+Name[fr]=Plasma (Wayland) -+Name[gl]=Plasma (Wayland) -+Name[hu]=Plasma (Wayland) -+Name[id]=Plasma (Wayland) -+Name[it]=Plasma (Wayland) -+Name[ja]=プラズマ (Wayland) -+Name[ko]=Plasma (Wayland) -+Name[lt]=Plasma (Wayland) -+Name[nb]=Plasma (Wayland) -+Name[nds]=Plasma (Wayland) -+Name[nl]=Plasma (Wayland) -+Name[nn]=Plasma (Wayland) -+Name[pl]=Plazma (Wayland) -+Name[pt]=Plasma (Wayland) -+Name[pt_BR]=Plasma (Wayland) -+Name[ru]=Plasma (Wayland) -+Name[sk]=Plasma (Wayland) -+Name[sl]=Plasma (Wayland) -+Name[sr]=Плазма (Wayland) -+Name[sr@ijekavian]=Плазма (Wayland) -+Name[sr@ijekavianlatin]=Plasma (Wayland) -+Name[sr@latin]=Plasma (Wayland) -+Name[sv]=Plasma (Wayland) -+Name[tr]=Plazma (Wayland) -+Name[uk]=Плазма (Wayland) -+Name[x-test]=xxPlasma (Wayland)xx -+Name[zh_CN]=Plasma (Wayland) -+Name[zh_TW]=Plasma (Wayland) - Comment=Plasma by KDE - Comment[ar]=بلازما كدي - Comment[bs]=Plazma od strane KDe diff --git a/plasma-workspace-5.3.0-konsole-in-contextmenu.patch b/plasma-workspace-5.6.1-konsole-in-contextmenu.patch similarity index 75% rename from plasma-workspace-5.3.0-konsole-in-contextmenu.patch rename to plasma-workspace-5.6.1-konsole-in-contextmenu.patch index 18b037d..c7bee1f 100644 --- a/plasma-workspace-5.3.0-konsole-in-contextmenu.patch +++ b/plasma-workspace-5.6.1-konsole-in-contextmenu.patch @@ -1,7 +1,6 @@ -diff --git a/containmentactions/contextmenu/menu.cpp b/containmentactions/contextmenu/menu.cpp -index a4e06f1..b7f684b 100644 ---- a/containmentactions/contextmenu/menu.cpp -+++ b/containmentactions/contextmenu/menu.cpp +diff -up plasma-workspace-5.6.1/containmentactions/contextmenu/menu.cpp.konsole-in-contextmenu plasma-workspace-5.6.1/containmentactions/contextmenu/menu.cpp +--- plasma-workspace-5.6.1/containmentactions/contextmenu/menu.cpp.konsole-in-contextmenu 2016-03-29 09:22:11.000000000 -0500 ++++ plasma-workspace-5.6.1/containmentactions/contextmenu/menu.cpp 2016-04-08 16:43:57.737164018 -0500 @@ -30,6 +30,7 @@ #include #include @@ -18,7 +17,7 @@ index a4e06f1..b7f684b 100644 m_runCommandAction(0), m_lockScreenAction(0), m_logoutAction(0), -@@ -74,7 +76,7 @@ void ContextMenu::restore(const KConfigGroup &config) +@@ -74,7 +76,7 @@ void ContextMenu::restore(const KConfigG m_actionOrder << QStringLiteral("add widgets") << QStringLiteral("_add panel") << QStringLiteral("lock widgets") << QStringLiteral("_context") << QStringLiteral("configure") << QStringLiteral("remove"); } else { actions.insert(QStringLiteral("configure shortcuts"), false); @@ -27,7 +26,7 @@ index a4e06f1..b7f684b 100644 << QStringLiteral("manage activities") << QStringLiteral("remove") << QStringLiteral("lock widgets") << QStringLiteral("_sep1") <setIcon(QIcon::fromTheme(QStringLiteral("system-run"))); setGlobalActionShortcut(m_runCommandAction, QStringLiteral("krunner"), QStringLiteral("run command")); -@@ -158,6 +164,8 @@ QAction *ContextMenu::action(const QString &name) +@@ -158,6 +164,8 @@ QAction *ContextMenu::action(const QStri if (c->corona() && c->corona()->immutability() == Plasma::Types::Mutable) { return c->corona()->actions()->action(QStringLiteral("add panel")); } @@ -47,7 +46,7 @@ index a4e06f1..b7f684b 100644 } else if (name == QLatin1String("_run_command")) { if (KAuthorized::authorizeKAction(QStringLiteral("run_command"))) { return m_runCommandAction; -@@ -185,6 +193,11 @@ QAction *ContextMenu::action(const QString &name) +@@ -185,6 +193,11 @@ QAction *ContextMenu::action(const QStri return 0; } @@ -59,12 +58,11 @@ index a4e06f1..b7f684b 100644 void ContextMenu::runCommand() { if (!KAuthorized::authorizeKAction(QStringLiteral("run_command"))) { -diff --git a/containmentactions/contextmenu/menu.h b/containmentactions/contextmenu/menu.h -index 36013dc..02b71e1 100644 ---- a/containmentactions/contextmenu/menu.h -+++ b/containmentactions/contextmenu/menu.h +diff -up plasma-workspace-5.6.1/containmentactions/contextmenu/menu.h.konsole-in-contextmenu plasma-workspace-5.6.1/containmentactions/contextmenu/menu.h +--- plasma-workspace-5.6.1/containmentactions/contextmenu/menu.h.konsole-in-contextmenu 2016-03-29 09:22:11.000000000 -0500 ++++ plasma-workspace-5.6.1/containmentactions/contextmenu/menu.h 2016-04-08 16:44:43.030386670 -0500 @@ -40,6 +40,7 @@ public: - void save(KConfigGroup &config); + void save(KConfigGroup &config) override; public Q_SLOTS: + void runKonsole(); diff --git a/plasma-workspace.spec b/plasma-workspace.spec index f56b1ac..b538cdd 100644 --- a/plasma-workspace.spec +++ b/plasma-workspace.spec @@ -6,12 +6,11 @@ Name: plasma-workspace Summary: Plasma workspace, applications and applets -Version: 5.5.5 -%global full_version 5.5.5.2 -Release: 10%{?dist} +Version: 5.6.1 +Release: 1%{?dist} License: GPLv2+ -URL: https://projects.kde.org/plasma-workspace +URL: https://quickgit.kde.org/?p=%{name}.git %global revision %(echo %{version} | cut -d. -f3) %if %{revision} >= 50 @@ -19,7 +18,7 @@ URL: https://projects.kde.org/plasma-workspace %else %global stable stable %endif -Source0: http://download.kde.org/%{stable}/plasma/%{version}/%{name}-%{full_version}.tar.xz +Source0: http://download.kde.org/%{stable}/plasma/%{version}/%{name}-%{version}.tar.xz %global majmin_ver %(echo %{version} | cut -d. -f1,2) @@ -30,25 +29,17 @@ Source12: twenty.two.desktop Source13: twenty.three.desktop ## downstream Patches -Patch10: plasma-workspace-5.3.0-konsole-in-contextmenu.patch +Patch10: plasma-workspace-5.6.1-konsole-in-contextmenu.patch Patch11: plasma-workspace-5.3.0-set-fedora-default-look-and-feel.patch # remove stuff we don't want or need, plus a minor bit of customization --rex Patch12: startkde.patch Patch13: startplasmacompositor.patch -Patch14: plasma-workspace-5.5.0-plasmawayland_desktop.patch ## upstreamable Patches Patch1: kde-runtime-4.9.0-installdbgsymbols.patch ## upstream Patches -# master branch -Patch136: 0036-SNI-DataEngine-ProtocolVersion-is-an-int.patch -Patch199: 0099-Use-ConfigureNotify-instead-of-xcb_configure_window-.patch -Patch200: 0100-Add-transparency-support-for-tray-icon.patch -Patch201: 0101-Check-whether-there-is-any-BadWindow-error-before-mo.patch -Patch227: 0127-Avoid-blocking-DBus-calls-in-SNI-startup.patch - ## master branch Patches # udev @@ -158,7 +149,8 @@ Requires: libkworkspace5%{?_isa} = %{version}-%{release} # for libkdeinit5_* %{?kf5_kinit_requires} -Requires: kf5-kactivities +Requires: kactivitymanagerd >= %{majmin_ver} +Requires: khotkeys >= %{majmin_ver} Requires: kf5-kded Requires: kf5-kdoctools Requires: qt5-qtquickcontrols @@ -167,7 +159,6 @@ Requires: kf5-filesystem Requires: kf5-baloo Requires: kf5-kglobalaccel >= 5.7 Requires: kf5-kxmlrpcclient -Requires: khotkeys >= %{majmin_ver} # The new volume control for PulseAudio %if 0%{?fedora} > 22 @@ -386,13 +377,8 @@ sed -i -e "s|@DEFAULT_LOOKANDFEEL@|%{?default_lookandfeel}%{!?default_lookandfee %endif %patch12 -p1 -b .startkde %patch13 -p1 -b .startplasmacompositor -%patch14 -p1 -b .plasmawayland -%patch136 -p1 -b .036 -%patch199 -p1 -b .199 -%patch200 -p1 -b .200 -%patch201 -p1 -b .201 -%patch227 -p1 -b .227 +sed -i.plasmawayland -e "s|Plasma|Plasma (Wayland)|g" plasmawayland.desktop.cmake %build @@ -619,6 +605,9 @@ fi %changelog +* Fri Apr 08 2016 Rex Dieter - 5.6.1-1 +- Plasma-5.6.1 + * Wed Mar 30 2016 Rex Dieter - 5.5.5-10 - f24-kde-theme-core: fix conflict with f24-kde-theme - f24-kde-theme-core: add dep to/from plasma-workspace diff --git a/sources b/sources index d67ed6d..e9f0351 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -545d25677c194f9dec4b17dcab8d48c8 plasma-workspace-5.5.5.2.tar.xz +23f09770e6a95574e09a957b99ba875d plasma-workspace-5.6.1.tar.xz