summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKiyoshi Aman <kiyoshi.aman+adelie@gmail.com>2018-03-18 15:21:16 -0500
committerKiyoshi Aman <kiyoshi.aman+adelie@gmail.com>2018-03-18 16:29:34 -0500
commitd062a4f8807247b5b85ce73983c31a2f5af39de8 (patch)
treea23a118b0084f081eadd619baf035f79ac367f5d
parent200a6ef26067072d7852d68cc5f1c20dfc35c415 (diff)
downloadpackages-d062a4f8807247b5b85ce73983c31a2f5af39de8.tar.gz
packages-d062a4f8807247b5b85ce73983c31a2f5af39de8.tar.bz2
packages-d062a4f8807247b5b85ce73983c31a2f5af39de8.tar.xz
packages-d062a4f8807247b5b85ce73983c31a2f5af39de8.zip
user/lxqt-desktop: depend on qt5ct, install startlxqt compatible with it
This also removes the compton-conf dependency, since at the moment we don't actually ship compton.
-rw-r--r--user/lxqt-desktop/APKBUILD14
-rwxr-xr-xuser/lxqt-desktop/startlxqt99
-rw-r--r--user/lxqt-desktop/startlxqt.148
3 files changed, 156 insertions, 5 deletions
diff --git a/user/lxqt-desktop/APKBUILD b/user/lxqt-desktop/APKBUILD
index 6bb3ce183..292947995 100644
--- a/user/lxqt-desktop/APKBUILD
+++ b/user/lxqt-desktop/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Kiyoshi Aman <kiyoshi.aman+adelie@gmail.com>
pkgname=lxqt-desktop
pkgver=0.12.0
-pkgrel=1
+pkgrel=2
arch="noarch"
pkgdesc="Complete LXQt desktop"
url="https://lxqt.org"
@@ -12,11 +12,11 @@ depends="breeze breeze-icons oxygen ttf-liberation xorg-server dbus-x11 openbox
lxqt-panel lxqt-runner lxqt-qtplugin qterminal pcmanfm-qt lxqt-sudo
lxqt-session lxqt-powermanagement lxqt-policykit lxqt-openssh-askpass
lxqt-notificationd lxqt-globalkeys lxqt-config lxqt-admin lxqt-about
- lximage-qt lxqt-themes pavucontrol-qt compton-conf"
+ lximage-qt lxqt-themes pavucontrol-qt qt5ct"
makedepends=""
install=""
-subpackages=""
-source="org.adelie-linux.about-lxqt.desktop"
+subpackages="$pkgname-doc"
+source="org.adelie-linux.about-lxqt.desktop startlxqt startlxqt.1"
builddir="$srcdir/$pkgname-$pkgver"
build() {
@@ -27,5 +27,9 @@ package() {
cd "$srcdir"
install -D -m644 "$srcdir"/org.adelie-linux.about-lxqt.desktop \
"$pkgdir"/usr/share/applications/org.adelie-linux.about-lxqt.desktop
+ install -D -m755 "$srcdir"/startlxqt "$pkgdir"/usr/bin/startlxqt
+ install -D -m644 "$srcdir"/startlxqt.1 "$pkgdir"/usr/share/man/man1/startlxqt.1
}
-sha512sums="e954a41cad44cad7ef3a7695c28396540556ee7bc374ee00f95c4117988d84f6989de7a030ddf11e426b895577e392100f8c5696f0cc3fdc03c2500498580af0 org.adelie-linux.about-lxqt.desktop"
+sha512sums="e954a41cad44cad7ef3a7695c28396540556ee7bc374ee00f95c4117988d84f6989de7a030ddf11e426b895577e392100f8c5696f0cc3fdc03c2500498580af0 org.adelie-linux.about-lxqt.desktop
+f520387e49335df3fb7fa972e3f1336e4841feb24c073dc0b777a400274087a00ec4c9f89bda4556d80a0622854d7131f771c866c921174473456a9a80582a5c startlxqt
+4a56f5bd9364cac0cb32dd119ff209452249efff9de3be20297c1db6524dd1ef24ed7249f22a738a82dab4e61481e11dcceaf9e9474620fa1ca0b1616aa7dfe7 startlxqt.1"
diff --git a/user/lxqt-desktop/startlxqt b/user/lxqt-desktop/startlxqt
new file mode 100755
index 000000000..09b73f337
--- /dev/null
+++ b/user/lxqt-desktop/startlxqt
@@ -0,0 +1,99 @@
+#!/bin/sh
+
+contains()
+{
+ local str="$1" substr="$2"
+ [ "$str" = "$substr" -o -z "${str##$substr:*}" -o -z "${str##*:$substr:*}" -o -z "${str%%*:$substr}" ]
+}
+
+if [ -z "$XDG_DATA_HOME" ]; then
+ export XDG_DATA_HOME="$HOME/.local/share"
+fi
+
+if [ -z "$XDG_CONFIG_HOME" ]; then
+ export XDG_CONFIG_HOME="$HOME/.config"
+fi
+
+if [ -z "$XDG_DATA_DIRS" ]; then
+ XDG_DATA_DIRS="$XDG_DATA_HOME:/usr/local/share:/usr/share"
+else
+ if ! contains "$XDG_DATA_DIRS" "/usr/share"; then
+ XDG_DATA_DIRS="$XDG_DATA_DIRS:/usr/share"
+ fi
+fi
+export XDG_DATA_DIRS
+
+if [ -z "$XDG_CONFIG_DIRS" ]; then
+ export XDG_CONFIG_DIRS="/etc/xdg"
+else
+ if ! contains "$XDG_CONFIG_DIRS" '/etc/xdg'; then
+ XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS:/etc/xdg"
+ fi
+fi
+
+if [ -z "$XDG_CACHE_HOME" ]; then
+ export XDG_CACHE_HOME="$HOME/.cache"
+fi
+
+# Ensure the existance of the 'Desktop' folder
+if [ -e "$XDG_CONFIG_HOME/user-dirs.dirs" ]; then
+ . "$XDG_CONFIG_HOME/user-dirs.dirs"
+else
+ XDG_DESKTOP_DIR="$HOME/Desktop"
+fi
+mkdir -p "$XDG_DESKTOP_DIR"
+
+# Clean up after GDM (GDM sets the number of desktops to one)
+xprop -root -remove _NET_NUMBER_OF_DESKTOPS -remove _NET_DESKTOP_NAMES -remove _NET_CURRENT_DESKTOP 2> /dev/null
+
+# Enable Qt integration for OpenOffice.org, if available.
+if [ -z "$SAL_USE_VCLPLUGIN" ]; then
+ export SAL_USE_VCLPLUGIN=kde4
+fi
+
+# Launch DBus if needed
+if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
+ if [ -z "$XDG_RUNTIME_DIR" ] || ! [ -S "$XDG_RUNTIME_DIR/bus" ] || ! [ -O "$XDG_RUNTIME_DIR/bus" ]; then
+ eval "$(dbus-launch --sh-syntax --exit-with-session)" || echo "startlxqt: error executing dbus-launch" >&2
+ fi
+fi
+
+# Copy default settings of openbox
+if [ ! -e "$XDG_CONFIG_HOME/openbox/lxqt-rc.xml" ] ; then
+ ob_config_copied=0
+ for considered_file in 'lxde-rc.xml' 'rc.xml'; do
+ if [ -e "$XDG_CONFIG_HOME/openbox/$considered_file" ]; then
+ #copy existing configuration of openbox
+ cp "$XDG_CONFIG_HOME/openbox/$considered_file" "$XDG_CONFIG_HOME/openbox/lxqt-rc.xml"
+ message="Your existing configuration for openbox '$XDG_CONFIG_HOME/openbox/$considered_file' was used to
+fill the LXQt's openbox configuration '$XDG_CONFIG_HOME/openbox/lxqt-rc.xml'.
+If you want to use the predefined LXQt's openbox configuration, run:
+ cp '/etc/xdg/openbox/lxqt-rc.xml' '$XDG_CONFIG_HOME/openbox'"
+ echo "$message" >&2
+ xmessage -center -title "LXQt Openbox configuration" "$message" &
+ ob_config_copied=1
+ break
+ fi
+ done
+ if [ 0 -eq "$ob_config_copied" ]; then
+ #copy predefined configuration
+ mkdir -p "$XDG_CONFIG_HOME/openbox"
+ #user/distribution can change the default configuration via LXQT_DEFAULT_OPENBOX_CONFIG
+ [ -r "$LXQT_DEFAULT_OPENBOX_CONFIG" ] || LXQT_DEFAULT_OPENBOX_CONFIG='/etc/xdg/openbox/lxqt-rc.xml'
+ cp "$LXQT_DEFAULT_OPENBOX_CONFIG" "$XDG_CONFIG_HOME/openbox"
+ fi
+fi
+
+# Qt4 platform plugin
+export QT_PLATFORM_PLUGIN=lxqt
+
+# Qt5 platform plugin
+export QT_QPA_PLATFORMTHEME=qt5ct
+
+# use lxqt-applications.menu for main app menu
+export XDG_MENU_PREFIX="lxqt-"
+
+export XDG_CURRENT_DESKTOP="LXQt"
+
+# Start the LXQt session
+exec lxqt-session
diff --git a/user/lxqt-desktop/startlxqt.1 b/user/lxqt-desktop/startlxqt.1
new file mode 100644
index 000000000..9eaba0337
--- /dev/null
+++ b/user/lxqt-desktop/startlxqt.1
@@ -0,0 +1,48 @@
+.TH STARTLXQT 1 2015-11-03 "LXQt 0.10.0" "LXQt session management"
+.SH NAME
+startlxqt \- script to initialize and launch LXQt sessions
+.SH SYNOPSIS
+.B startlxqt
+.SH DESCRIPTION
+\fBstartlxqt\fR is a shell script meant to initialize and launch LXQt sessions.
+It is as such similar to counterparts of other desktop environments like startlxde in
+LXDE or startkde in KDE.
+.P
+It's main tasks are exporting environment variables, partly after performing
+corresponding checks, and launching \fBlxqt-session\fR, the LXQt session manager.
+.P
+It is not meant to be run by users.
+Rather, it is invoked as backend, e. g. by script \fBstartx\fR on virtual terminals or display
+managers like SDDM or LightDM, see section \fIEXAMPLE\fR.
+.SH FILES
+.I $XDG_DATA_DIRS/xsessions/lxqt.desktop
+.RS 5
+Desktop entry file stating startlxqt as binary needed to start LXQt sessions. Sourced e. g.
+by display managers.
+.RE
+.SH BUGS
+None at the time of this writing. Bugs can be reported on https://github.com/lxde/lxqt/issues.
+.SH EXAMPLE
+To start an LXQt session from a virtual terminal (virtual console) add a line
+.P
+.RS 5
+exec startlxqt
+.RE
+.P
+to file \fI~/.xinitrc\fR. An LXQt session will then be launched by running \fBstartx\fR.
+.P
+Display managers are making use of scripts like \fBstartlxqt\fR automatically. Information about
+available desktop environments is provided by files \fI$XDG_DATA_DIRS/xsessions/*.desktop\fR, typically
+\fI/usr/share/xessions/*.desktop\fR.
+.br
+File \fIlxqt.desktop\fR provided by LXQt is stating \fBstartlxqt\fR in key \fIExec\fR while making sure the session
+manager \fBlxqt-session\fR does exist by stating it in key \fITryExec\fR.
+.SH SEE ALSO
+.BR lxqt-session (1)
+.BR startx (1)
+.BR sddm (1)
+.P
+.B http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec/
+.RS 5
+Desktop Entry Specification defining desktop entry files (*.desktop).
+.RE