summaryrefslogtreecommitdiff
path: root/lxqt-base
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-30 03:41:13 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-30 03:41:13 +0100
commit9ba29c9ada954c7ef80401b59bf091dc2c3698f0 (patch)
tree9ff9d9563518dbacb1edd7f6d52ee97f4c35e30f /lxqt-base
parent3b7b8e209e44c2e2d323361e0775d3a9142c607e (diff)
lxqt-base/lxqt-meta : use qt5ct && qt6ct for theming, instead of lxqt-qtplugin
Diffstat (limited to 'lxqt-base')
-rw-r--r--lxqt-base/lxqt-config/Manifest1
-rw-r--r--lxqt-base/lxqt-config/files/lxqt-config-qt5ct.patch83
-rw-r--r--lxqt-base/lxqt-config/lxqt-config-2.0.0-r1.ebuild72
-rw-r--r--lxqt-base/lxqt-meta/lxqt-meta-2.0.0-r2.ebuild (renamed from lxqt-base/lxqt-meta/lxqt-meta-2.0.0-r1.ebuild)5
-rw-r--r--lxqt-base/lxqt-session/Manifest1
-rw-r--r--lxqt-base/lxqt-session/files/lxqt-session-qt5ct.patch16
-rw-r--r--lxqt-base/lxqt-session/lxqt-session-2.0.0-r1.ebuild60
7 files changed, 236 insertions, 2 deletions
diff --git a/lxqt-base/lxqt-config/Manifest b/lxqt-base/lxqt-config/Manifest
new file mode 100644
index 00000000..5d8d5a46
--- /dev/null
+++ b/lxqt-base/lxqt-config/Manifest
@@ -0,0 +1 @@
+DIST lxqt-config-2.0.0.tar.xz 380552 BLAKE2B 5b6dc5f1323609b487608efabcd3b3a2b2d14ee0374a9959b9ee1627146232ff8d91ea244b243a342217f06613424e5e0dca0b89bfef99771dcf8018fccba2ea SHA512 dbb96a069fa0b73c5e7cb6ed26d99ddf838df363b3dba5c6f8ac3dde4ab316646c6bea6fd6d463d9ddc76c38ce8b75dbf1fadc7e56d4c548a54c6d53b494bce3
diff --git a/lxqt-base/lxqt-config/files/lxqt-config-qt5ct.patch b/lxqt-base/lxqt-config/files/lxqt-config-qt5ct.patch
new file mode 100644
index 00000000..7b6dba8b
--- /dev/null
+++ b/lxqt-base/lxqt-config/files/lxqt-config-qt5ct.patch
@@ -0,0 +1,83 @@
+diff '--color=auto' -Nur a/lxqt-config-appearance/main.cpp b/lxqt-config-appearance/main.cpp
+--- a/lxqt-config-appearance/main.cpp 2024-04-17 12:00:51.000000000 +0100
++++ b/lxqt-config-appearance/main.cpp 2024-09-30 03:31:04.883188155 +0100
+@@ -33,12 +33,8 @@
+ #include <QMessageBox>
+ #include <QGuiApplication>
+
+-#include "iconthemeconfig.h"
+ #include "lxqtthemeconfig.h"
+-#include "styleconfig.h"
+-#include "fontsconfig.h"
+ #include "configothertoolkits.h"
+-#include "gtkconfig.h"
+
+ #include "../liblxqt-config-cursor/selectwnd.h"
+
+@@ -69,24 +65,6 @@
+
+ QSettings& qtSettings = *settings; // use lxqt config file for Qt settings in Qt5.
+
+- /*** Widget Style ***/
+- StyleConfig* stylePage = new StyleConfig(settings, &qtSettings, dialog);
+- dialog->addPage(stylePage, QObject::tr("Widget Style"), QStringList() << QStringLiteral("preferences-desktop-theme") << QStringLiteral("preferences-desktop"));
+- QObject::connect(dialog, &LXQt::ConfigDialog::reset, stylePage, &StyleConfig::initControls);
+- QObject::connect(stylePage, &StyleConfig::settingsChanged, dialog, [dialog] {
+- dialog->enableButton(QDialogButtonBox::Apply, true); // enable Apply button when something is changed
+- });
+- QObject::connect(stylePage, &StyleConfig::updateOtherSettings, configOtherToolKits, &ConfigOtherToolKits::setConfig);
+-
+- /*** Icon Theme ***/
+- IconThemeConfig* iconPage = new IconThemeConfig(settings, dialog);
+- dialog->addPage(iconPage, QObject::tr("Icons Theme"), QStringList() << QStringLiteral("preferences-desktop-icons") << QStringLiteral("preferences-desktop"));
+- QObject::connect(dialog, &LXQt::ConfigDialog::reset, iconPage, &IconThemeConfig::initControls);
+- QObject::connect(iconPage, &IconThemeConfig::settingsChanged, dialog, [dialog] {
+- dialog->enableButton(QDialogButtonBox::Apply, true);
+- });
+- QObject::connect(iconPage, &IconThemeConfig::updateOtherSettings, configOtherToolKits, &ConfigOtherToolKits::setConfig);
+-
+ /*** LXQt Theme ***/
+ LXQtThemeConfig* themePage = new LXQtThemeConfig(settings, dialog);
+ dialog->addPage(themePage, QObject::tr("LXQt Theme"), QStringList() << QStringLiteral("preferences-desktop-color") << QStringLiteral("preferences-desktop"));
+@@ -95,15 +73,6 @@
+ dialog->enableButton(QDialogButtonBox::Apply, true);
+ });
+
+- /*** Font ***/
+- FontsConfig* fontsPage = new FontsConfig(settings, &qtSettings, dialog);
+- dialog->addPage(fontsPage, QObject::tr("Font"), QStringList() << QStringLiteral("preferences-desktop-font") << QStringLiteral("preferences-desktop"));
+- QObject::connect(dialog, &LXQt::ConfigDialog::reset, fontsPage, &FontsConfig::initControls);
+- QObject::connect(fontsPage, &FontsConfig::updateOtherSettings, configOtherToolKits, &ConfigOtherToolKits::setConfig);
+- QObject::connect(fontsPage, &FontsConfig::settingsChanged, dialog, [dialog] {
+- dialog->enableButton(QDialogButtonBox::Apply, true);
+- });
+-
+ /*** Cursor Theme ***/
+ SelectWnd* cursorPage = new SelectWnd(sessionSettings, dialog);
+ cursorPage->setCurrent();
+@@ -112,25 +81,13 @@
+ dialog->enableButton(QDialogButtonBox::Apply, true);
+ });
+
+- /*** GTK Theme ***/
+- GTKConfig* GTKPage = new GTKConfig(&mConfigAppearanceSettings, configOtherToolKits, dialog);
+- dialog->addPage(GTKPage, QObject::tr("GTK Style"), QStringList() << QStringLiteral("gtk-preferences") << QStringLiteral("preferences-desktop"));
+- QObject::connect(dialog, &LXQt::ConfigDialog::reset, GTKPage, &GTKConfig::initControls);
+- QObject::connect(GTKPage, &GTKConfig::settingsChanged, dialog, [dialog] {
+- dialog->enableButton(QDialogButtonBox::Apply, true);
+- });
+-
+ // apply all changes on clicking Apply
+ QObject::connect(dialog, &LXQt::ConfigDialog::clicked, [=] (QDialogButtonBox::StandardButton btn) {
+ if (btn == QDialogButtonBox::Apply)
+ {
+ // FIXME: Update cursor style on Qt apps on wayland and GTK on X11.
+- iconPage->applyIconTheme();
+ themePage->applyLxqtTheme();
+- fontsPage->updateQtFont();
+ cursorPage->applyCusorTheme();
+- GTKPage->applyGTKStyle();
+- stylePage->applyStyle(); // Cursor and font have to be set before style
+ // disable Apply button after changes are applied
+ dialog->enableButton(btn, false);
+ }
diff --git a/lxqt-base/lxqt-config/lxqt-config-2.0.0-r1.ebuild b/lxqt-base/lxqt-config/lxqt-config-2.0.0-r1.ebuild
new file mode 100644
index 00000000..6564120d
--- /dev/null
+++ b/lxqt-base/lxqt-config/lxqt-config-2.0.0-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="$(ver_cut 1-2)"
+
+inherit cmake xdg-utils
+
+DESCRIPTION="LXQt system configuration control center"
+HOMEPAGE="https://lxqt-project.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
+else
+ SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 arm64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-2 GPL-2+ GPL-3 LGPL-2 LGPL-2+ LGPL-2.1+ WTFPL-2"
+SLOT="0"
+IUSE="+monitor +touchpad"
+
+BDEPEND="
+ >=dev-qt/qttools-6.6:6[linguist]
+ >=dev-util/lxqt-build-tools-2.0.0
+"
+DEPEND="
+ >=dev-libs/libqtxdg-4.0.0
+ >=dev-qt/qtbase-6.6:6[gui,widgets,xml]
+ >=dev-qt/qtsvg-6.6:6
+ =lxqt-base/liblxqt-${MY_PV}*:=
+ =lxqt-base/lxqt-menu-data-${MY_PV}*
+ sys-libs/zlib:=
+ x11-apps/setxkbmap
+ x11-libs/libxcb:=
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXfixes
+ monitor? ( kde-plasma/libkscreen:6= )
+ touchpad? (
+ virtual/libudev:=
+ x11-drivers/xf86-input-libinput
+ x11-libs/libXi
+ )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/"${PN}"-qt5ct.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_MONITOR=$(usex monitor)
+ -DWITH_TOUCHPAD=$(usex touchpad)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ doman man/*.1 liblxqt-config-cursor/man/*.1 lxqt-config-appearance/man/*.1
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}
diff --git a/lxqt-base/lxqt-meta/lxqt-meta-2.0.0-r1.ebuild b/lxqt-base/lxqt-meta/lxqt-meta-2.0.0-r2.ebuild
index 6020f2ac..a53747c6 100644
--- a/lxqt-base/lxqt-meta/lxqt-meta-2.0.0-r1.ebuild
+++ b/lxqt-base/lxqt-meta/lxqt-meta-2.0.0-r2.ebuild
@@ -18,7 +18,7 @@ SLOT="0"
IUSE="
+about admin +archiver +desktop-portal discover +display-manager +filemanager
+lximage networkmanager nls +openbox +policykit powermanagement +processviewer
- +screenshot +sddm ssh-askpass +sudo +terminal +trash +window-manager
+ qt5 qt6 +screenshot +sddm ssh-askpass +sudo +terminal +trash +window-manager
"
REQUIRED_USE="trash? ( filemanager )"
@@ -33,7 +33,6 @@ RDEPEND="
=lxqt-base/lxqt-menu-data-${MY_PV}*
=lxqt-base/lxqt-notificationd-${MY_PV}*
=lxqt-base/lxqt-panel-${MY_PV}*
- =lxqt-base/lxqt-qtplugin-${MY_PV}*
=lxqt-base/lxqt-runner-${MY_PV}*
=lxqt-base/lxqt-session-${MY_PV}*
virtual/ttf-fonts
@@ -58,6 +57,8 @@ RDEPEND="
policykit? ( =lxqt-base/lxqt-policykit-${MY_PV}* )
powermanagement? ( =lxqt-base/lxqt-powermanagement-${MY_PV}* )
processviewer? ( >=x11-misc/qps-2.9 )
+ qt5? ( x11-misc/qt5ct )
+ qt6? ( gui-apps/qt6ct )
screenshot? ( >=x11-misc/screengrab-2.8 )
sddm? ( x11-misc/sddm )
ssh-askpass? ( =lxqt-base/lxqt-openssh-askpass-${MY_PV}* )
diff --git a/lxqt-base/lxqt-session/Manifest b/lxqt-base/lxqt-session/Manifest
new file mode 100644
index 00000000..98e17f60
--- /dev/null
+++ b/lxqt-base/lxqt-session/Manifest
@@ -0,0 +1 @@
+DIST lxqt-session-2.0.0.tar.xz 194480 BLAKE2B 18954f9d440ad8a553b9ccf0aa6bb28a971e7d2010a5b8f0dc32080d5829654bdbc5dd5bd292a0285b1e75af4e0cb0fe4585061e86814c0976c69824015719b4 SHA512 c0b8bbcb666b55b0218bfe1e6669fff0de44a89986dae9afb17ae169e13a2816ef56e62d0b9210449023113a8066d45ccef4fa54b0a5c08c60c2ca4311f142ed
diff --git a/lxqt-base/lxqt-session/files/lxqt-session-qt5ct.patch b/lxqt-base/lxqt-session/files/lxqt-session-qt5ct.patch
new file mode 100644
index 00000000..ef83e373
--- /dev/null
+++ b/lxqt-base/lxqt-session/files/lxqt-session-qt5ct.patch
@@ -0,0 +1,16 @@
+diff '--color=auto' -Nur a/startlxqt.in b/startlxqt.in
+--- a/startlxqt.in 2024-04-17 12:22:25.000000000 +0100
++++ b/startlxqt.in 2024-09-30 03:19:21.606222756 +0100
+@@ -53,11 +53,8 @@
+ fi
+ fi
+
+-# Qt4 platform plugin
+-export QT_PLATFORM_PLUGIN=lxqt
+-
+ # Qt5 platform plugin
+-export QT_QPA_PLATFORMTHEME=lxqt
++export QT_QPA_PLATFORMTHEME=qt5ct
+
+ # use lxqt-applications.menu for main app menu
+ export XDG_MENU_PREFIX="lxqt-"
diff --git a/lxqt-base/lxqt-session/lxqt-session-2.0.0-r1.ebuild b/lxqt-base/lxqt-session/lxqt-session-2.0.0-r1.ebuild
new file mode 100644
index 00000000..a3c8aaff
--- /dev/null
+++ b/lxqt-base/lxqt-session/lxqt-session-2.0.0-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="LXQt Session Manager"
+HOMEPAGE="https://lxqt-project.org/"
+
+MY_PV="$(ver_cut 1-2)"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
+else
+ SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 arm64 ~riscv ~x86"
+fi
+
+LICENSE="LGPL-2.1 LGPL-2.1+"
+SLOT="0"
+IUSE="+udev"
+
+BDEPEND="
+ >=dev-qt/qttools-6.6:6[linguist]
+ >=dev-util/lxqt-build-tools-2.0.0
+"
+DEPEND="
+ >=app-misc/qtxdg-tools-4.0.0
+ >=dev-libs/libqtxdg-4.0.0
+ >=dev-qt/qtbase-6.6:6[dbus,gui,widgets]
+ kde-frameworks/kwindowsystem:6[X]
+ kde-plasma/layer-shell-qt:6
+ =lxqt-base/liblxqt-${MY_PV}*:=
+ sys-process/procps:=
+ x11-libs/libX11
+ x11-misc/xdg-user-dirs
+ udev? ( virtual/libudev:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/"${PN}"-qt5ct.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_LIBUDEV=$(usex udev)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ doman lxqt-config-session/man/*.1 lxqt-session/man/*.1
+
+ newenvd - 91lxqt-config-dir <<- _EOF_
+ XDG_CONFIG_DIRS='${EPREFIX}/usr/share'
+ _EOF_
+}