From d062a4f8807247b5b85ce73983c31a2f5af39de8 Mon Sep 17 00:00:00 2001 From: Kiyoshi Aman Date: Sun, 18 Mar 2018 15:21:16 -0500 Subject: 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. --- user/lxqt-desktop/APKBUILD | 14 +++--- user/lxqt-desktop/startlxqt | 99 +++++++++++++++++++++++++++++++++++++++++++ user/lxqt-desktop/startlxqt.1 | 48 +++++++++++++++++++++ 3 files changed, 156 insertions(+), 5 deletions(-) create mode 100755 user/lxqt-desktop/startlxqt create mode 100644 user/lxqt-desktop/startlxqt.1 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 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 -- cgit v1.2.3-70-g09d2