Re: install and activate!

Graydon (oak@uniserve.com)
Mon, 26 Jan 2004 14:46:51 -0500


On Mon, Jan 26, 2004 at 02:11:26PM -0500, Polashek, Matthew scripsit:
> Hi!
> 	I have a redhat system that I want to install Afterstep.  I assume
> I'll have to remove the GTK thing somehow right?  (I have to try to lean how
> these GUIs are structured and how they relate to X)  any help would be
> greatly appreciated!

No, you don't; the window managers are X applications, and independent
of each other.

On a redhat system (or Fedora), there's a file

        /etc/sysconfig/desktop

which is currently going to say something (presumably DESKTOP="GNOME");
you want it to say

        DESKTOP="AFTERSTEP"

(this will make AfterStep the default window manager for everyone on
 that box, but since I expect that it's _your_ box, this is not a
 problem.)

The other problems is that the system Xclients file, 

        /etc/X11/xinit/Xclients

will run Windowmaker when you ask for AfterStep, because RedHat hasn't
shipped an AfterStep in a very long time.

The fix for this is to adjust your local, $HOME/.Xclients, so that it
has an entry for AfterStep.  (since if you adjust the global one, it
will get stomped very time the 'xinitrc' package is updated.)

I've appended my .Xclients file; it invokes AfterStep using askpass, so
you can run ssh-add out of auto-exec and have key-based ssh support for
everything you're running.

Add the line 

        Exec    "I">/usr/bin/ssh-add

to your .afterstep/autoexec file if you want to use that, in the
InitFunction block.

This file could probably be neater -- I don't think it's technically the
correct place to invoke all the Xresources stuff -- but it does the job.

=======.Xclients======= 
#!/bin/bash
# Copyright 1999 - 2001 Red Hat, Inc.
# License:  GNU General Public License v2
# maimed and mangled by Graydon Saunders, graydon@epiphyte.net
# 2003 12 04

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
    xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi

# check to see if the user has a preferred desktop
if [ -f /etc/sysconfig/desktop ]; then
    . /etc/sysconfig/desktop
    if [ "$DESKTOP" = "GNOME" ]; then
	PREFERRED=gnome-session
    elif [ "$DESKTOP" = "KDE" ]; then
	PREFERRED=startkde
    elif [ "$DESKTOP" = "WINDOWMAKER" ]; then
        PREFERRED=wmaker
    elif [ "$DESKTOP" = "AFTERSTEP" ]; then
        PREFERRED=afterstep
    fi
fi

if [ -n "$PREFERRED" ] && which $PREFERRED >/dev/null 2>&1; then
    PREFERRED=`which $PREFERRED`
    exec $ASKPASS $PREFERRED
fi

# now if we can reach here, either no desktop file was present,
# or the desktop requested is not installed.

if [ -z "$PREFERRED" ]; then
 
    GSESSION=gnome-session
    STARTKDE=startkde
    ASKPASS=/usr/bin/ssh-agent
 
    # by default, we run GNOME.
    if which $GSESSION >/dev/null 2>&1; then
	exec $ASKPASS `which $GSESSION`
    fi

    # if GNOME isn't installed, try KDE.
    if which $STARTKDE >/dev/null 2>&1; then
	exec $ASKPASS `which $STARTKDE`
    fi
fi

# Failsafe.

# these files are left sitting around by TheNextLevel.
rm -f $HOME/Xrootenv.0
rm -f /tmp/fvwmrc* 2>/dev/null

# First thing - check the user preferences
if [ -f $HOME/.wm_style ] ; then
    WMSTYLE=`cat $HOME/.wm_style |tr A-Z a-z`
    case "$WMSTYLE" in 
	afterstep|windowmaker|mmaker)
#	exec /usr/X11R6/bin/RunWM --WindowMaker
	exec $ASKPASS /usr/X11R6/bin/afterstep
	;;
	fvwm95|fvwm|fvwm2)
	exec /usr/X11R6/bin/RunWM --Fvwm95
	;;
	mwm|lesstif)
	exec /usr/X11R6/bin/RunWM --FvwmMWM
	;;
    esac
fi

# Argh! Nothing good is installed. Fall back to fvwm2 (win95-style) or twm
/usr/X11R6/bin/RunWM --Fvwm95 || {
    # gosh, neither fvwm95 nor fvwm2 is available; 
    # fall back to failsafe settings
    xclock -geometry 100x100-5+5 &
    xterm -geometry 80x50-50+150 &
    if [ -f /usr/bin/mozilla -a -f /usr/share/doc/HTML/index.html ]; then
	mozilla /usr/share/doc/HTML/index.html &
    fi
    if [ -f /usr/X11R6/bin/fvwm ]; then
	exec fvwm
    else
	exec twm
    fi
}


-- 
oak@uniserve.com
_______________________________________________
The AfterStep Window Manager for X User's Mailing List
http://mail.afterstep.org/mailman/listinfo/as-users