Plasma-5.6.1

epel9
Rex Dieter 9 years ago
parent de3719df8a
commit 41355c0747

5
.gitignore vendored

@ -1,4 +1 @@
/plasma-workspace-5.5.3.tar.xz /plasma-workspace-5.6.1.tar.xz
/plasma-workspace-5.5.4.tar.xz
/plasma-workspace-5.5.5.tar.xz
/plasma-workspace-5.5.5.2.tar.xz

@ -1,28 +0,0 @@
From 36586dacd06fbd2af89c88aa1ea2ea54790608f4 Mon Sep 17 00:00:00 2001
From: Kai Uwe Broulik <kde@privat.broulik.de>
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

@ -1,43 +0,0 @@
From 1a13806d74973137960e64aa347965525a7c626a Mon Sep 17 00:00:00 2001
From: Weng Xuetian <wengxt@gmail.com>
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

@ -1,128 +0,0 @@
From 49977bfb42007f56330a1ff0e9705d06709af0c2 Mon Sep 17 00:00:00 2001
From: Weng Xuetian <wengxt@gmail.com>
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

@ -1,101 +0,0 @@
From 829158f830555c031755c6d4348e684779264342 Mon Sep 17 00:00:00 2001
From: Weng Xuetian <wengxt@gmail.com>
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<xcb_get_window_attributes_reply_t, QScopedPointerPodDeleter> attr(xcb_get_window_attributes_reply(c, attribsCookie, Q_NULLPTR));
+ xcb_generic_error_t *error = Q_NULLPTR;
+ QScopedPointer<xcb_get_window_attributes_reply_t, QScopedPointerPodDeleter> attr(xcb_get_window_attributes_reply(c, attribsCookie, &error));
+ QScopedPointer<xcb_generic_error_t, QScopedPointerPodDeleter> 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<xcb_generic_error_t, QScopedPointerPodDeleter> 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<xcb_destroy_notify_event_t *>(ev)->window;
+ if (m_proxies[destroyedWId]) {
+ undock(destroyedWId);
+ }
} else if (responseType == m_damageEventBase + XCB_DAMAGE_NOTIFY) {
const auto damagedWId = reinterpret_cast<xcb_damage_notify_event_t *>(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

@ -1,89 +0,0 @@
From 49440a7ce0623d1bc8aca459eaed35612d384cfd Mon Sep 17 00:00:00 2001
From: David Edmundson <david@davidedmundson.co.uk>
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 <QStringList>
#include "statusnotifieritemsource.h"
+#include "dbusproperties.h"
+
#include <QDebug>
#include <iostream>
@@ -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<QDBusVariant> pendingItems = propetriesIface.Get(m_statusNotifierWatcher->interface(), "RegisteredStatusNotifierItems");
+
+ QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pendingItems, this);
+ connect(watcher, &QDBusPendingCallWatcher::finished, this, [=]() {
+ watcher->deleteLater();
+ QDBusReply<QDBusVariant> 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<QStringList>();
- foreach (const QString &service, registeredItems) {
- newItem(service);
- }
} else {
delete m_statusNotifierWatcher;
m_statusNotifierWatcher = 0;
--
2.5.0

@ -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

@ -1,7 +1,6 @@
diff --git 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
index a4e06f1..b7f684b 100644 --- plasma-workspace-5.6.1/containmentactions/contextmenu/menu.cpp.konsole-in-contextmenu 2016-03-29 09:22:11.000000000 -0500
--- a/containmentactions/contextmenu/menu.cpp +++ plasma-workspace-5.6.1/containmentactions/contextmenu/menu.cpp 2016-04-08 16:43:57.737164018 -0500
+++ b/containmentactions/contextmenu/menu.cpp
@@ -30,6 +30,7 @@ @@ -30,6 +30,7 @@
#include <QDebug> #include <QDebug>
#include <QIcon> #include <QIcon>
@ -18,7 +17,7 @@ index a4e06f1..b7f684b 100644
m_runCommandAction(0), m_runCommandAction(0),
m_lockScreenAction(0), m_lockScreenAction(0),
m_logoutAction(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"); m_actionOrder << QStringLiteral("add widgets") << QStringLiteral("_add panel") << QStringLiteral("lock widgets") << QStringLiteral("_context") << QStringLiteral("configure") << QStringLiteral("remove");
} else { } else {
actions.insert(QStringLiteral("configure shortcuts"), false); actions.insert(QStringLiteral("configure shortcuts"), false);
@ -27,7 +26,7 @@ index a4e06f1..b7f684b 100644
<< QStringLiteral("manage activities") << QStringLiteral("remove") << QStringLiteral("lock widgets") << QStringLiteral("_sep1") << QStringLiteral("manage activities") << QStringLiteral("remove") << QStringLiteral("lock widgets") << QStringLiteral("_sep1")
<<QStringLiteral("_lock_screen") << QStringLiteral("_logout") << QStringLiteral("_sep2") << QStringLiteral("run associated application") << QStringLiteral("configure") <<QStringLiteral("_lock_screen") << QStringLiteral("_logout") << QStringLiteral("_sep2") << QStringLiteral("run associated application") << QStringLiteral("configure")
<< QStringLiteral("configure shortcuts") << QStringLiteral("_sep3") << QStringLiteral("_wallpaper"); << QStringLiteral("configure shortcuts") << QStringLiteral("_sep3") << QStringLiteral("_wallpaper");
@@ -93,6 +95,10 @@ void ContextMenu::restore(const KConfigGroup &config) @@ -93,6 +95,10 @@ void ContextMenu::restore(const KConfigG
// everything below should only happen once, so check for it // everything below should only happen once, so check for it
if (!m_runCommandAction) { if (!m_runCommandAction) {
@ -38,7 +37,7 @@ index a4e06f1..b7f684b 100644
m_runCommandAction = new QAction(i18nc("plasma_containmentactions_contextmenu", "Run Command..."), this); m_runCommandAction = new QAction(i18nc("plasma_containmentactions_contextmenu", "Run Command..."), this);
m_runCommandAction->setIcon(QIcon::fromTheme(QStringLiteral("system-run"))); m_runCommandAction->setIcon(QIcon::fromTheme(QStringLiteral("system-run")));
setGlobalActionShortcut(m_runCommandAction, QStringLiteral("krunner"), QStringLiteral("run command")); 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) { if (c->corona() && c->corona()->immutability() == Plasma::Types::Mutable) {
return c->corona()->actions()->action(QStringLiteral("add panel")); return c->corona()->actions()->action(QStringLiteral("add panel"));
} }
@ -47,7 +46,7 @@ index a4e06f1..b7f684b 100644
} else if (name == QLatin1String("_run_command")) { } else if (name == QLatin1String("_run_command")) {
if (KAuthorized::authorizeKAction(QStringLiteral("run_command"))) { if (KAuthorized::authorizeKAction(QStringLiteral("run_command"))) {
return m_runCommandAction; return m_runCommandAction;
@@ -185,6 +193,11 @@ QAction *ContextMenu::action(const QString &name) @@ -185,6 +193,11 @@ QAction *ContextMenu::action(const QStri
return 0; return 0;
} }
@ -59,12 +58,11 @@ index a4e06f1..b7f684b 100644
void ContextMenu::runCommand() void ContextMenu::runCommand()
{ {
if (!KAuthorized::authorizeKAction(QStringLiteral("run_command"))) { if (!KAuthorized::authorizeKAction(QStringLiteral("run_command"))) {
diff --git 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
index 36013dc..02b71e1 100644 --- plasma-workspace-5.6.1/containmentactions/contextmenu/menu.h.konsole-in-contextmenu 2016-03-29 09:22:11.000000000 -0500
--- a/containmentactions/contextmenu/menu.h +++ plasma-workspace-5.6.1/containmentactions/contextmenu/menu.h 2016-04-08 16:44:43.030386670 -0500
+++ b/containmentactions/contextmenu/menu.h
@@ -40,6 +40,7 @@ public: @@ -40,6 +40,7 @@ public:
void save(KConfigGroup &config); void save(KConfigGroup &config) override;
public Q_SLOTS: public Q_SLOTS:
+ void runKonsole(); + void runKonsole();

@ -6,12 +6,11 @@
Name: plasma-workspace Name: plasma-workspace
Summary: Plasma workspace, applications and applets Summary: Plasma workspace, applications and applets
Version: 5.5.5 Version: 5.6.1
%global full_version 5.5.5.2 Release: 1%{?dist}
Release: 10%{?dist}
License: GPLv2+ License: GPLv2+
URL: https://projects.kde.org/plasma-workspace URL: https://quickgit.kde.org/?p=%{name}.git
%global revision %(echo %{version} | cut -d. -f3) %global revision %(echo %{version} | cut -d. -f3)
%if %{revision} >= 50 %if %{revision} >= 50
@ -19,7 +18,7 @@ URL: https://projects.kde.org/plasma-workspace
%else %else
%global stable stable %global stable stable
%endif %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) %global majmin_ver %(echo %{version} | cut -d. -f1,2)
@ -30,25 +29,17 @@ Source12: twenty.two.desktop
Source13: twenty.three.desktop Source13: twenty.three.desktop
## downstream Patches ## 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 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 # remove stuff we don't want or need, plus a minor bit of customization --rex
Patch12: startkde.patch Patch12: startkde.patch
Patch13: startplasmacompositor.patch Patch13: startplasmacompositor.patch
Patch14: plasma-workspace-5.5.0-plasmawayland_desktop.patch
## upstreamable Patches ## upstreamable Patches
Patch1: kde-runtime-4.9.0-installdbgsymbols.patch Patch1: kde-runtime-4.9.0-installdbgsymbols.patch
## upstream Patches ## 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 ## master branch Patches
# udev # udev
@ -158,7 +149,8 @@ Requires: libkworkspace5%{?_isa} = %{version}-%{release}
# for libkdeinit5_* # for libkdeinit5_*
%{?kf5_kinit_requires} %{?kf5_kinit_requires}
Requires: kf5-kactivities Requires: kactivitymanagerd >= %{majmin_ver}
Requires: khotkeys >= %{majmin_ver}
Requires: kf5-kded Requires: kf5-kded
Requires: kf5-kdoctools Requires: kf5-kdoctools
Requires: qt5-qtquickcontrols Requires: qt5-qtquickcontrols
@ -167,7 +159,6 @@ Requires: kf5-filesystem
Requires: kf5-baloo Requires: kf5-baloo
Requires: kf5-kglobalaccel >= 5.7 Requires: kf5-kglobalaccel >= 5.7
Requires: kf5-kxmlrpcclient Requires: kf5-kxmlrpcclient
Requires: khotkeys >= %{majmin_ver}
# The new volume control for PulseAudio # The new volume control for PulseAudio
%if 0%{?fedora} > 22 %if 0%{?fedora} > 22
@ -386,13 +377,8 @@ sed -i -e "s|@DEFAULT_LOOKANDFEEL@|%{?default_lookandfeel}%{!?default_lookandfee
%endif %endif
%patch12 -p1 -b .startkde %patch12 -p1 -b .startkde
%patch13 -p1 -b .startplasmacompositor %patch13 -p1 -b .startplasmacompositor
%patch14 -p1 -b .plasmawayland
%patch136 -p1 -b .036 sed -i.plasmawayland -e "s|Plasma|Plasma (Wayland)|g" plasmawayland.desktop.cmake
%patch199 -p1 -b .199
%patch200 -p1 -b .200
%patch201 -p1 -b .201
%patch227 -p1 -b .227
%build %build
@ -619,6 +605,9 @@ fi
%changelog %changelog
* Fri Apr 08 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.1-1
- Plasma-5.6.1
* Wed Mar 30 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.5.5-10 * Wed Mar 30 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.5.5-10
- f24-kde-theme-core: fix conflict with f24-kde-theme - f24-kde-theme-core: fix conflict with f24-kde-theme
- f24-kde-theme-core: add dep to/from plasma-workspace - f24-kde-theme-core: add dep to/from plasma-workspace

@ -1 +1 @@
545d25677c194f9dec4b17dcab8d48c8 plasma-workspace-5.5.5.2.tar.xz 23f09770e6a95574e09a957b99ba875d plasma-workspace-5.6.1.tar.xz

Loading…
Cancel
Save