4 echo "Syntax: openbox-gnome-session"
6 echo "See the openbox-gnome-session(1) manpage for help."
11 xprop
-root -remove _NET_NUMBER_OF_DESKTOPS \
12 -remove _NET_DESKTOP_NAMES \
13 -remove _NET_CURRENT_DESKTOP
2> /dev
/null
15 VER
=$
(gnome-session
--version 2>/dev
/null | \
16 sed -e 's/[^0-9.]*\([0-9.]\+\)/\1/')
18 MAJOR
=$
(echo $VER | cut
-d .
-f 1)
19 MINOR
=$
(echo $VER | cut
-d .
-f 2)
21 # run GNOME with Openbox as its window manager
23 if test $MAJOR -lt 2 ||
(test $MAJOR = 2 && test $MINOR -le 22); then
24 # older gnome-session was easy to work with
25 export WINDOW_MANAGER
="@bindir@/openbox"
26 exec gnome-session
--choose-session=openbox-session
"$@"
27 elif test $MAJOR -lt 3; then
28 # old gnome-session requires openbox to be set in gconf and an
29 # openbox.desktop to be installed in the applications directory
31 SPATH
=/desktop
/gnome
/session
33 # get the current default session
34 SESSION
=$
(gconftool-2
-g $SPATH/default_session
2> /dev
/null
)
36 # make sure openbox is going to be run
37 if test -z "$SESSION"; then
38 # if its empty then just run openbox
40 elif ! echo "$SESSION" |
grep -q openbox
; then
41 # if openbox isn't in the session then append it
42 SESSION
="${SESSION%]},openbox]"
45 # get the current GNOME/Openbox session
46 OB_SESSION
=$
(gconftool-2
-g $SPATH/openbox_session
2> /dev
/null
)
48 # update the GNOME/Openbox session if needed
49 if test x
$OB_SESSION != x
$SESSION; then
50 # the default session changed or we didn't run GNOME/Openbox before
51 gconftool-2
-t list
--list-type=strings -s $SPATH/openbox_session \
52 "$SESSION" 2> /dev
/null
56 exec gnome-session
--default-session-key $SPATH/openbox_session
"$@"
58 # new gnome-session requires session file installed in
59 # /usr/share/gnome-session/sessions as well as openbox.desktop to be
60 # installed in the applications directory
62 exec gnome-session
--session=openbox-gnome