diff options
Diffstat (limited to 'user/lxqt-desktop/startlxqt')
-rwxr-xr-x | user/lxqt-desktop/startlxqt | 99 |
1 files changed, 99 insertions, 0 deletions
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 |