Files
2024-02-19 00:21:16 -05:00

84 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
# $Header: /home/x_cvs/mit/clients/xinit/startx.cpp,v 1.3 1992/09/29 15:25:11 dawes Exp $
# $XConsortium: startx.cpp,v 1.4 91/08/22 11:41:29 rws Exp $
#
# This is just a sample implementation of a slightly less primitive
# interface than xinit. It looks for user .xinitrc and .xserverrc
# files, then system xinitrc and xserverrc files, else lets xinit choose
# its default. The system xinitrc should probably do things like check
# for .Xresources files and merge them in, startup up a window manager,
# and pop a clock and serveral xterms.
#
# Site administrators are STRONGLY urged to write nicer versions.
#
userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=/usr/X386/lib/X11/xinit/xinitrc
sysserverrc=/usr/X386/lib/X11/xinit/xserverrc
clientargs=""
serverargs="-pn" # remove -pn if you have tcp installed
BIN_DIR=/usr/X386/bin
if [ -f $userclientrc ]; then
clientargs=$userclientrc
else if [ -f $sysclientrc ]; then
clientargs=$sysclientrc
fi
fi
if [ -f $userserverrc ]; then
serverargs=$userserverrc
else if [ -f $sysserverrc ]; then
serverargs=$sysserverrc
fi
fi
whoseargs="client"
have_server=0
while [ "x$1" != "x" ]; do
case "$1" in
/''*|\.*) if [ "$whoseargs" = "client" ]; then
clientargs="$1"
else
serverargs="$1"
have_server=1
fi ;;
--) whoseargs="server" ;;
*) if [ "$whoseargs" = "client" ]; then
clientargs="$clientargs $1"
else
if [ "$have_server" = 0 ]; then
if [ -x $BIN_DIR/"$1" ]; then
serverargs=$BIN_DIR/"$1"
have_server=1
else
serverargs="$serverargs $1"
fi
else
serverargs="$serverargs $1"
fi
fi ;;
esac
shift
done
xinit $clientargs -- $serverargs