You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
3.2 KiB
100 lines
3.2 KiB
#!/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="@PREDEF_XDG_DATA_DIRS@"
|
|
else
|
|
if ! contains "$XDG_DATA_DIRS" "@LXQT_DATA_DIR@"; then
|
|
XDG_DATA_DIRS="$XDG_DATA_DIRS:@LXQT_DATA_DIR@"
|
|
fi
|
|
fi
|
|
export XDG_DATA_DIRS
|
|
|
|
if [ -z "$XDG_CONFIG_DIRS" ]; then
|
|
export XDG_CONFIG_DIRS="@LXQT_ETC_XDG_DIR@"
|
|
else
|
|
if ! contains "$XDG_CONFIG_DIRS" '@LXQT_ETC_XDG_DIR@'; then
|
|
XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS:@LXQT_ETC_XDG_DIR@"
|
|
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 '@LXQT_ETC_XDG_DIR@/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='@LXQT_ETC_XDG_DIR@/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=lxqt
|
|
|
|
# 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
|