home *** CD-ROM | disk | FTP | other *** search
/ PC User 2003 January / Disc 3 / Amethyst.iso / live / usr / X11R6 / bin / startx < prev    next >
Encoding:
Text File  |  2000-07-04  |  1.8 KB  |  82 lines

  1. #!/bin/bash
  2.  
  3. # $XConsortium: startx.cpp,v 1.4 91/08/22 11:41:29 rws Exp $
  4. # $XFree86: xc/programs/xinit/startx.cpp,v 3.2 1998/12/20 11:58:22 dawes Exp $
  5. # This is just a sample implementation of a slightly less primitive 
  6. # interface than xinit.  It looks for user .xinitrc and .xserverrc
  7. # files, then system xinitrc and xserverrc files, else lets xinit choose
  8. # its default.  The system xinitrc should probably do things like check
  9. # for .Xresources files and merge them in, startup up a window manager,
  10. # and pop a clock and serveral xterms.
  11. #
  12.  
  13.  
  14. userclientrc=$HOME/.xinitrc
  15. userserverrc=$HOME/.xserverrc
  16.  
  17. if [ -f /etc/X11/wmconfig/xinitrc ] ; then
  18.     sysclientrc=/etc/X11/wmconfig/xinitrc
  19. else
  20.     sysclientrc=/etc/X11/xinit/xinitrc
  21. fi
  22.  
  23. if [ -f /etc/X11/wmconfig/xserverrc ] ; then
  24.     sysserverrc=/etc/X11/wmconfig/xserverrc
  25. else
  26.     sysserverrc=/etc/X11/xinit/xserverrc
  27. fi
  28. clientargs=""
  29. serverargs=""
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36. if [ -f $userclientrc ]; then
  37.     clientargs=$userclientrc
  38. else if [ -f $sysclientrc ]; then
  39.     clientargs=$sysclientrc
  40. fi
  41. fi
  42.  
  43.  
  44.  
  45.  
  46. if [ -f $userserverrc ]; then
  47.     serverargs=$userserverrc
  48. else if [ -f $sysserverrc ]; then
  49.     serverargs=$sysserverrc
  50. fi
  51. fi
  52.  
  53. whoseargs="client"
  54. while [ "x$1" != "x" ]; do
  55.     case "$1" in
  56.     /''*|\.*)    if [ "$whoseargs" = "client" ]; then
  57.             if [ "x$clientargs" = x ]; then
  58.             clientargs="$1"
  59.             else
  60.             clientargs="$clientargs $1"
  61.             fi
  62.         else
  63.             if [ "x$serverargs" = x ]; then
  64.             serverargs="$1"
  65.             else
  66.             serverargs="$serverargs $1"
  67.             fi
  68.         fi ;;
  69.     --)    whoseargs="server" ;;
  70.     *)    if [ "$whoseargs" = "client" ]; then
  71.             clientargs="$clientargs $1"
  72.         else
  73.             serverargs="$serverargs $1"
  74.         fi ;;
  75.     esac
  76.     shift
  77. done
  78.  
  79. # do an exec -> don't leave startx in memomry during X session
  80. exec xinit $clientargs -- $serverargs >> $HOME/.xerrors 2>&1
  81.