Init ukui-kwin 1.0.4-1
This commit is contained in:
parent
0516e7c0bc
commit
e7a80b83e7
390
0001-modify-ukui-kwin-complie-error.patch
Normal file
390
0001-modify-ukui-kwin-complie-error.patch
Normal file
@ -0,0 +1,390 @@
|
||||
From 705506f719d74af737f8bfcda6d3771aff4ad6e9 Mon Sep 17 00:00:00 2001
|
||||
From: pei-jiankang <peijiankang@kylinos.cn>
|
||||
Date: Fri, 11 Feb 2022 12:03:48 +0800
|
||||
Subject: [PATCH] modify ukui-kwin compile error
|
||||
|
||||
---
|
||||
decorations/decoratedclient.cpp | 5 +-
|
||||
decorations/decoratedclient.h | 2 +-
|
||||
decorations/decorationbridge.cpp | 11 +---
|
||||
decorations/decorationbridge.h | 2 +-
|
||||
effects.cpp | 5 +-
|
||||
.../declarative-plugin/previewbridge.cpp | 61 +++++++++++--------
|
||||
.../declarative-plugin/previewbridge.h | 4 +-
|
||||
.../declarative-plugin/previewclient.cpp | 3 +-
|
||||
.../declarative-plugin/previewclient.h | 2 +-
|
||||
.../platforms/x11/common/eglonxbackend.cpp | 1 +
|
||||
plugins/platforms/x11/common/eglonxbackend.h | 3 +
|
||||
.../platforms/x11/standalone/x11_platform.h | 1 +
|
||||
.../x11/windowed/x11windowed_backend.cpp | 2 +-
|
||||
po/tr/{kwin.po => ukui-kwin.po} | 0
|
||||
workspace.cpp | 2 +-
|
||||
15 files changed, 55 insertions(+), 49 deletions(-)
|
||||
rename po/tr/{kwin.po => ukui-kwin.po} (100%)
|
||||
|
||||
diff --git a/decorations/decoratedclient.cpp b/decorations/decoratedclient.cpp
|
||||
index 6e150d8..a708d3c 100644
|
||||
--- a/decorations/decoratedclient.cpp
|
||||
+++ b/decorations/decoratedclient.cpp
|
||||
@@ -238,10 +238,9 @@ void DecoratedClientImpl::requestHideToolTip()
|
||||
m_toolTipShowing = false;
|
||||
}
|
||||
|
||||
-void DecoratedClientImpl::requestShowWindowMenu()
|
||||
+void DecoratedClientImpl::requestShowWindowMenu(const QRect &rect)
|
||||
{
|
||||
- // TODO: add rect to requestShowWindowMenu
|
||||
- Workspace::self()->showWindowMenu(QRect(Cursor::pos(), Cursor::pos()), m_client);
|
||||
+ Workspace::self()->showWindowMenu(QRect(m_client->pos() + rect.topLeft(), m_client->pos() + rect.bottomRight()), m_client);
|
||||
}
|
||||
|
||||
void DecoratedClientImpl::requestShowApplicationMenu(const QRect &rect, int actionId)
|
||||
diff --git a/decorations/decoratedclient.h b/decorations/decoratedclient.h
|
||||
index 576b62c..1675751 100644
|
||||
--- a/decorations/decoratedclient.h
|
||||
+++ b/decorations/decoratedclient.h
|
||||
@@ -81,7 +81,7 @@ public:
|
||||
void requestContextHelp() override;
|
||||
void requestToggleMaximization(Qt::MouseButtons buttons) override;
|
||||
void requestMinimize() override;
|
||||
- void requestShowWindowMenu() override;
|
||||
+ void requestShowWindowMenu(const QRect &rect) override;
|
||||
void requestShowApplicationMenu(const QRect &rect, int actionId) override;
|
||||
void requestToggleKeepAbove() override;
|
||||
void requestToggleKeepBelow() override;
|
||||
diff --git a/decorations/decorationbridge.cpp b/decorations/decorationbridge.cpp
|
||||
index fc0265a..0abe08d 100644
|
||||
--- a/decorations/decorationbridge.cpp
|
||||
+++ b/decorations/decorationbridge.cpp
|
||||
@@ -45,6 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include <KWayland/Server/server_decoration_interface.h>
|
||||
|
||||
// Frameworks
|
||||
+#include <KPluginFactory>
|
||||
#include <KPluginMetaData>
|
||||
#include <KPluginLoader>
|
||||
|
||||
@@ -339,16 +340,6 @@ std::unique_ptr<KDecoration2::DecorationSettingsPrivate> DecorationBridge::setti
|
||||
return std::unique_ptr<SettingsImpl>(new SettingsImpl(parent));
|
||||
}
|
||||
|
||||
-void DecorationBridge::update(KDecoration2::Decoration *decoration, const QRect &geometry)
|
||||
-{
|
||||
- // TODO: remove check once all compositors implement it
|
||||
- if (AbstractClient *c = Workspace::self()->findAbstractClient([decoration] (const AbstractClient *client) { return client->decoration() == decoration; })) {
|
||||
- if (Renderer *renderer = c->decoratedClient()->renderer()) {
|
||||
- renderer->schedule(geometry);
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
KDecoration2::Decoration *DecorationBridge::createDecoration(AbstractClient *client)
|
||||
{
|
||||
if (m_noPlugin) {
|
||||
diff --git a/decorations/decorationbridge.h b/decorations/decorationbridge.h
|
||||
index 6f51a3f..6f2b1ed 100644
|
||||
--- a/decorations/decorationbridge.h
|
||||
+++ b/decorations/decorationbridge.h
|
||||
@@ -56,12 +56,12 @@ class UKUI_KWIN_EXPORT DecorationBridge : public KDecoration2::DecorationBridge
|
||||
public:
|
||||
~DecorationBridge() override;
|
||||
|
||||
+
|
||||
void init();
|
||||
KDecoration2::Decoration *createDecoration(AbstractClient *client);
|
||||
|
||||
std::unique_ptr<KDecoration2::DecoratedClientPrivate> createClient(KDecoration2::DecoratedClient *client, KDecoration2::Decoration *decoration) override;
|
||||
std::unique_ptr<KDecoration2::DecorationSettingsPrivate> settings(KDecoration2::DecorationSettings *parent) override;
|
||||
- void update(KDecoration2::Decoration *decoration, const QRect &geometry) override;
|
||||
|
||||
bool needsBlur() const {
|
||||
return m_blur;
|
||||
diff --git a/effects.cpp b/effects.cpp
|
||||
index 9f765aa..86b1638 100644
|
||||
--- a/effects.cpp
|
||||
+++ b/effects.cpp
|
||||
@@ -49,7 +49,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "kwineffectquickview.h"
|
||||
|
||||
#include <QDebug>
|
||||
-
|
||||
+#include <QMouseEvent>
|
||||
+#include <QWheelEvent>
|
||||
#include <Plasma/Theme>
|
||||
|
||||
#include "composite.h"
|
||||
@@ -86,7 +87,7 @@ static QByteArray readWindowProperty(xcb_window_t win, xcb_atom_t atom, xcb_atom
|
||||
}
|
||||
}
|
||||
|
||||
-static void deleteWindowProperty(Window win, long int atom)
|
||||
+static void deleteWindowProperty(xcb_window_t win, long int atom)
|
||||
{
|
||||
if (win == XCB_WINDOW_NONE) {
|
||||
return;
|
||||
diff --git a/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp b/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp
|
||||
index 41fe317..68962ef 100644
|
||||
--- a/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp
|
||||
+++ b/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp
|
||||
@@ -34,7 +34,7 @@
|
||||
#include <KCModule>
|
||||
#include <KPluginLoader>
|
||||
#include <KPluginFactory>
|
||||
-#include <KPluginTrader>
|
||||
+#include <KPluginMetaData>
|
||||
|
||||
#include <QDebug>
|
||||
#include <QDBusConnection>
|
||||
@@ -42,7 +42,11 @@
|
||||
#include <QDialog>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QPushButton>
|
||||
+#include <QQuickItem>
|
||||
+#include <QQuickRenderControl>
|
||||
+#include <QQuickWindow>
|
||||
#include <QVBoxLayout>
|
||||
+#include <QWindow>
|
||||
|
||||
namespace KDecoration2
|
||||
{
|
||||
@@ -69,17 +73,6 @@ std::unique_ptr<DecoratedClientPrivate> PreviewBridge::createClient(DecoratedCli
|
||||
return ptr;
|
||||
}
|
||||
|
||||
-void PreviewBridge::update(Decoration *decoration, const QRect &geometry)
|
||||
-{
|
||||
- Q_UNUSED(geometry)
|
||||
- auto it = std::find_if(m_previewItems.constBegin(), m_previewItems.constEnd(), [decoration](PreviewItem *item) {
|
||||
- return item->decoration() == decoration;
|
||||
- });
|
||||
- if (it != m_previewItems.constEnd()) {
|
||||
- (*it)->update();
|
||||
- }
|
||||
-}
|
||||
-
|
||||
std::unique_ptr<DecorationSettingsPrivate> PreviewBridge::settings(DecorationSettings *parent)
|
||||
{
|
||||
auto ptr = std::unique_ptr<PreviewSettings>(new PreviewSettings(parent));
|
||||
@@ -135,11 +128,11 @@ void PreviewBridge::createFactory()
|
||||
return;
|
||||
}
|
||||
|
||||
- const auto offers = KPluginTrader::self()->query(s_pluginName, s_pluginName);
|
||||
- auto item = std::find_if(offers.constBegin(), offers.constEnd(), [this](const auto &plugin) { return plugin.pluginName() == m_plugin; });
|
||||
+ const auto offers = KPluginLoader::findPlugins(s_pluginName);
|
||||
+ auto item = std::find_if(offers.constBegin(), offers.constEnd(), [this](const auto &plugin) { return plugin.pluginId() == m_plugin; });
|
||||
if (item != offers.constEnd()) {
|
||||
- KPluginLoader loader(item->libraryPath());
|
||||
- m_factory = loader.factory();
|
||||
+ KPluginLoader loader(item->fileName());
|
||||
+ m_factory = loader.factory();
|
||||
}
|
||||
|
||||
setValid(!m_factory.isNull());
|
||||
@@ -179,15 +172,16 @@ DecorationButton *PreviewBridge::createButton(KDecoration2::Decoration *decorati
|
||||
return m_factory->create<KDecoration2::DecorationButton>(QStringLiteral("button"), parent, QVariantList({QVariant::fromValue(type), QVariant::fromValue(decoration)}));
|
||||
}
|
||||
|
||||
-void PreviewBridge::configure()
|
||||
+void PreviewBridge::configure(QQuickItem *ctx)
|
||||
{
|
||||
if (!m_valid) {
|
||||
return;
|
||||
}
|
||||
//setup the UI
|
||||
- QDialog dialog;
|
||||
+ QDialog *dialog = new QDialog();
|
||||
+ dialog->setAttribute(Qt::WA_DeleteOnClose);
|
||||
if (m_lastCreatedClient) {
|
||||
- dialog.setWindowTitle(m_lastCreatedClient->caption());
|
||||
+ dialog->setWindowTitle(m_lastCreatedClient->caption());
|
||||
}
|
||||
|
||||
// create the KCModule through the plugintrader
|
||||
@@ -195,7 +189,15 @@ void PreviewBridge::configure()
|
||||
if (!m_theme.isNull()) {
|
||||
args.insert(QStringLiteral("theme"), m_theme);
|
||||
}
|
||||
- KCModule *kcm = m_factory->create<KCModule>(QStringLiteral("kcmodule"), &dialog, QVariantList({args}));
|
||||
+
|
||||
+ KCModule *kcm = nullptr;
|
||||
+
|
||||
+ kcm = m_factory->create<KCModule>(dialog, QVariantList({args}));
|
||||
+
|
||||
+ if (!kcm) {
|
||||
+ kcm = m_factory->create<KCModule>(QStringLiteral("kcmodule"), dialog, QVariantList({args}));
|
||||
+ }
|
||||
+
|
||||
if (!kcm) {
|
||||
return;
|
||||
}
|
||||
@@ -211,28 +213,35 @@ void PreviewBridge::configure()
|
||||
QStringLiteral("reloadConfig"));
|
||||
QDBusConnection::sessionBus().send(message);
|
||||
};
|
||||
- connect(&dialog, &QDialog::accepted, this, save);
|
||||
+ connect(dialog, &QDialog::accepted, this, save);
|
||||
|
||||
QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok |
|
||||
QDialogButtonBox::Cancel |
|
||||
QDialogButtonBox::RestoreDefaults |
|
||||
QDialogButtonBox::Reset,
|
||||
- &dialog);
|
||||
+ dialog);
|
||||
|
||||
QPushButton *reset = buttons->button(QDialogButtonBox::Reset);
|
||||
reset->setEnabled(false);
|
||||
// Here we connect our buttons with the dialog
|
||||
- connect(buttons, &QDialogButtonBox::accepted, &dialog, &QDialog::accept);
|
||||
- connect(buttons, &QDialogButtonBox::rejected, &dialog, &QDialog::reject);
|
||||
+ connect(buttons, &QDialogButtonBox::accepted, dialog, &QDialog::accept);
|
||||
+ connect(buttons, &QDialogButtonBox::rejected, dialog, &QDialog::reject);
|
||||
connect(reset, &QPushButton::clicked, kcm, &KCModule::load);
|
||||
auto changedSignal = static_cast<void(KCModule::*)(bool)>(&KCModule::changed);
|
||||
connect(kcm, changedSignal, reset, &QPushButton::setEnabled);
|
||||
connect(buttons->button(QDialogButtonBox::RestoreDefaults), &QPushButton::clicked, kcm, &KCModule::defaults);
|
||||
|
||||
- QVBoxLayout *layout = new QVBoxLayout(&dialog);
|
||||
+ QVBoxLayout *layout = new QVBoxLayout(dialog);
|
||||
layout->addWidget(kcm);
|
||||
layout->addWidget(buttons);
|
||||
- dialog.exec();
|
||||
+
|
||||
+ if (ctx->window()) {
|
||||
+ dialog->winId(); // so it creates windowHandle
|
||||
+ dialog->windowHandle()->setTransientParent(QQuickRenderControl::renderWindowFor(ctx->window()));
|
||||
+ dialog->setModal(true);
|
||||
+ }
|
||||
+
|
||||
+ dialog->show();
|
||||
}
|
||||
|
||||
BridgeItem::BridgeItem(QObject *parent)
|
||||
diff --git a/kcmkwin/kwindecoration/declarative-plugin/previewbridge.h b/kcmkwin/kwindecoration/declarative-plugin/previewbridge.h
|
||||
index 7e1d8f3..079333b 100644
|
||||
--- a/kcmkwin/kwindecoration/declarative-plugin/previewbridge.h
|
||||
+++ b/kcmkwin/kwindecoration/declarative-plugin/previewbridge.h
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <QList>
|
||||
#include <QPointer>
|
||||
|
||||
+class QQuickItem;
|
||||
class KPluginFactory;
|
||||
|
||||
namespace KDecoration2
|
||||
@@ -47,7 +48,6 @@ public:
|
||||
explicit PreviewBridge(QObject *parent = nullptr);
|
||||
~PreviewBridge() override;
|
||||
std::unique_ptr<DecoratedClientPrivate> createClient(DecoratedClient *client, Decoration *decoration) override;
|
||||
- void update(Decoration* decoration, const QRect& geometry) override;
|
||||
std::unique_ptr<DecorationSettingsPrivate> settings(DecorationSettings *parent) override;
|
||||
|
||||
PreviewClient *lastCreatedClient() {
|
||||
@@ -70,7 +70,7 @@ public:
|
||||
KDecoration2::DecorationButton *createButton(KDecoration2::Decoration *decoration, KDecoration2::DecorationButtonType type, QObject *parent = nullptr);
|
||||
|
||||
public Q_SLOTS:
|
||||
- void configure();
|
||||
+ void configure(QQuickItem *ctx);
|
||||
|
||||
Q_SIGNALS:
|
||||
void pluginChanged();
|
||||
diff --git a/kcmkwin/kwindecoration/declarative-plugin/previewclient.cpp b/kcmkwin/kwindecoration/declarative-plugin/previewclient.cpp
|
||||
index 8319ccb..d214b1b 100644
|
||||
--- a/kcmkwin/kwindecoration/declarative-plugin/previewclient.cpp
|
||||
+++ b/kcmkwin/kwindecoration/declarative-plugin/previewclient.cpp
|
||||
@@ -405,8 +405,9 @@ void PreviewClient::requestToggleKeepBelow()
|
||||
setKeepBelow(!isKeepBelow());
|
||||
}
|
||||
|
||||
-void PreviewClient::requestShowWindowMenu()
|
||||
+void PreviewClient::requestShowWindowMenu(const QRect &rect)
|
||||
{
|
||||
+ Q_UNUSED(rect)
|
||||
emit showWindowMenuRequested();
|
||||
}
|
||||
|
||||
diff --git a/kcmkwin/kwindecoration/declarative-plugin/previewclient.h b/kcmkwin/kwindecoration/declarative-plugin/previewclient.h
|
||||
index c37db74..fe043db 100644
|
||||
--- a/kcmkwin/kwindecoration/declarative-plugin/previewclient.h
|
||||
+++ b/kcmkwin/kwindecoration/declarative-plugin/previewclient.h
|
||||
@@ -107,7 +107,7 @@ public:
|
||||
void requestToggleKeepAbove() override;
|
||||
void requestToggleKeepBelow() override;
|
||||
void requestToggleShade() override;
|
||||
- void requestShowWindowMenu() override;
|
||||
+ void requestShowWindowMenu(const QRect &rect) override;
|
||||
void requestShowApplicationMenu(const QRect &rect, int actionId) override;
|
||||
void requestToggleOnAllDesktops() override;
|
||||
|
||||
diff --git a/plugins/platforms/x11/common/eglonxbackend.cpp b/plugins/platforms/x11/common/eglonxbackend.cpp
|
||||
index 0bb109d..92cf5ed 100644
|
||||
--- a/plugins/platforms/x11/common/eglonxbackend.cpp
|
||||
+++ b/plugins/platforms/x11/common/eglonxbackend.cpp
|
||||
@@ -18,6 +18,7 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*********************************************************************/
|
||||
#include "eglonxbackend.h"
|
||||
+#include <kwinglutils.h>
|
||||
// kwin
|
||||
#include "main.h"
|
||||
#include "options.h"
|
||||
diff --git a/plugins/platforms/x11/common/eglonxbackend.h b/plugins/platforms/x11/common/eglonxbackend.h
|
||||
index bd9c69b..f12ce5f 100644
|
||||
--- a/plugins/platforms/x11/common/eglonxbackend.h
|
||||
+++ b/plugins/platforms/x11/common/eglonxbackend.h
|
||||
@@ -29,6 +29,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "swap_profiler.h"
|
||||
|
||||
#include <xcb/xcb.h>
|
||||
+#include <X11/Xlib-xcb.h>
|
||||
+#include <fixx11h.h>
|
||||
+#include "../windowed/x11windowed_backend.h"
|
||||
|
||||
namespace KWin
|
||||
{
|
||||
diff --git a/plugins/platforms/x11/standalone/x11_platform.h b/plugins/platforms/x11/standalone/x11_platform.h
|
||||
index 5b75af3..0de0bd8 100644
|
||||
--- a/plugins/platforms/x11/standalone/x11_platform.h
|
||||
+++ b/plugins/platforms/x11/standalone/x11_platform.h
|
||||
@@ -33,6 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include <memory>
|
||||
|
||||
+#include "../windowed/x11windowed_backend.h"
|
||||
namespace KWin
|
||||
{
|
||||
class SyncFilter;
|
||||
diff --git a/plugins/platforms/x11/windowed/x11windowed_backend.cpp b/plugins/platforms/x11/windowed/x11windowed_backend.cpp
|
||||
index be48ca2..2e0dbee 100644
|
||||
--- a/plugins/platforms/x11/windowed/x11windowed_backend.cpp
|
||||
+++ b/plugins/platforms/x11/windowed/x11windowed_backend.cpp
|
||||
@@ -237,7 +237,7 @@ void X11WindowedBackend::handleEvent(xcb_generic_event_t *e)
|
||||
m_keySymbols = xcb_key_symbols_alloc(m_connection);
|
||||
}
|
||||
const xcb_keysym_t kc = xcb_key_symbols_get_keysym(m_keySymbols, event->detail, 0);
|
||||
- if (kc == XK_Control_R) {
|
||||
+ if (kc == 0xffe4) {
|
||||
grabKeyboard(event->time);
|
||||
}
|
||||
keyboardKeyPressed(event->detail - 8, event->time);
|
||||
diff --git a/po/tr/kwin.po b/po/tr/ukui-kwin.po
|
||||
similarity index 100%
|
||||
rename from po/tr/kwin.po
|
||||
rename to po/tr/ukui-kwin.po
|
||||
diff --git a/workspace.cpp b/workspace.cpp
|
||||
index 2c682af..7172771 100644
|
||||
--- a/workspace.cpp
|
||||
+++ b/workspace.cpp
|
||||
@@ -455,7 +455,7 @@ void Workspace::initWithX11()
|
||||
}
|
||||
|
||||
// TODO: better value
|
||||
- rootInfo->setActiveWindow(None);
|
||||
+ rootInfo->setActiveWindow(XCB_WINDOW_NONE);
|
||||
focusToNull();
|
||||
|
||||
if (!qApp->isSessionRestored())
|
||||
--
|
||||
2.33.0
|
||||
|
||||
182
ukui-kwin.spec
Normal file
182
ukui-kwin.spec
Normal file
@ -0,0 +1,182 @@
|
||||
Name: ukui-kwin
|
||||
Version: 1.0.4
|
||||
Release: 1
|
||||
Summary: KDE Window Manager for UKUI desktop environment
|
||||
License: GPLv2 or GPLv3
|
||||
URL: https://github.com/ukui/ukui-kwin
|
||||
|
||||
%global revision %(echo %{version} | cut -d. -f3)
|
||||
%if %{revision} >= 50
|
||||
%global majmin_ver %(echo %{version} | cut -d. -f1,2).50
|
||||
%else
|
||||
%global majmin_ver %(echo %{version} | cut -d. -f1,2)
|
||||
%endif
|
||||
|
||||
Source0: ukui-kwin_1.0.4.orig.tar.gz
|
||||
Patch00: 0001-modify-ukui-kwin-complie-error.patch
|
||||
BuildRequires: libxml2 libstdc++ libgcc
|
||||
%if 0
|
||||
BuildRequires: cmake extra-cmake-modules
|
||||
BuildRequires: libcap-devel libdrm-devel >= 2.4.62 libepoxy-devel >= 1.2 fontconfig-devel freetype-devel libgbm-devel libICE-devel libinput-devel >= 1.9 kdecoration-devel mesa-libGL-devel mesa-libEGL-devel mesa-libgbm-devel pkgconfig(libudev)
|
||||
BuildRequires: kf5-kactivities-devel kf5-kcompletion-devel kf5-kconfig-devel kf5-kconfigwidgets-devel kf5-kcoreaddons-devel kf5-kcrash-devel kf5-kdeclarative-devel kf5-kdoctools-devel kf5-kglobalaccel-devel kf5-ki18n-devel kf5-kiconthemes-devel kf5-kidletime-devel kf5-kcmutils-devel kf5-kio-devel kf5-knotifications-devel kf5-kpackage-devel kf5-kservice-devel kf5-ktextwidgets-devel kf5-kwayland-devel kf5-kwidgetsaddons-devel kf5-kwindowsystem-devel kf5-kxmlgui-devel kf5-kinit-devel kf5-knewstuff-devel kf5-plasma-devel kf5-kirigami2-devel kf5-kguiaddons-devel
|
||||
BuildRequires: libSM-devel wayland-devel >= 1.2
|
||||
BuildRequires: libX11-devel libxcb-devel xcb-util-cursor xcb-util-wm xcb-util-image xcb-util-keysyms xcb-util-devel
|
||||
BuildRequires: libXcursor-devel libXi-devel libxkbcommon-devel >= 0.7.0 pkg-config
|
||||
BuildRequires: qt5-qtsensors-devel qt5-qtx11extras-devel qt5-qtbase-private-devel qt5-qtdeclarative-devel qt5-qtscript-devel qt5-qttools-devel qt5-qtbase-devel qt5-qtbase-static qt5-qttools-static gsettings-qt-devel qt5-qtwayland-devel
|
||||
BuildRequires: kscreenlocker-devel kwin-devel
|
||||
BuildRequires: plasma-breeze-devel systemd-devel wayland-devel xcb-util-cursor-devel xcb-util-wm-devel xcb-util-image-devel xcb-util-keysyms-devel
|
||||
%endif
|
||||
|
||||
%description
|
||||
Ukui-kwin is the default window manager for UKUI desktop environment, and is forked from kwin.
|
||||
|
||||
%package wayland
|
||||
Summary: KDE Window Manager for UKUI desktop environment with experimental Wayland support
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-common%{?_isa} = %{version}-%{release}
|
||||
Requires: kwayland-integration%{?_isa} >= %{majmin_ver}
|
||||
%if ! 0%{?bootstrap}
|
||||
BuildRequires: xorg-x11-server-Xwayland
|
||||
%endif
|
||||
Requires: xorg-x11-server-Xwayland
|
||||
%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}
|
||||
%{?kf5_kinit_requires}
|
||||
%description wayland
|
||||
%{summary}.
|
||||
|
||||
%package common
|
||||
Summary: Common files for UKUI-KWin X11 and UKUI-KWin Wayland
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: kf5-kwayland%{?_isa} >= %{_kf5_version}
|
||||
%description common
|
||||
%{summary}.
|
||||
|
||||
%package libs
|
||||
Summary: UKUI-KWin runtime libraries
|
||||
Conflicts: kde-workspace-libs%{?_isa} < 4.11.14-2
|
||||
%description libs
|
||||
%{summary}.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-common%{?_isa} = %{version}-%{release}
|
||||
Requires: kf5-kconfig-devel
|
||||
Requires: kf5-kservice-devel
|
||||
Requires: kf5-kwindowsystem-devel
|
||||
Conflicts: kde-workspace-devel < 5.0.0-1
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
%package doc
|
||||
Summary: User manual for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description doc
|
||||
%{summary}.
|
||||
%if 0
|
||||
%prep
|
||||
%autosetup -n %{name} -p1
|
||||
|
||||
%build
|
||||
mkdir %{_target_platform}
|
||||
pushd %{_target_platform}
|
||||
%{cmake_kf5} .. \
|
||||
-DBUILD_TESTING:BOOL=ON
|
||||
popd
|
||||
|
||||
%make_build -C %{_target_platform}
|
||||
|
||||
|
||||
%install
|
||||
make install/fast DESTDIR=%{buildroot} -C %{_target_platform}
|
||||
|
||||
%find_lang %{name} --with-html --all-name
|
||||
cat %{name}.lang | sort | uniq -u > ukui_kwin5.lang
|
||||
|
||||
ln -s ukui-kwin_x11 %{buildroot}%{_bindir}/ukui-kwin
|
||||
mkdir -p %{buildroot}%{_datadir}/licenses/ukui-kwin
|
||||
cp COPYING* %{buildroot}%{_datadir}/licenses/ukui-kwin/
|
||||
|
||||
%files
|
||||
%license COPYING*
|
||||
%{_bindir}/ukui-kwin
|
||||
%{_bindir}/ukui-kwin_x11
|
||||
%{_kf5_libdir}/libkdeinit5_ukui-kwin_x11.so
|
||||
%{_sysconfdir}/xdg/LowPerformanceCPU.list
|
||||
%{_sysconfdir}/xdg/LowVgaPci.list
|
||||
%{_sysconfdir}/xdg/autostart/ukui-kwin.desktop
|
||||
%{_sysconfdir}/xdg/ukui-kwinrc
|
||||
|
||||
%files common -f ukui_kwin5.lang
|
||||
%{_kf5_libdir}/libkdeinit5_ukui_kwin_rules_dialog.so
|
||||
%{_datadir}/ukui-kwin
|
||||
%{_kf5_qtplugindir}/*.so
|
||||
%{_kf5_qtplugindir}/ukui-kwin/
|
||||
%{_kf5_qtplugindir}/kcms/
|
||||
%{_kf5_qtplugindir}/kf5/
|
||||
%{_kf5_qtplugindir}/org.kde.kdecoration2/*.so
|
||||
%{_kf5_qtplugindir}/org.ukui.kwin.platforms/
|
||||
%{_kf5_qtplugindir}/kpackage/packagestructure/ukui_kwin_packagestructure*.so
|
||||
%{_kf5_qtplugindir}/org.ukui.kwin.scenes/*.so
|
||||
%{_qt5_qmldir}/org/ukui/kwin
|
||||
%{_kf5_libdir}/kconf_update_bin/ukui_kwin5_update_default_rules
|
||||
%{_libexecdir}/ukui_kwin_killer_helper
|
||||
%{_libexecdir}/ukui_kwin_rules_dialog
|
||||
%{_datadir}/kconf_update/ukui-kwin.upd
|
||||
%{_datadir}/kconf_update/ukui-kwin-5.16-auto-bordersize.sh
|
||||
%{_datadir}/kconf_update/ukui-kwin-5.18-move-animspeed.py
|
||||
%{_kf5_datadir}/kservices5/*.desktop
|
||||
%{_kf5_datadir}/kservices5/ukui-kwin
|
||||
%{_kf5_datadir}/kservicetypes5/*.desktop
|
||||
%{_kf5_datadir}/kpackage/kcms/kcm_ukuikwin_virtualdesktops/*
|
||||
%{_kf5_datadir}/kpackage/kcms/kcm_*
|
||||
%{_kf5_datadir}/knotifications5/ukui-kwin.notifyrc
|
||||
%{_kf5_datadir}/config.kcfg/ukui-kwin.kcfg
|
||||
%{_kf5_datadir}/config.kcfg/ukuikwindecorationsettings.kcfg
|
||||
%{_kf5_datadir}/config.kcfg/ukuivirtualdesktopssettings.kcfg
|
||||
%{_kf5_datadir}/config.kcfg/ukui-kwin_colorcorrect.kcfg
|
||||
%{_datadir}/icons/hicolor/*/apps/ukui-kwin.*
|
||||
%{_datadir}/knsrcfiles/*.knsrc
|
||||
%{_datadir}/aurorae/themes/*/*
|
||||
|
||||
%files wayland
|
||||
%{_kf5_bindir}/ukui-kwin_wayland
|
||||
%{_kf5_qtplugindir}/platforms/UKUIKWinQpaPlugin.so
|
||||
%{_kf5_qtplugindir}/org.ukui.kglobalaccel5.platforms/KF5GlobalAccelPrivateKWin.so
|
||||
%{_kf5_qtplugindir}/org.ukui.kwin.waylandbackends/KWinWaylandDrmBackend.so
|
||||
%{_kf5_qtplugindir}/org.ukui.kwin.waylandbackends/KWinWaylandFbdevBackend.so
|
||||
%{_kf5_qtplugindir}/org.ukui.kwin.waylandbackends/KWinWaylandWaylandBackend.so
|
||||
%{_kf5_qtplugindir}/org.ukui.kwin.waylandbackends/KWinWaylandX11Backend.so
|
||||
%{_kf5_qtplugindir}/org.ukui.kwin.waylandbackends/KWinWaylandVirtualBackend.so
|
||||
%{_kf5_plugindir}/org.ukui.kidletime.platforms/KF5IdleTimeKWinWaylandPrivatePlugin.so
|
||||
|
||||
%ldconfig_scriptlets libs
|
||||
|
||||
%files libs
|
||||
%{_kf5_datadir}/qlogging-categories5/org_ukui_kwin.categories
|
||||
%{_libdir}/libukui-kwin.so.*
|
||||
%{_libdir}/libukui-kwinxrenderutils.so.*
|
||||
%{_libdir}/libukui-kwineffects.so.*
|
||||
%{_libdir}/libukui-kwinglutils.so.*
|
||||
%{_libdir}/libukui-kwin4_effect_builtins.so.*
|
||||
%{_libdir}/libkcmukuikwincommon.so.*
|
||||
%{_qt5_plugindir}/kcms/kcm_ukuikwin_virtualdesktops.so
|
||||
%endif
|
||||
%files devel
|
||||
%if 0
|
||||
%{_datadir}/dbus-1/interfaces/*.xml
|
||||
%{_libdir}/cmake/ukui-kwin/KWinDBusInterface
|
||||
%{_libdir}/libukui-kwinxrenderutils.so
|
||||
%{_libdir}/libukui-kwineffects.so
|
||||
%{_libdir}/libukui-kwinglutils.so
|
||||
%{_libdir}/libukui-kwin4_effect_builtins.so
|
||||
%{_includedir}/ukui-kwin*.h
|
||||
%{_includedir}/ukui-kwin/*.h
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Feb 11 2022 pei-jiankang<peijiankang@kylinos.com> - 1.0.4-1
|
||||
- Init ukui-kwin 1.0.4-1
|
||||
|
||||
BIN
ukui-kwin_1.0.4.orig.tar.gz
Normal file
BIN
ukui-kwin_1.0.4.orig.tar.gz
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user