home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / NEXTSTEP / Utilities / WindowDepth.bproj / setpref.sh < prev    next >
Encoding:
Linux/UNIX/POSIX Shell Script  |  1997-11-09  |  1.2 KB  |  71 lines

  1. #! /bin/sh
  2. #+++
  3. #  title:    setpref
  4. #  abstract:    set user default for NEXTSTEP and/or OPENSTEP.
  5. #  author:    Tom Hageman <tom@basil.icce.rug.nl>
  6. #  created:    November 1997
  7. #  modified:
  8. #  copyleft:
  9. #
  10. #    Copyright (C) 1997 Tom R. Hageman, but otherwise perfect freeware.
  11. #
  12. #  description:
  13. #    Usage: setpref [-r] [domain | -g] [-N <NEXTSTEP-key>] [-O <OPENSTEP-key>] value.
  14. #
  15. #---
  16.  
  17. PATH=/usr/ucb:/bin:/usr/bin export PATH
  18.  
  19. err=/dev/null
  20. #err=/dev/console
  21.  
  22. Usage() {
  23.    echo "Usage: `basename $0` [-r] [domain | -g] [-N NEXTSTEP-key] [-O OPENSTEP-key] value" >&2
  24.    exit 2
  25. }
  26.  
  27. case "$1" in
  28. -r) action=dremove; shift ;;
  29. *)  action=dwrite ;;
  30. esac
  31.  
  32. domain="$1"
  33.  
  34. case "$2" in
  35. -N) nskey="$3" ;;
  36. -O) oskey="$3" ;;
  37. *)  Usage
  38. esac
  39.  
  40. case $# in
  41. 3|4)
  42.     value="$4" ;;
  43. 5|6)
  44.     case "$4" in
  45.     -N) nskey="$5" ;;
  46.     -O) oskey="$5" ;;
  47.     *)  Usage
  48.     esac
  49.     value="$6" ;;  
  50. *)
  51.     Usage
  52. esac
  53.  
  54. case "$nskey" in
  55. "") ;;
  56. *)
  57.     $action "$domain" "$nskey" "$value" ;;
  58. esac 2>$err
  59.  
  60. case "$oskey" in
  61. "") ;;
  62. *)
  63.     case "$domain" in
  64.     -g)  domain=NSGlobalDomain
  65.     esac
  66.     case $action in
  67.     dwrite)  defaults write "$domain" "$oskey" "$value" ;;
  68.     dremove) defaults delete "$domain" "$oskey" ;;
  69.     esac
  70. esac 2>$err
  71.