source: projects/specs/trunk/x/xorg-x11-xinit/Xclients @ 10990

Revision 10990, 3.2 KB checked in by iwaim, 7 years ago (diff)

xorg-x11-xinit 1.3.4-2

  • Property svn:executable set to *
Line 
1#!/bin/bash
2#                 by Jun Nishii <jun@vinelinux.org>
3#                 by Ryoichi INAGAKI <ryo1@bc.wakwak.com>
4#            Time-stamp: <2010-02-27 21:41:08 inagaki>
5
6msgfile="$HOME/.xwm.msgs"
7startWM(){
8    WM=$1
9    shift
10    CMD="$(type -p $1)"
11    shift
12    if [ -n "$CMD" ]; then
13        echo Starting $WM >>$msgfile
14        env > "$HOME"/Xrootenv.0
15        exec ${XSESSION_WRAPPER} $CMD $@ >>$msgfile 2>&1
16        return 0
17    fi
18    return -1
19}
20
21# First thing - check the user preferences
22if [ -f $HOME/.wm_style ] ; then
23    WMSTYLE=`cat $HOME/.wm_style`
24    case "$WMSTYLE" in
25        gnome*|Gnome*|GNOME*)
26            startWM Gnome gnome-session
27            ;;
28        startkde*|kde*|KDE*)
29            startWM KDE startkde
30            ;;
31        startxfce4*|xfce*|XFce*|XFCE*)
32            startWM XFce startxfce4
33            ;;
34        startlxde*|lxde*|LXDE*)
35            startWM lxde startlxde
36            ;;
37        startmate*|mate*|MATE*)
38            startWM Mate mate-session
39            ;;
40        wmaker*|WindowMaker*)
41            startWM WindowMaker RunWM --WindowMaker
42            ;;
43        afterstep*|Afterstep*|AfterStep*)
44            startWM AfterStep RunWM --AfterStep
45            ;;
46        blackbox*|BlackBox*|BLACKBOX*)
47            startWM BlackBox blackbox
48            ;;
49        fluxbox*|FluxBox*|FLUXBOX*)
50            startWM FluxBox startfluxbox
51            ;;
52        icewm*|IceWm*|ICEWM*)
53            startWM icewm icewm
54            ;;
55        enlightenment*|Enlightenment*|ENLIGHT*)
56            startWM Enlightenment enlightenment
57            ;;
58        sawfish*)
59            startWM sawfish sawfish
60            ;;
61        sawmill*)
62            startWM sawmill sawmill
63            ;;
64        qvwm*|QVWM*)
65            startWM qvwm qvwm
66            ;;
67        fvwm2*|FVWM2*)
68            startWM fvwm2 fvwm2
69            ;;
70        twm*|TWM*)
71            startWM twm twm &&\
72                 exec kterm -C -title Login -n Login -sb -geometry 80x25-0-0 -ls
73            ;;
74        default*)
75            startWM Gnome gnome-session
76            ;;
77    esac
78fi
79
80GSESSION="$(type -p gnome-session)"
81STARTKDE="$(type -p startkde)"
82
83# check to see if the user has a preferred desktop
84PREFERRED=
85if [ -f /etc/sysconfig/desktop ]; then
86    . /etc/sysconfig/desktop
87    if [ "$DESKTOP" = "GNOME" ]; then
88        PREFERRED="$GSESSION"
89    elif [ "$DESKTOP" = "KDE" ]; then
90        PREFERRED="$STARTKDE"
91    elif [ -n "`grep -i AnotherLevel /etc/sysconfig/desktop`" ]; then
92        PREFERRED=AnotherLevel
93    elif [ -x /usr/bin/gnome-session ]; then
94        PREFERRED=gnome-session
95    fi
96fi
97
98if [ -n "$PREFERRED" -a "$PREFERRED" != "AnotherLevel" ] && \
99        which $PREFERRED >/dev/null 2>&1; then
100    PREFERRED=`which $PREFERRED`
101    exec ${XSESSION_WRAPPER} $PREFERRED
102fi
103
104# We should also support /etc/X11/xinit/Xclients.d scripts
105XCLIENTS_D=/etc/X11/xinit/Xclients.d
106if [ "$#" -eq 1 ] && [ -x "$XCLIENTS_D/Xclients.$1.sh" ]; then
107    exec -l $SHELL -c "$SSH_AGENT $XCLIENTS_D/Xclients.$1.sh"
108fi
109
110# Failsafe.
111
112# these files are left sitting around by TheNextLevel.
113rm -f $HOME/Xrootenv.0
114
115# Argh! Nothing good is isntalled. Fall back to fvwm2 (win95-style) or twm
116{
117    # fall back to failsafe settings
118    [ -x /usr/bin/xsetroot ] && /usr/bin/xsetroot -solid '#222E45'
119
120    if [ -x /usr/bin/xclock ] ; then
121        /usr/bin/xclock -geometry 100x100-5+5 &
122    fi
123    if [ -x /usr/bin/kterm ] ; then
124        /usr/bin/kterm -geometry 80x50-50+150 &
125    fi
126    if [ -x /usr/bin/firefox -a -f /usr/share/doc/HTML/index.html ]; then
127        /usr/bin/firefox /usr/share/doc/HTML/index.html &
128    fi
129    startWM fvwm2 fvwm2 || startWM twm twm
130}
Note: See TracBrowser for help on using the repository browser.