kwin: add xwayland input

This commit is contained in:
Thomas Tuegel 2016-08-04 09:46:35 -05:00
parent 29c3fea7b0
commit 0184f0e47c
5 changed files with 48 additions and 40 deletions

View File

@ -1,25 +0,0 @@
From 78a4b554187c18fd86b62089f7730c4273fadd4c Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Wed, 14 Oct 2015 07:05:22 -0500
Subject: [PATCH] qdiriterator follow symlinks
---
clients/aurorae/src/aurorae.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clients/aurorae/src/aurorae.cpp b/clients/aurorae/src/aurorae.cpp
index 781c960..ad5f420 100644
--- a/plugins/kdecorations/aurorae/src/aurorae.cpp
+++ b/plugins/kdecorations/aurorae/src/aurorae.cpp
@@ -211,7 +211,7 @@ void Helper::init()
// so let's try to locate our plugin:
QString pluginPath;
for (const QString &path : m_engine->importPathList()) {
- QDirIterator it(path, QDirIterator::Subdirectories);
+ QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
it.next();
QFileInfo fileInfo = it.fileInfo();
--
2.5.2

View File

@ -1,11 +1,12 @@
{ plasmaPackage, ecm, kdoctools, epoxy
, kactivities, kcompletion, kcmutils, kconfig, kconfigwidgets
, kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel
, ki18n, kiconthemes, kidletime, kinit, kio, knewstuff, knotifications
, kpackage, kscreenlocker, kservice, kwayland, kwidgetsaddons, kwindowsystem
, kxmlgui, libinput, libICE, libSM, plasma-framework, qtdeclarative
, qtmultimedia, qtscript, qtx11extras, udev, wayland, xcb-util-cursor
, makeQtWrapper
{
plasmaPackage, lib, copyPathsToStore,
ecm, kdoctools,
breeze-qt5, epoxy, kactivities, kcompletion, kcmutils, kconfig,
kconfigwidgets, kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel,
ki18n, kiconthemes, kidletime, kinit, kio, knewstuff, knotifications,
kpackage, kscreenlocker, kservice, kwayland, kwidgetsaddons, kwindowsystem,
kxmlgui, libinput, libICE, libSM, plasma-framework, qtdeclarative,
qtmultimedia, qtscript, qtx11extras, udev, wayland, xcb-util-cursor, xwayland
}:
plasmaPackage {
@ -15,13 +16,17 @@ plasmaPackage {
kdoctools
];
propagatedBuildInputs = [
kactivities kdeclarative kglobalaccel ki18n kio kscreenlocker kwindowsystem
plasma-framework qtdeclarative qtmultimedia qtx11extras epoxy kcompletion
kcmutils kconfig kconfigwidgets kcoreaddons kcrash kdecoration kiconthemes
kidletime kinit knewstuff knotifications kpackage kservice kwayland
kwidgetsaddons kxmlgui libinput libICE libSM qtscript udev wayland
xcb-util-cursor
breeze-qt5 epoxy kactivities kcmutils kcompletion kconfig kconfigwidgets
kcoreaddons kcrash kdeclarative kdecoration kglobalaccel ki18n kiconthemes
kidletime kinit kio knewstuff knotifications kpackage kscreenlocker kservice
kwayland kwidgetsaddons kwindowsystem kxmlgui libinput libICE libSM
plasma-framework qtdeclarative qtmultimedia qtscript qtx11extras udev
wayland xcb-util-cursor
];
patches = [ ./0001-qdiriterator-follow-symlinks.patch ];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
postPatch = ''
substituteInPlace main_wayland.cpp \
--subst-var-by xwayland ${lib.getBin xwayland}/bin/Xwayland
'';
cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" ];
}

View File

@ -0,0 +1,13 @@
Index: kwin-5.7.3/plugins/kdecorations/aurorae/src/aurorae.cpp
===================================================================
--- kwin-5.7.3.orig/plugins/kdecorations/aurorae/src/aurorae.cpp
+++ kwin-5.7.3/plugins/kdecorations/aurorae/src/aurorae.cpp
@@ -211,7 +211,7 @@ void Helper::init()
// so let's try to locate our plugin:
QString pluginPath;
for (const QString &path : m_engine->importPathList()) {
- QDirIterator it(path, QDirIterator::Subdirectories);
+ QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
it.next();
QFileInfo fileInfo = it.fileInfo();

View File

@ -0,0 +1,2 @@
follow-symlinks.patch
xwayland.patch

View File

@ -0,0 +1,13 @@
Index: kwin-5.7.3/main_wayland.cpp
===================================================================
--- kwin-5.7.3.orig/main_wayland.cpp
+++ kwin-5.7.3/main_wayland.cpp
@@ -315,7 +315,7 @@ void ApplicationWayland::startXwaylandSe
m_xwaylandProcess = new Process(kwinApp());
m_xwaylandProcess->setProcessChannelMode(QProcess::ForwardedErrorChannel);
- m_xwaylandProcess->setProgram(QStringLiteral("Xwayland"));
+ m_xwaylandProcess->setProgram(QStringLiteral("@xwayland@"));
QProcessEnvironment env = m_environment;
env.insert("WAYLAND_SOCKET", QByteArray::number(wlfd));
m_xwaylandProcess->setProcessEnvironment(env);