home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / X / mit / clients / xinit / startx.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1991-08-22  |  1.5 KB  |  67 lines

  1. XCOMM!/bin/sh
  2.  
  3. XCOMM $XConsortium: startx.cpp,v 1.4 91/08/22 11:41:29 rws Exp $
  4. XCOMM 
  5. XCOMM This is just a sample implementation of a slightly less primitive 
  6. XCOMM interface than xinit.  It looks for user .xinitrc and .xserverrc
  7. XCOMM files, then system xinitrc and xserverrc files, else lets xinit choose
  8. XCOMM its default.  The system xinitrc should probably do things like check
  9. XCOMM for .Xresources files and merge them in, startup up a window manager,
  10. XCOMM and pop a clock and serveral xterms.
  11. XCOMM
  12. XCOMM Site administrators are STRONGLY urged to write nicer versions.
  13. XCOMM 
  14.  
  15. userclientrc=$HOME/.xinitrc
  16. userserverrc=$HOME/.xserverrc
  17. sysclientrc=XINITDIR/xinitrc
  18. sysserverrc=XINITDIR/xserverrc
  19. clientargs=""
  20. serverargs=""
  21.  
  22. if [ -f $userclientrc ]; then
  23.     clientargs=$userclientrc
  24. else if [ -f $sysclientrc ]; then
  25.     clientargs=$sysclientrc
  26. fi
  27. fi
  28.  
  29. if [ -f $userserverrc ]; then
  30.     serverargs=$userserverrc
  31. else if [ -f $sysserverrc ]; then
  32.     serverargs=$sysserverrc
  33. fi
  34. fi
  35.  
  36. whoseargs="client"
  37. while [ "x$1" != "x" ]; do
  38.     case "$1" in
  39.     /''*|\.*)    if [ "$whoseargs" = "client" ]; then
  40.             clientargs="$1"
  41.         else
  42.             serverargs="$1"
  43.         fi ;;
  44.     --)    whoseargs="server" ;;
  45.     *)    if [ "$whoseargs" = "client" ]; then
  46.             clientargs="$clientargs $1"
  47.         else
  48.             serverargs="$serverargs $1"
  49.         fi ;;
  50.     esac
  51.     shift
  52. done
  53.  
  54. xinit $clientargs -- $serverargs
  55.  
  56. /*
  57.  * various machines need special cleaning up
  58.  */
  59. #ifdef macII
  60. Xrepair
  61. screenrestore
  62. #endif
  63.  
  64. #ifdef sun
  65. kbd_mode -a
  66. #endif
  67.