33 lines
854 B
Text
Executable file
33 lines
854 B
Text
Executable file
[ -f ~/.xprofile ] && . ~/.xprofile
|
|
[ -f ~/.setpath.sh ] && . ~/.setpath.sh
|
|
|
|
AUTHORISED_WM="qtile i3"
|
|
AVAILABLE_WM=""
|
|
REQUESTED_WM="$1"
|
|
|
|
for wm in $AUTHORISED_WM; do
|
|
if hash "$wm" 2>/dev/null; then
|
|
if [ "$AVAILABLE_WM" ]; then
|
|
AVAILABLE_WM="$AVAILABLE_WM $wm"
|
|
else
|
|
AVAILABLE_WM="$wm"
|
|
fi
|
|
fi
|
|
done
|
|
if [ ! "$AVAILABLE_WM" ]; then
|
|
>&2 echo "Error: No window manager found. Please install one of the following:"
|
|
>&2 echo "$AUTHORISED_WM"
|
|
exit 1
|
|
fi
|
|
|
|
WM=$(echo "$AVAILABLE_WM" | tr ' ' '\n' | head -n1)
|
|
if [ "$REQUESTED_WM" ]; then
|
|
found=$(echo "$AVAILABLE_WM" | tr ' ' '\n' | grep -w "$REQUESTED_WM")
|
|
if [ "$found" ]; then
|
|
WM="$found"
|
|
else
|
|
>&2 echo "Warning: $REQUESTED_WM not found, starting the default window manager."
|
|
fi
|
|
fi
|
|
|
|
exec "$WM" 2>/tmp/xinit.err.log
|