Nico Golde wrote:
> Hi,
> * Jim Paris <j...@jtan.com> [2010-12-10 23:39]:
> > Josselin Mouette wrote:
> > > Le mercredi 24 novembre 2010 à 14:16 -0500, Jim Paris a écrit :
> > > > I can confirm that the "very simple" approach of just setting
> > > > WINDOW_MANAGER and exec'ing gnome-session does seem to work fine for
> > > > gnome-session 2.30.  Maybe this approach was broken for some
> > > > interim versions?  Upstream may care about that, but Debian doesn't
> > > > have to, as openbox can just Conflict with the bad gnome-session
> > > > versions (< 2.30?).
> > > 
> > > It never ceased to work in Debian, but it might have ceased to work
> > > upstream - it???s even highly probable.
> > 
> > Based on Josselin's input, here is a patch I'd suggest for the Debian
> > openbox package.  The patch is against
> >   svn://svn.debian.org/svn/collab-maint/deb-maint/openbox/trunk
> 
> i think you forgot to attach it :)

Of course :)

-jim
Index: debian/patches/04_simplify_gnome_session.patch
===================================================================
--- debian/patches/04_simplify_gnome_session.patch	(revision 0)
+++ debian/patches/04_simplify_gnome_session.patch	(revision 0)
@@ -0,0 +1,63 @@
+Simplify gnome-session as per Bug#604043.
+The horrible hacks present in openbox upstream may have been necessary for
+gnome upstream, but the simple method of just setting WINDOW_MANAGER has
+always worked in Debian and should continue to work reliably.
+
+Jim Paris <j...@jtan.com>
+
+Index: openbox-3.4.11.1/data/xsession/openbox-gnome-session.in
+===================================================================
+--- openbox-3.4.11.1.orig/data/xsession/openbox-gnome-session.in	2010-12-10 17:23:42.000000000 -0500
++++ openbox-3.4.11.1/data/xsession/openbox-gnome-session.in	2010-12-10 17:23:31.000000000 -0500
+@@ -12,49 +12,5 @@
+       -remove _NET_DESKTOP_NAMES \
+       -remove _NET_CURRENT_DESKTOP 2> /dev/null
+ 
+-VER=$(gnome-session --version 2>/dev/null | \
+-      sed -e 's/[^0-9.]*\([0-9.]\+\)/\1/')
+-
+-MAJOR=$(echo $VER | cut -d . -f 1)
+-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
+-  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
+-  # openbox.desktop to be installed in the applications directory
+-
+-  SPATH=/desktop/gnome/session
+-
+-  # get the current default session
+-  SESSION=$(gconftool-2 -g $SPATH/default_session 2> /dev/null)
+-
+-  # make sure openbox is going to be run
+-  if test -z "$SESSION"; then
+-      # if its empty then just run openbox
+-      SESSION="[openbox]"
+-  elif ! echo "$SESSION" | grep -q openbox; then
+-      # if openbox isn't in the session then append it
+-      SESSION="${SESSION%]},openbox]"
+-  fi
+-
+-  # get the current GNOME/Openbox session
+-  OB_SESSION=$(gconftool-2 -g $SPATH/openbox_session 2> /dev/null)
+-
+-  # update the GNOME/Openbox session if needed
+-  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
+-  fi
+-
+-  # run GNOME/Openbox
+-  exec gnome-session --default-session-key $SPATH/openbox_session "$@"
+-fi
+-
+-
+-
++export WINDOW_MANAGER=openbox
++exec gnome-session
Index: debian/patches/series
===================================================================
--- debian/patches/series	(revision 17798)
+++ debian/patches/series	(working copy)
@@ -1,3 +1,4 @@
 03_place_windows_in_quadrants.patch
 02_fix_freedesktop_compliance.patch
 01_rc.xml.patch
+04_simplify_gnome_session.patch

Reply via email to