[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]


Hi all 

So, a number of people have complained that GNOME has started up using
twm or whatever.  I think that if the WINDOW_MANAGER environment
variable isn't set, we shouldn't just blindly fall back to
x-window-manager.  After all, most of those managers aren't NETWM
compliant, and I don't know anyone who seriously wants to use twm with
GNOME.  So I suggest we look at x-window-manager, and if it's metacity
or sawfish, we accept that.  If not, we look for metacity or sawfish,
and take one of them if present.  If neither are present, then we just
use whatever is in x-window-manager. 

This kind of goes along with the idea of software which Just Works.  We
know other window managers are more or less totally broken with respect
to GNOME.  If someone even knows what a window manager is, and they want
to use a particular WM, they can learn about the WINDOW_MANAGER
environment variable. 

I know that we tried to implement this indirectly by raising the
priority of NETWM compliant window managers, but because metacity
doesn't implement the Debian menu system itself, it has a lower
priority.  So I suggest we just regard that attempt at modifying policy
as a failure. 

Attached is a patch (not tested yet, waiting on my chroot to build)
written which implements this.  If no one has any objections, I'll
commit it to our gnome-session CVS. 

--- gnome-wm.~1.2.~	2002-10-25 14:51:05.000000000 -0400
+++ gnome-wm	2002-10-29 13:39:09.000000000 -0500
@@ -36,6 +36,8 @@
+NETWM_WINDOW_MANAGERS="/usr/bin/sawfish /usr/bin/metacity"
 # Get default wm out of x-window-manager
 if [ ! "$WINDOW_MANAGER" ]; then
   # Get --default-wm
@@ -46,6 +48,15 @@
     WINDOW_MANAGER=`readlink /etc/alternatives/x-window-manager` 2> /dev/null
+    case "$WINDOW_MANAGER" in
+	metacity|sawfish) ;;
+	*) for wm in $NETWM_WINDOW_MANAGERS; do
+	    if [ -x "$wm" ]; then
+	    fi;
+	   done
+	   ;;
+    esac

Reply to: