!23 update new version 1.0.5

From: @peijiankang 
Reviewed-by: @dou33 
Signed-off-by: @dou33
This commit is contained in:
openeuler-ci-bot 2023-05-23 07:34:15 +00:00 committed by Gitee
commit 7bef6c7fc2
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
9 changed files with 234 additions and 583 deletions

View File

@ -0,0 +1,29 @@
From be68f4e91c2ea7511e65a13b6a39caca4c065025 Mon Sep 17 00:00:00 2001
From: peijiankang <peijiankang@kylinos.cn>
Date: Wed, 15 Feb 2023 19:53:47 +0800
Subject: [PATCH] fix ukui-kwin-data install error
---
po/tr/{kwin.po => ukui-kwin.po} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename po/tr/{kwin.po => ukui-kwin.po} (99%)
diff --git a/po/tr/kwin.po b/po/tr/ukui-kwin.po
similarity index 99%
rename from po/tr/kwin.po
rename to po/tr/ukui-kwin.po
index 99e2269..2ba3b31 100644
--- a/po/tr/kwin.po
+++ b/po/tr/ukui-kwin.po
@@ -12,7 +12,7 @@
# Kaan Ozdincer <kaanozdincer@gmail.com>, 2014.
msgid ""
msgstr ""
-"Project-Id-Version: kwin\n"
+"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2020-05-13 03:54+0200\n"
"PO-Revision-Date: 2017-06-09 14:24+0100\n"
--
2.33.0

View File

@ -1,390 +0,0 @@
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

View File

@ -0,0 +1,43 @@
From b1400c71a92d0893103d3a1a616976fac0787117 Mon Sep 17 00:00:00 2001
From: peijiankang <peijiankang@kylinos.cn>
Date: Thu, 9 Mar 2023 14:10:33 +0800
Subject: [PATCH] fix mate-terminal theme
---
decorations/decorationbridge.cpp | 19 +++++++++++++++++++
1 files changed, 19 insertions(+)
diff --git a/decorations/decorationbridge.cpp b/decorations/decorationbridge.cpp
index 10e766c..a19fe8a 100644
--- a/decorations/decorationbridge.cpp
+++ b/decorations/decorationbridge.cpp
@@ -156,7 +156,26 @@ void DecorationBridge::init()
m_dpi = 30; //设置一个限度不允许dpi小于30
}
}
+ QGSettings* pThemeSettings = new QGSettings("org.ukui.style", "/org/ukui/style/", this);
+ QString strTheme;
+ if (true == pThemeSettings->keys().contains("styleName")){
+ strTheme = pThemeSettings->get("style-name").toString();
+ qDebug() << "DecorationBridge::init theme:" << strTheme;
+ }
+
+ if("ukui-light" == strTheme)
+ {
+ m_themeId = 0;
+ }
+ else if("ukui-dark" == strTheme)
+ {
+ m_themeId = 1;
+ }
+ else //默认ukui-default
+ {
+ m_themeId = 0;
+ }
const QFont font = QFontDatabase::systemFont(QFontDatabase::TitleFont);
m_nFont = font.pointSize();
--
2.39.1

View File

@ -1,25 +0,0 @@
From 97215ae5f91aab309595695fd0dcbbcb1fb63bc1 Mon Sep 17 00:00:00 2001
From: pei-jiankang <peijiankang@kylinos.cn>
Date: Wed, 2 Mar 2022 09:31:25 +0800
Subject: [PATCH] update ukui-kwin.desktop
---
ukui-kwin.desktop | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ukui-kwin.desktop b/ukui-kwin.desktop
index 3148835..4a61cdb 100644
--- a/ukui-kwin.desktop
+++ b/ukui-kwin.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Type=Application
Name=UKUI-KWin
-Exec=ukui-kwin_x11
+Exec=ukui-kwin
NoDisplay=true
# name of loadable control center module
X-UKUI-WMSettingsModule=ukui-kwin
--
2.33.0

View File

@ -1,47 +0,0 @@
From af9bf0a88fd878f4f31e6289e7dcdd28b5a554d9 Mon Sep 17 00:00:00 2001
From: pei-jiankang <peijiankang@kylinos.cn>
Date: Fri, 29 Jul 2022 02:30:32 +0800
Subject: [PATCH] modify complie error of kde5.95
---
CMakeLists.txt | 2 +-
kcmkwin/kwindesktop/CMakeLists.txt | 2 +-
kcmkwin/kwineffects/CMakeLists.txt | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 152b6fe..b3fb1a4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -299,7 +299,7 @@ set_package_properties(Libcap PROPERTIES
)
set(HAVE_LIBCAP ${Libcap_FOUND})
-include(ECMQMLModules)
+include(ECMFindQmlModule)
ecm_find_qmlmodule(QtQuick 2.3)
ecm_find_qmlmodule(QtQuick.Controls 1.2)
ecm_find_qmlmodule(QtQuick.Layouts 1.3)
diff --git a/kcmkwin/kwindesktop/CMakeLists.txt b/kcmkwin/kwindesktop/CMakeLists.txt
index 174ebbe..6264c8b 100644
--- a/kcmkwin/kwindesktop/CMakeLists.txt
+++ b/kcmkwin/kwindesktop/CMakeLists.txt
@@ -1,4 +1,4 @@
-include(ECMQMLModules)
+include(ECMFindQmlModule)
ecm_find_qmlmodule(org.kde.plasma.core 2.0)
# KI18N Translation Domain for this library.
diff --git a/kcmkwin/kwineffects/CMakeLists.txt b/kcmkwin/kwineffects/CMakeLists.txt
index cb0d13a..b3de5ec 100644
--- a/kcmkwin/kwineffects/CMakeLists.txt
+++ b/kcmkwin/kwineffects/CMakeLists.txt
@@ -1,4 +1,4 @@
-include(ECMQMLModules)
+include(ECMFindQmlModule)
ecm_find_qmlmodule(org.kde.plasma.core 2.0)
# KI18N Translation Domain for this library.
--
2.33.0

BIN
ukui-kwin-1.0.5.tar.gz Normal file

Binary file not shown.

View File

@ -1,86 +1,99 @@
Name: ukui-kwin
Version: 1.0.4
Release: 5
Version: 1.0.5
Release: 4
Summary: KDE Window Manager for UKUI desktop environment
License: GPL-2.0-or-later and LGPL-2.0-or-later
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.5.tar.gz
Patch01: 0001-fix-ukui-kwin-data-install-error.patch
Patch02: 0002-fix-mate-terminal-theme.patch
Source0: ukui-kwin_1.0.4.orig.tar.gz
Patch00: 0001-modify-ukui-kwin-complie-error.patch
Patch01: 0002-update-ukui-kwin.desktop.patch
Patch02: 0003-modify-complie-error-of-kde5.95.patch
BuildRequires: libxml2 libstdc++ libgcc
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
BuildRequires: kf5-kinit-devel kscreenlocker-devel libcap-devel libdrm-devel >= 2.4.62 mesa-libEGL-devel libepoxy-devel >= 1.2 fontconfig-devel freetype-devel libgbm-devel libICE-devel libinput-devel >= 1.15.5 kdecoration-devel
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-knewstuff-devel kf5-knotifications-devel kf5-kpackage-devel kf5-plasma-devel kf5-kservice-devel kf5-ktextwidgets-devel kf5-kwayland-devel kf5-kwidgetsaddons-devel kf5-kwindowsystem-devel kf5-kxmlgui-devel
BuildRequires: qt5-qtsensors-devel qt5-qtx11extras-devel
BuildRequires: libSM-devel systemd-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 libXcursor-devel libXi-devel libxkbcommon-devel >= 0.7.0 pkg-config
BuildRequires: qt5-qtbase-devel qt5-qtbase-private-devel qt5-qtdeclarative-devel qt5-qtscript-devel qt5-qttools-devel gsettings-qt-devel
BuildRequires: kwin-devel libXtst-devel
#compile need
BuildRequires: kf5-kirigami2-devel plasma-breeze-devel xcb-util-cursor-devel xcb-util-wm-devel xcb-util-image-devel xcb-util-keysyms-devel qt5-qtbase-static kf5-kguiaddons-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}-common%{?_isa} = %{version}-%{release}
Requires: %{name}-wayland = %{version}-%{release}
Requires: ukui-kwin-x11 ukui-kwin-wayland
%description
Ukui-kwin is the default window manager for UKUI desktop environment, and is forked from kwin.
Ukui-kwin is the window manager for the UKUI3.0 Desktop. It gives you complete control over your windows, making sure they're not in the way but aid you in your task. It paints the window decoration, the bar on top of every window with (configurable) buttons like close, maximize and minimize. It also handles placing of windows and switching between them..
Transitional dummy for ukui-kwin-x11
This package is a transitional dummy to depend on the renamed ukui-kwin-x11 and can be removed.
%package wayland
%package -n ukui-kwin-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: ukui-kwin-common
Requires: kwayland-integration
Requires: xorg-x11-server-Xwayland
%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}
%{?kf5_kinit_requires}
%description wayland
%description -n ukui-kwin-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
%package -n ukui-kwin-common
Summary: UKUI window manager, common files
Requires: ukui-kwin-data kf5-kglobalaccel libukui-kwineffects12 kf5-kirigami2 kf5-kdeclarative qt5-qtmultimedia
Recommends: qt5-qtvirtualkeyboard
%description -n ukui-kwin-common
%{summary}.
%package libs
Summary: UKUI-KWin runtime libraries
Conflicts: kde-workspace-libs%{?_isa} < 4.11.14-2
%description libs
%package -n ukui-kwin-data
Summary: UKUI window manager data files
Requires: kf5-plasma
Recommends: python3 qt5-qtmultimedia qt5-qtquickcontrols qt5-qtdeclarative qt5-qtvirtualkeyboard
%description -n ukui-kwin-data
%{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
%package -n ukui-kwin-devel
Summary: UKUI window manager - devel files
Requires: ukui-kwin-common mesa-libEGL-devel libepoxy-devel kf5-kconfig-devel kf5-kcoreaddons-devel kf5-kwindowsystem-devel qt5-qtx11extras-devel libxcb-devel qt5-qtbase-devel
%description -n ukui-kwin-devel
%{summary}.
%package -n ukui-kwin-x11
Summary: UKUI window manager drm plugin
Requires: ukui-kwin-common libukui-kwinglutils12 libukui-kwinxrenderutils12
Provides: ukui-kwin, x-window-manager
%description -n ukui-kwin-x11
%{summary}.
%package -n libukui-kwin4-effect-builtins1
Summary: UKUI window manager drm plugin
Requires: libukui-kwineffects12
%description -n libukui-kwin4-effect-builtins1
%{summary}.
%package -n libukui-kwineffects12
Summary: UKUI window manager effects library
%description -n libukui-kwineffects12
%{summary}.
%package -n libukui-kwinglutils12
Summary: UKUI window manager effects library
%description -n libukui-kwinglutils12
%{summary}.
%package -n libukui-kwinxrenderutils12
Summary: UKUI window manager effects library
%description -n libukui-kwinxrenderutils12
%{summary}.
%prep
%autosetup -n %{name} -p1
%autosetup -n %{name}-%{version} -p1
%build
mkdir %{_target_platform}
@ -89,15 +102,12 @@ pushd %{_target_platform}
-DBUILD_TESTING:BOOL=ON
popd
%make_build -C %{_target_platform}
%make_build -C %{_target_platform} -j4
%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/
@ -105,79 +115,106 @@ 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
%files -n ukui-kwin-wayland
%{_kf5_bindir}/ukui-kwin_wayland
%{_kf5_plugindir}/org.ukui.kidletime.platforms/KF5IdleTimeKWinWaylandPrivatePlugin.so
%{_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.*
%files -n ukui-kwin-common
%{_libexecdir}/ukui_kwin_killer_helper
%{_libexecdir}/ukui_kwin_rules_dialog
%{_kf5_libdir}/kconf_update_bin/ukui_kwin5_update_default_rules
%{_libdir}/libkcmukuikwincommon.so.*
%{_kf5_libdir}/libkdeinit5_ukui_kwin_rules_dialog.so
%{_libdir}/libukui-kwin.so.*
%{_qt5_plugindir}/kcm_ukuikwin*.so
%{_qt5_plugindir}/kcms/kcm_ukuikwin_effects.so
%{_qt5_plugindir}/kcms/kcm_ukuikwin_virtualdesktops.so
%{_qt5_plugindir}/kcms/kcm_ukuikwindecoration.so
%{_kf5_plugindir}/org.ukui.kwindowsystem.platforms/KF5WindowSystemKWinPrivatePlugin.so
%{_kf5_qtplugindir}/kpackage/packagestructure/ukui_kwin_packagestructure*.so
%{_qt5_plugindir}/ukuikwin*.so
%{_kf5_qtplugindir}/ukui-kwin/
%{_kf5_qtplugindir}/org.kde.kdecoration2/*.so
%{_kf5_qtplugindir}/org.ukui.kglobalaccel5.platforms/KF5GlobalAccelPrivateKWin.so
%{_kf5_qtplugindir}/org.ukui.kwin.scenes/*.so
%{_qt5_qmldir}/org/ukui/kwin
%{_datadir}/knsrcfiles/*.knsrc
%{_kf5_datadir}/qlogging-categories5/org_ukui_kwin.categories
%{_datadir}/touchgesture/touchgesture.xml
%files devel
%{_datadir}/dbus-1/interfaces/*.xml
%files -n ukui-kwin-data
%{_sysconfdir}/xdg/LowPerformanceCPU.list
%{_sysconfdir}/xdg/LowVgaPci.list
%{_sysconfdir}/xdg/autostart/ukui-kwin.desktop
%{_sysconfdir}/xdg/ukui-kwinrc
%{_datadir}/aurorae/
%{_kf5_datadir}/config.kcfg/ukui-kwin.kcfg
%{_kf5_datadir}/config.kcfg/ukui-kwin_colorcorrect.kcfg
%{_kf5_datadir}/config.kcfg/ukuikwindecorationsettings.kcfg
%{_kf5_datadir}/config.kcfg/ukuivirtualdesktopssettings.kcfg
%{_datadir}/icons/*/*/apps/ukui-kwin.*
%{_datadir}/kconf_update/ukui-kwin-5.16-auto-bordersize.sh
%{_datadir}/kconf_update/ukui-kwin-5.18-move-animspeed.py
%{_datadir}/kconf_update/ukui-kwin.upd
%{_kf5_datadir}/knotifications5/ukui-kwin.notifyrc
%{_kf5_datadir}/kpackage/kcms/kcm_ukuikwin_effects/
%{_kf5_datadir}/kpackage/kcms/kcm_ukuikwin_virtualdesktops/
%{_kf5_datadir}/kpackage/kcms/kcm_ukuikwindecoration
%{_kf5_datadir}/kservices5/*.desktop
%{_kf5_datadir}/kservices5/ukui-kwin
%{_kf5_datadir}/kservicetypes5/*.desktop
%{_kf5_datadir}/kservicetypes5/ukui-kwin/*.desktop
%{_datadir}/ukui-kwin
%{_datadir}/locale
%files -n ukui-kwin-devel
%{_includedir}/ukui-kwin*.h
%{_includedir}/ukui-kwin/
%{_libdir}/cmake/ukui-kwin/KWinDBusInterface
%{_libdir}/libukui-kwinxrenderutils.so
%{_libdir}/libukui-kwin4_effect_builtins.so
%{_libdir}/libukui-kwineffects.so
%{_libdir}/libukui-kwinglutils.so
%{_libdir}/libukui-kwin4_effect_builtins.so
%{_includedir}/ukui-kwin*.h
%{_includedir}/ukui-kwin/*.h
%{_libdir}/libukui-kwinxrenderutils.so
%{_datadir}/dbus-1/interfaces/*.xml
%files -n ukui-kwin-x11
%{_bindir}/ukui-kwin_x11
%{_kf5_libdir}/libkdeinit5_ukui-kwin_x11.so
%{_kf5_qtplugindir}/org.ukui.kwin.platforms/KWinX11Platform.so
%files -n libukui-kwin4-effect-builtins1
%{_libdir}/libukui-kwin4_effect_builtins.so.*
%files -n libukui-kwineffects12
%{_libdir}/libukui-kwineffects.so.*
%files -n libukui-kwinglutils12
%{_libdir}/libukui-kwinglutils.so.*
%files -n libukui-kwinxrenderutils12
%{_libdir}/libukui-kwinxrenderutils.so.*
%changelog
* Thu Mar 09 2023 peijiankang<peijiankang@kylinos.cn> - 1.0.5-4
- fix mate-terminal theme
* Thu Feb 16 2023 peijiankang<peijiankang@kylinos.cn> - 1.0.5-3
- fix ukui-kwin-data install error
* Tue Dec 6 2022 peijiankang<peijiankang@kylinos.cn> - 1.0.5-2
- modify install error
* Fri Dec 2 2022 peijiankang<peijiankang@kylinos.cn> - 1.0.5-1
- update version to 1.0.5
* Fri Jul 29 2022 peijiankang<peijiankang@kylinos.cn> - 1.0.4-5
- modify complie error of kde5.95

4
ukui-kwin.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: github
src_repo: https://github.com/ukui/ukui-kwin.git
tag_prefix: "v"
separator: "."

Binary file not shown.