From 3f870080de978e905f764b6cbc8e662a419d8983 Mon Sep 17 00:00:00 2001 From: Geoffrey Antos Date: Fri, 7 Oct 2011 09:29:30 -0400 Subject: [PATCH] Make openbox-gnome-session compatible with gnome3 with gnome-session 3.0+ support. Yay they did something nice and made it easier for other window managers to be used. How unexpected and pleasant. --- Makefile.am | 5 +++++ data/xsession/openbox-gnome-session.in | 12 +++++++++--- data/xsession/openbox-gnome.session | 6 ++++++ 3 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 data/xsession/openbox-gnome.session diff --git a/Makefile.am b/Makefile.am index c62a594..7ed1f6a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,6 +6,7 @@ localedir = $(datadir)/locale configdir = $(sysconfdir)/xdg rcdir = $(configdir)/openbox xsessionsdir = $(datadir)/xsessions +gnomesessiondir = $(datadir)/gnome-session/sessions gnomewmfilesdir = $(datadir)/gnome/wm-properties pkgconfigdir = $(libdir)/pkgconfig obtpubincludedir= $(includedir)/openbox/@OBT_VERSION@/obt @@ -513,6 +514,9 @@ nodist_xsessions_DATA = \ data/xsession/openbox-gnome.desktop \ data/xsession/openbox-kde.desktop +dist_gnomesession_DATA = \ + data/xsession/openbox-gnome.session + dist_noinst_DATA = \ data/rc.xsd \ data/menu.xsd \ @@ -581,6 +585,7 @@ EXTRA_DIST = \ CLEANFILES = \ $(nodist_man_MANS) \ $(nodist_bin_SCRIPTS) \ + $(dist_gnomesession_DATA) \ $(nodist_xsessions_DATA) \ $(nodist_rc_SCRIPTS) \ $(nodist_libexec_SCRIPTS) diff --git a/data/xsession/openbox-gnome-session.in b/data/xsession/openbox-gnome-session.in index 8dd799c..f31c9ad 100644 --- a/data/xsession/openbox-gnome-session.in +++ b/data/xsession/openbox-gnome-session.in @@ -21,11 +21,11 @@ MINOR=$(echo $VER | cut -d . -f 2) # 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 @@ -54,6 +54,12 @@ else # 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 diff --git a/data/xsession/openbox-gnome.session b/data/xsession/openbox-gnome.session new file mode 100644 index 0000000..2d8f07b --- /dev/null +++ b/data/xsession/openbox-gnome.session @@ -0,0 +1,6 @@ +[GNOME Session] +Name=GNOME/Openbox +RequiredComponents=gnome-panel;gnome-settings-daemon; +RequiredProviders=windowmanager;notifications; +DefaultProvider-windowmanager=openbox +DefaultProvider-notifications=notification-daemon -- 1.9.1