# run GNOME with Openbox as its window manager
if test $MAJOR -lt 2 || (test $MAJOR = 2 && test $MINOR -le 22); then
- # old gnome-session was easy to work with
+ # older gnome-session was easy to work with
export WINDOW_MANAGER="@bindir@/openbox"
exec gnome-session --choose-session=openbox-session "$@"
-else
- # new gnome-session requires openbox to be set in gconf and an
+elif test $MAJOR -lt 3; then
+ # old gnome-session requires openbox to be set in gconf and an
# openbox.desktop to be installed in the applications directory
SPATH=/desktop/gnome/session
if test -z "$SESSION"; then
# if its empty then just run openbox
SESSION="[openbox]"
- elif test -z $(echo "$SESSION" | grep -q openbox); then
+ elif ! echo "$SESSION" | grep -q openbox; then
# if openbox isn't in the session then append it
SESSION="${SESSION%]},openbox]"
fi
OB_SESSION=$(gconftool-2 -g $SPATH/openbox_session 2> /dev/null)
# update the GNOME/Openbox session if needed
- if x$OB_SESSION != x$SESSION; then
+ if test x$OB_SESSION != x$SESSION; then
# the default session changed or we didn't run GNOME/Openbox before
gconftool-2 -t list --list-type=strings -s $SPATH/openbox_session \
"$SESSION" 2> /dev/null
# run GNOME/Openbox
exec gnome-session --default-session-key $SPATH/openbox_session "$@"
+else
+ # new gnome-session requires session file installed in
+ # /usr/share/gnome-session/sessions as well as openbox.desktop to be
+ # installed in the applications directory
+
+ exec gnome-session --session=openbox-gnome
fi