mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
extra/kwin to 5.2.1-1
This commit is contained in:
parent
35f1b187b9
commit
a07376b82c
3 changed files with 5 additions and 229 deletions
|
@ -1,5 +1,6 @@
|
|||
# $Id: PKGBUILD 224438 2014-10-15 16:56:29Z andrea $
|
||||
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
|
||||
# Maintainer: Felix Yan <felixonmars@archlinux.org>
|
||||
# Contributor: Andrea Scarpino <andrea@archlinux.org>
|
||||
|
||||
# ALARM on armv6h: Arno Rehn <arno@arnorehn.de>
|
||||
# - Find Broadcom's VideoCore GLES and EGL libraries instead of mesa's libs.
|
||||
|
@ -8,9 +9,9 @@
|
|||
# - Proper upstream patches for the above are pending.
|
||||
|
||||
pkgname=kwin
|
||||
pkgver=5.2.0.1
|
||||
_dir=5.2.0
|
||||
pkgrel=3
|
||||
pkgver=5.2.1
|
||||
_dir=5.2.1
|
||||
pkgrel=1
|
||||
pkgdesc='KDE Window manager'
|
||||
arch=('i686' 'x86_64')
|
||||
url='https://projects.kde.org/projects/kde/workspace/kwin'
|
||||
|
@ -22,25 +23,15 @@ groups=('plasma-next')
|
|||
install=${pkgname}.install
|
||||
conflicts=('kdebase-workspace')
|
||||
source=("http://download.kde.org/stable/plasma/${_dir}/${pkgname}-${pkgver}.tar.xz"
|
||||
'kdebug-341971.patch'
|
||||
'libinput.0.8.0.patch'
|
||||
"rpi_fix_build.patch"
|
||||
"kwin_remove_eglonxbackend.patch")
|
||||
md5sums=('47b6ce31b45450fa702098c9f3f5ac95'
|
||||
'037db2eab5f9e07c74122f1a5fd4fe31'
|
||||
'0ccc6b0113e37bd994c65ffb6a4518ff'
|
||||
'3e11a42013f03d55b4b730463bdd6fe0'
|
||||
'28a1e8bd701a8fd1421e6ec238b4c522')
|
||||
|
||||
prepare() {
|
||||
mkdir build
|
||||
|
||||
cd "${pkgname}-${pkgver}"
|
||||
patch -p1 -i "${srcdir}"/kdebug-341971.patch
|
||||
|
||||
#https://bugs.kde.org/show_bug.cgi?id=342893
|
||||
patch -Np1 -i "${srcdir}"/libinput.0.8.0.patch
|
||||
|
||||
# Raspberry Pi
|
||||
if [ "$CARCH" == 'armv6h' ]; then
|
||||
patch -p1 -i "${srcdir}/rpi_fix_build.patch"
|
||||
|
|
|
@ -1,190 +0,0 @@
|
|||
From: Marco Martin <notmart@gmail.com>
|
||||
Date: Wed, 28 Jan 2015 08:58:47 +0000
|
||||
Subject: use xembed for the qml view of window decorations modul
|
||||
X-Git-Url: http://quickgit.kde.org/?p=kwin.git&a=commitdiff&h=63885cc5b3f2922441dac0af96ed001b737e78ea
|
||||
---
|
||||
use xembed for the qml view of window decorations modul
|
||||
|
||||
the only way to ensure the view won't randomly become black
|
||||
(probably QQuickwidget won't be fixed in qt anytime soon or
|
||||
ever in 5.x lifetime due to how architecturally is)
|
||||
|
||||
basically systemsettings has no control of what gets loaded in,
|
||||
if one other kcm will call winId(), this one will break.
|
||||
|
||||
BUG:341971
|
||||
---
|
||||
|
||||
|
||||
--- a/kcmkwin/kwindecoration/kcm.cpp
|
||||
+++ b/kcmkwin/kwindecoration/kcm.cpp
|
||||
@@ -36,6 +36,7 @@
|
||||
#include <QQmlContext>
|
||||
#include <QQmlEngine>
|
||||
#include <QQuickItem>
|
||||
+#include <QQuickView>
|
||||
#include <QSortFilterProxyModel>
|
||||
#include <QStandardPaths>
|
||||
#include <QVBoxLayout>
|
||||
@@ -77,21 +78,26 @@
|
||||
m_proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
|
||||
connect(m_ui->filter, &QLineEdit::textChanged, m_proxyModel, &QSortFilterProxyModel::setFilterFixedString);
|
||||
|
||||
+ m_quickView = new QQuickView(0);
|
||||
KDeclarative::KDeclarative kdeclarative;
|
||||
- kdeclarative.setDeclarativeEngine(m_ui->view->engine());
|
||||
+ kdeclarative.setDeclarativeEngine(m_quickView->engine());
|
||||
kdeclarative.setTranslationDomain(QStringLiteral(TRANSLATION_DOMAIN));
|
||||
kdeclarative.setupBindings();
|
||||
|
||||
qmlRegisterType<QAbstractItemModel>();
|
||||
- m_ui->view->rootContext()->setContextProperty(QStringLiteral("decorationsModel"), m_proxyModel);
|
||||
+ QWidget *widget = QWidget::createWindowContainer(m_quickView, this);
|
||||
+ QVBoxLayout* layout = new QVBoxLayout(m_ui->view);
|
||||
+ layout->addWidget(widget);
|
||||
+
|
||||
+ m_quickView->rootContext()->setContextProperty(QStringLiteral("decorationsModel"), m_proxyModel);
|
||||
updateColors();
|
||||
- m_ui->view->rootContext()->setContextProperty("_borderSizesIndex", 3); // 3 is normal
|
||||
- m_ui->view->rootContext()->setContextProperty("configurationModule", this);
|
||||
- m_ui->view->rootContext()->setContextProperty("titleFont", QFontDatabase::systemFont(QFontDatabase::TitleFont));
|
||||
- m_ui->view->setResizeMode(QQuickWidget::SizeRootObjectToView);
|
||||
- m_ui->view->setSource(QUrl::fromLocalFile(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin/kcm_kwindecoration/main.qml"))));
|
||||
- if (m_ui->view->status() == QQuickWidget::Ready) {
|
||||
- auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView");
|
||||
+ m_quickView->rootContext()->setContextProperty("_borderSizesIndex", 3); // 3 is normal
|
||||
+ m_quickView->rootContext()->setContextProperty("configurationModule", this);
|
||||
+ m_quickView->rootContext()->setContextProperty("titleFont", QFontDatabase::systemFont(QFontDatabase::TitleFont));
|
||||
+ m_quickView->setResizeMode(QQuickView::SizeRootObjectToView);
|
||||
+ m_quickView->setSource(QUrl::fromLocalFile(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin/kcm_kwindecoration/main.qml"))));
|
||||
+ if (m_quickView->status() == QQuickView::Ready) {
|
||||
+ auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView");
|
||||
if (listView) {
|
||||
connect(listView, SIGNAL(currentIndexChanged()), this, SLOT(changed()));
|
||||
}
|
||||
@@ -122,7 +128,7 @@
|
||||
);
|
||||
connect(m_ui->borderSizesCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
|
||||
this, [this] (int index) {
|
||||
- auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView");
|
||||
+ auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView");
|
||||
if (listView) {
|
||||
listView->setProperty("borderSizesIndex", index);
|
||||
}
|
||||
@@ -265,7 +271,7 @@
|
||||
const QString plugin = config.readEntry("library", s_defaultPlugin);
|
||||
const QString theme = config.readEntry("theme", QString());
|
||||
const QModelIndex index = m_proxyModel->mapFromSource(m_model->findDecoration(plugin, theme));
|
||||
- if (auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView")) {
|
||||
+ if (auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView")) {
|
||||
listView->setProperty("currentIndex", index.isValid() ? index.row() : -1);
|
||||
}
|
||||
m_ui->closeWindowsDoubleClick->setChecked(config.readEntry("CloseOnDoubleClickOnMenu", false));
|
||||
@@ -305,7 +311,7 @@
|
||||
KConfigGroup config = KSharedConfig::openConfig("kwinrc")->group(s_pluginName);
|
||||
config.writeEntry("CloseOnDoubleClickOnMenu", m_ui->closeWindowsDoubleClick->isChecked());
|
||||
config.writeEntry("BorderSize", sizeToString(m_ui->borderSizesCombo->currentData().value<BorderSize>()));
|
||||
- if (auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView")) {
|
||||
+ if (auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView")) {
|
||||
const int currentIndex = listView->property("currentIndex").toInt();
|
||||
if (currentIndex != -1) {
|
||||
const QModelIndex index = m_proxyModel->index(currentIndex, 0);
|
||||
@@ -333,7 +339,7 @@
|
||||
|
||||
void ConfigurationModule::defaults()
|
||||
{
|
||||
- if (auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView")) {
|
||||
+ if (auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView")) {
|
||||
const QModelIndex index = m_proxyModel->mapFromSource(m_model->findDecoration(s_defaultPlugin));
|
||||
listView->setProperty("currentIndex", index.isValid() ? index.row() : -1);
|
||||
}
|
||||
@@ -346,7 +352,7 @@
|
||||
{
|
||||
QPointer<KNS3::DownloadDialog> downloadDialog = new KNS3::DownloadDialog(config, this);
|
||||
if (downloadDialog->exec() == QDialog::Accepted && !downloadDialog->changedEntries().isEmpty()) {
|
||||
- auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView");
|
||||
+ auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView");
|
||||
QString selectedPluginName;
|
||||
QString selectedThemeName;
|
||||
if (listView) {
|
||||
@@ -396,10 +402,8 @@
|
||||
|
||||
void ConfigurationModule::updateColors()
|
||||
{
|
||||
-#if (QT_VERSION >= QT_VERSION_CHECK(5, 4, 0))
|
||||
- m_ui->view->setClearColor(m_ui->view->palette().color(QPalette::Window));
|
||||
-#endif
|
||||
- m_ui->view->rootContext()->setContextProperty("highlightColor", QPalette().color(QPalette::Highlight));
|
||||
+ m_quickView->rootContext()->setContextProperty("backgroundColor", QPalette().color(QPalette::Window));
|
||||
+ m_quickView->rootContext()->setContextProperty("highlightColor", QPalette().color(QPalette::Highlight));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
--- a/kcmkwin/kwindecoration/kcm.h
|
||||
+++ b/kcmkwin/kwindecoration/kcm.h
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <QAbstractItemModel>
|
||||
|
||||
class QSortFilterProxyModel;
|
||||
+class QQuickView;
|
||||
|
||||
namespace KDecoration2
|
||||
{
|
||||
@@ -73,6 +74,7 @@
|
||||
DecorationsModel *m_model;
|
||||
QSortFilterProxyModel *m_proxyModel;
|
||||
ConfigurationForm *m_ui;
|
||||
+ QQuickView *m_quickView;
|
||||
Preview::ButtonsModel *m_leftButtons;
|
||||
Preview::ButtonsModel *m_rightButtons;
|
||||
Preview::ButtonsModel *m_availableButtons;
|
||||
|
||||
--- a/kcmkwin/kwindecoration/kcm.ui
|
||||
+++ b/kcmkwin/kwindecoration/kcm.ui
|
||||
@@ -39,15 +39,12 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
- <widget class="QQuickWidget" name="view">
|
||||
+ <widget class="QWidget" name="view">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
- </property>
|
||||
- <property name="resizeMode">
|
||||
- <enum>QQuickWidget::SizeRootObjectToView</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
--- a/kcmkwin/kwindecoration/qml/main.qml
|
||||
+++ b/kcmkwin/kwindecoration/qml/main.qml
|
||||
@@ -21,13 +21,17 @@
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
-ColumnLayout {
|
||||
- Previews {
|
||||
- Layout.fillWidth: true
|
||||
- Layout.fillHeight: true
|
||||
- }
|
||||
- Buttons {
|
||||
- Layout.fillWidth: true
|
||||
+Rectangle {
|
||||
+ color: backgroundColor
|
||||
+ ColumnLayout {
|
||||
+ anchors.fill: parent
|
||||
+ Previews {
|
||||
+ Layout.fillWidth: true
|
||||
+ Layout.fillHeight: true
|
||||
+ }
|
||||
+ Buttons {
|
||||
+ Layout.fillWidth: true
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
commit a93a2ab1918630c6d571b5a24379c15a0458d1fa
|
||||
Author: Martin Gräßlin <mgraesslin@kde.org>
|
||||
Date: Wed Jan 28 16:20:57 2015 +0100
|
||||
|
||||
Disable libinput integration if >= 0.8 is found
|
||||
|
||||
libinput 0.8 is incompatible causing the build to fail. As we are in
|
||||
dependency freeze the only option is to disable the build.
|
||||
|
||||
BUG: 342893
|
||||
FIXED-IN: 5.2.1
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 550ef57..8d9c593 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -145,7 +145,7 @@ set_package_properties(UDev PROPERTIES URL "http://www.freedesktop.org/software
|
||||
PURPOSE "Required for input handling on Wayland."
|
||||
)
|
||||
set(HAVE_INPUT FALSE)
|
||||
-if (Libinput_FOUND AND UDEV_FOUND)
|
||||
+if (Libinput_FOUND AND UDEV_FOUND AND Libinput_VERSION VERSION_LESS 0.8)
|
||||
set(HAVE_INPUT TRUE)
|
||||
endif()
|
||||
|
Loading…
Reference in a new issue