ToDo-List / Wishlist for lcd4linux // 2000-04-04 Michael Reinelt // implement some sort of 'graphs', similar to bars, but with a time axis // can be filled (made up of bars) or not (needs raster graphics) // done 2001-03-16 -lt. // 2000-04-04 Michael Reinelt // write a driver for PNG. This should be the first step towards a WWW-driver. // Done 2001-03-01 -lt. 2000-04-15 Thomas Skyt Jessen show partition information (used, free, ...) 2000-04-25 Michael Mueller show process information // 2000-12-03 Ghassan Matar // show other sensors than temperature // we have to use libsensors instead of parsing the proc files directly // Refused 2003-08-01 -mr // 2000-12-03 Ghassan Matar // show contents of any text file // the file should only contain one line, with a fixed format // there are two possibilities: text and numbers // numbers can be used for bars, too // Done 2000-03-08, look at %x -lt // 2000-12-03 Ghassan Matar // accept data from external sources (fifo?) // Done 2000-03-08, look at %x -lt // 2001-02-11 Carsten Nau // connect a LED to a spare pin of the parallel port and show if ISDN // is online // Done with GPO's -mr // 2001-01-27 Axel Ehnert // - display numer of emails in a mailbox // - display seti@home values // done. // 2001-03-05 Leo Tötsch // rename some tokens: %o->%os, %v->%ov, %r->%or, %p->%op, // will be done with the big config-rework // done with the "Next Generation Layout" // 2001-03-05 Leo Tötsch // replace T_EXTENDED with a Flag similar to 'bar' // rejected, T_EXTENDED does a good job -mr // 2001-03-07 Michael Reinelt // use ppdev instead of ugly outb() // done 2001-03-14 -mr // 2001-03-09 Michael Reinelt // replace udelay() assembly loop with rdtsc (read time stamp counter) // at least try to.... // done 2001-03-14 -mr // 2001-03-09 Leo Tötsch // read configuration file earlier (before forking) so that specific drivers // (especially 'Text') would not fork. // There's a reason for forking that early, but I forgot... // done somewhere in mid 2003 MR // 2001-03-12 Michael Reinelt // remove USE_OLD_UDELAY after wide testing of new udelay code // done with the "Next Generation Layout" // 2001-03-12 Michael Reinelt // create a NEWS file with changes/enhancements of every release // done 2001-03-13 -mr 2001-03-14 Leopold Toetsch improve unseen for mbox (check Status:) // 2001-03-14 Michael Reinelt // add a new Token 'nc' for 'network collisions' // done with the "Next Generation Layout" 2001-03-14 Michael Reinelt add translation tables ('german umlauts' don't follow any scheme on most displays) // 2001-03-15 Leopold Toetsch // Text display has troubles with '\r' // done 2001-03-16, replace \r,\n with '_' -lt // 2001-03-24 Carsten Nau // change network clients to support different devices // at the moment the sum of all eth* devices is calculated // %n* should be extended tokens // done with the "Next Generation Layout" // 2001-03-24 Brian Cleven // support 40x4 displays with two HD44780 chips on it // we need another 'Enable' line for this // this way one could connect two displays to one parallel port, too // done with 0.9.11 MR // 2001-05-25 Jens Garthe // detect wether curses.h and libncurses is installed, and // don't include the 'Text'-driver if not. // _should_ work now 2001-05-31 -lt // 2001-09-11 Michael Reinelt // use new extended tokens to split up several data sources // (CPU, Net, Disk, ISDN, ...) // e.g. '%nw' is 'network transmit' for _all_ devices // '%n0w' is 'network transmit' for eth0 // '%n1w' for eth1 // done with the "Next Generation Layout" // 2001-09-11 Michael Reinelt // remove bar code from drivers and create a common bar library // done somewhere in 2003 -mr // 2001-09-12 Carsten Nau // make the output for emails shorter (at the moment up to 9999 emails) // done with the "Next Generation Layout" 2001-09-13 Michael Reinelt combine mail.c and mail2.c if there's an error getting mail info, display "?" instead of "0" 2001-09-14 Michael Reinelt do not disable mail check in first error instead use a number of retries errors can occur in case of short disconnects, but normal operation should resume 2002-02-15 Udo Altmann (udo.altmann@web.de) support for inversed/blinking text don't know if displays support this feature... // 2003-09-08 Michael Reinelt (reinelt@eunet.at> // at least one of my HD44780 displays use an inverted "P" instead of // a full block. Therefore a bar my look strange. Make the ASCII code // of the full block configurable... // done with the "Next Generation Layout" // see the "asc255bug" attribute // 2003-09-14 Markus // change %t tokens from Byte/sec to kB/sec, ith one decimal places. // Either make it configurabel, or add new tokens. // done with the "Next Generation Layout" // 2003-10-29 Matt Thrailkill // > To go off on another tangent... have you at all considered some sort of // > marquee support? I toyed with the row scrolling support which was // > recently added, and it is nifty. But marquees would be handy for doing // > something like horizontally scrolling, say, the title of the currently // > playing mp3. I've toyed with trying to dive in and add it, but I'm a // > pretty lazy guy and haven't done it. What do you think? // done with the "Next Generation Layout" 2003-12-31 Stefan ??? add support for software-controlled backlight for HD44780 http://www.jalcds.de/images/4x20backlight.gif 2004-01-25 Michael Reinelt add attribute "blinking" to text widgets 2004-01-25 Xavier VELLO add "inverse" attribute to text widget possible with Cwlinux and all graphics displays 2004-01-25 Xavier VELLO add an "image" widget 2004-01-25 Xavier VELLO icons should not only be updated regularly, but shown only when a certain expression returns 1 f='#n123'>123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
#! /bin/sh
# mkinstalldirs --- make directory hierarchy

scriptversion=2006-05-11.19

# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain.
#
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.

nl='
'
IFS=" ""	$nl"
errstatus=0
dirmode=

usage="\
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...

Create each directory DIR (with mode MODE, if specified), including all
leading file name components.

Report bugs to <bug-automake@gnu.org>."

# process command line arguments
while test $# -gt 0 ; do
  case $1 in
    -h | --help | --h*)         # -h for help
      echo "$usage"
      exit $?
      ;;
    -m)                         # -m PERM arg
      shift
      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
      dirmode=$1
      shift
      ;;
    --version)
      echo "$0 $scriptversion"
      exit $?
      ;;
    --)                         # stop option processing
      shift
      break
      ;;
    -*)                         # unknown option
      echo "$usage" 1>&2
      exit 1
      ;;
    *)                          # first non-opt arg
      break
      ;;
  esac
done

for file
do
  if test -d "$file"; then
    shift
  else
    break
  fi
done

case $# in
  0) exit 0 ;;
esac

# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
# mkdir -p a/c at the same time, both will detect that a is missing,
# one will create a, then the other will try to create a and die with
# a "File exists" error.  This is a problem when calling mkinstalldirs
# from a parallel make.  We use --version in the probe to restrict
# ourselves to GNU mkdir, which is thread-safe.
case $dirmode in
  '')
    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
      echo "mkdir -p -- $*"
      exec mkdir -p -- "$@"
    else
      # On NextStep and OpenStep, the `mkdir' command does not
      # recognize any option.  It will interpret all options as
      # directories to create, and then abort because `.' already
      # exists.
      test -d ./-p && rmdir ./-p
      test -d ./--version && rmdir ./--version
    fi
    ;;
  *)
    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
       test ! -d ./--version; then
      echo "mkdir -m $dirmode -p -- $*"
      exec mkdir -m "$dirmode" -p -- "$@"
    else
      # Clean up after NextStep and OpenStep mkdir.
      for d in ./-m ./-p ./--version "./$dirmode";
      do
        test -d $d && rmdir $d
      done
    fi
    ;;
esac

for file
do
  case $file in
    /*) pathcomp=/ ;;
    *)  pathcomp= ;;
  esac
  oIFS=$IFS
  IFS=/
  set fnord $file
  shift
  IFS=$oIFS

  for d
  do
    test "x$d" = x && continue

    pathcomp=$pathcomp$d
    case $pathcomp in
      -*) pathcomp=./$pathcomp ;;
    esac

    if test ! -d "$pathcomp"; then
      echo "mkdir $pathcomp"

      mkdir "$pathcomp" || lasterr=$?

      if test ! -d "$pathcomp"; then
	errstatus=$lasterr
      else
	if test ! -z "$dirmode"; then
	  echo "chmod $dirmode $pathcomp"
	  lasterr=
	  chmod "$dirmode" "$pathcomp" || lasterr=$?

	  if test ! -z "$lasterr"; then
	    errstatus=$lasterr
	  fi
	fi
      fi
    fi

    pathcomp=$pathcomp/
  done
done

exit $errstatus

# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End: