Provided by: lcdproc_0.4.5-1_i386 bug

NAME

       LCDd - LCDproc server daemon

SYNOPSIS

       LCDd  [-hfiws]  [-c <config>] [-d <driver>] [-a <addr>] [-p <port>] [-u
       <user>] [-w <time>] [-r <level>]

DESCRIPTION

       LCDd is the server portion of LCDproc which listens to a  certain  port
       (normally  13666) and displays information on an LCD display.  It works
       with several types and sizes of displays.

       As of version 0.4.3 of LCDproc most settings are configured through the
       LCDd  configuration  file,  which  is  normally  /etc/LCDd.conf. Before
       running LCDd you should carefully read through  that  file  and  modify
       everything  neccessary  according  to  your  needs. Otherwise you might
       encounter LCDd not running properly on your system.

       To make full use of LCDd, a client such as lcdproc(1) is required.

OPTIONS

       Available LCDd options are:

       -h      Display this help screen

       -c <config>
               Use a configuration file other than /etc/LCDd.conf

       -d <driver>
               Add a driver to use (output only to first)

       -f      Run in the foreground

       -i      Disable showing of the main LCDproc server screen

       -w <waittime>
               Time to pause at each screen (in seconds)

       -a <addr>
               Network IP address to bind to

       -p <port>
               Network port to listen for connections on

       -u <user>
               User to run as

       -s      Output messages to syslog

       -r <level>
               Report level (default=2)

   Supported Drivers
       Currently supported display drivers include:

       CFontz (or CrystalFontz)
              CrystalFontz LCD displays

       curses (or ncurses)
              Standard video display using the ncurses library

       HD44780
              Hitachi HD44780 LCD displays

       BayRAD EMAC BayRad displays

       irmanin
              IrMan infrared (input)

       lircin Infrared (input)

       wirz-sli
              Wirz SLI driver (unknown)

       joy    Joystick driver (input)

       MtxOrb (or MatrixOrbital)
              Matrix Orbital displays (not Matrix Orbital GLK displays)

       glk    Matrix Orbital GLK graphical LCD displays

       LB216  LB216 LCD display

       lcdm001 (or LCDM001)
              kernelconcepts.de 20x4 serial LCD displays

       text   Standard "hard-copy" text display

       debug  Undocumented debug driver

       Multiple drivers can be  used  simultaneously;  thus,  for  example,  a
       Matrix Orbital display (MtxOrb driver) can be combined with an infrared
       driver (irmanin driver).

INVOCATION

       LCDd -d MtxOrb -d joy
              As  of  version  0.4.3,  driver  parameters  are  read  from   a
              configuration file (default location /etc/LCDd.conf) rather than
              being passed on the command line as arguments.   The  invocation
              example above will start LCDd with the Matrix Orbital driver and
              the Joystick input  driver,  and  attempt  to  load  the  driver
              parameters from the default configuration file.

SERVER PROTOCOL

       There is a basic sequence:

       1. Open a TCP connection to the LCDd server port (usually 13666).

       2. Say "hello"

       3. The server will return some information on the type
               of display available.

       4. Define (and use) a new screen and its widgets.

       5. Close the socket when done displaying data.

       There are many commands for the LCDd server:

       hello   This  starts  a client-server session with the LCDd server; the
               server will return a data string detailing the type of  display
               and its size.

       client_set [-name #id]
               Set the client’s name, etc.

       screen_add #id
               Add a new screen to the display.

       screen_del #id
               Remove a screen from the display.

       screen_set  #id [-priority number] [-name my_name ] [-duration integer]
       [-wid width] [-hgt height] [-heartbeat mode]
               Initialize a screen, or reset its data.

       widget_add #screen #id type [-in #id]
               Add a widget to screen #screen.

       widget_del #screen #id
               Delete widget #id from screen #screen.

       widget_set #screen #id data
               Set  the  data used to define a particular widget #id on screen
               #screen.

   Heartbeat Modes
       Valid heartbeat mode values (for the screen_set command) are:

       on, heart
              Display heart symbol.

       normal, default
              Normal display.

       off, none
              No heartbeat display.

       slash  Display rotating slash display.

   Priorities
       Valid priority values (used in the screen_set command) are as follows:

       0      This is rather extreme; don’t do this!

       1      Extremely important!

       16     Emergency priority

       32     Very high priority (important)

       64     High priority (normal)

       128    Normal (recommended)

       192    Low priority (normal)

       224    Very low priority (very unimportant)

       240    Extremely low priority

       255    This screen won’t show up very much even if there are  no  other
              screens queued...

       An example of how to properly use priorities is as follows:

       Imagine  you’re  making  an  mp3  player  for  lcdproc.   When the song
       changes, it’s nice to display the new name immediately.  So, you  could
       set  your  screen’s  priority to 64, wait for the server to display (or
       ignore) your screen, then set the screen back to 128.  This would cause
       the  mp3  screen  to  show up as soon as the one onscreen was finished,
       then return to normal priority afterward.

       Or, let’s say your client monitors the health of hospital patients.  If
       one  of  the  patients  has  a  heart  attack, you could set the screen
       priority to 16 (emergency), and it would be displayed immediately.   It
       wouldn’t  even  wait  for  the  previous  screen  to finish.  Also, the
       display would stay on screen most  of  the  time  until  the  user  did
       something about it.

       A  priority  of 1 would stay onscreen permanently, with flashing lights
       and other  visual  cues  if  possible.   Using  this  priority  is  not
       recommended.

       The duration can be either a positive number, or -1.  A positive number
       (greater than zero) indicates how many display frames the screen should
       last.   A  0  (zero)  or  -1  means  that  the server should use "auto"
       duration, which is probably a good idea.  This  will  be  whatever  the
       user  wants.   It  defaults  to  4  seconds  (32  frames), or will be a
       calculated value for things such as scrollers.

   Widget Types
       Widgets can be any of the following:

       string A text string to display (as is).

       hbar   A horizontal bar graph.

       vbar   A vertical bar graph.

       title  A title displayed across  the  top  of  the  display,  within  a
              banner.

       icon   A graphic icon.

       scroller
              A  scrolling  text  display,  scrolling  either  horizontally or
              vertically.

       frame  A container to contain other  widgets,  permitting  them  to  be
              refered  to as a single unit.  A widget is put inside a frame by
              using the -in #id parameter, where #id refers to the id  of  the
              frame.

       Widgets are drawn on the screen in the order they are created.

   Setting Widget Data
       In the widget_set command, the data argument depends on which widget is
       being set.  Each widget takes  a  particular  set  of  arguments  which
       defines its form and behavior:

       string x y text

       hbar   x y length_in_pixels

       vbar   x y length_in_pixels

       icon   x y binary_data

       title  text

       scroller
              left top right bottom direction speed text

              The  text  defined  will scroll in the direction defined.  Valid
              directions are h  (horizontal)  and  v  (vertical).   The  speed
              defines  how many "movements" (or changes) will occur per frame.
              A positive number indicates  frames  per  movement;  a  negative
              number indicates movements per frame.

       frame  left top right bottom wid hgt dir speed

              Frames  define  a visible "box" on screen, >from the (left, top)
              corner to the (right, bottom) corner.  The actual  data  may  be
              bigger,  and is defined as wid (width) by hgt (height); if it is
              bigger, then the frame will scroll in the  direction  (dir)  and
              speed defined.

BUGS

       If  LCDd  seems  to  quietly disappear upon invocation or other similar
       problems, check the order of the  options  and  the  quoting  involved.
       Some combinations of options will be misread and thus fail.

       Try using the -d option last.

FILES

       /etc/LCDd.conf, LCDd default configuration file

AUTHOR

       LCDd was originally written by William Ferrell (wwf@splatwerks.org) and
       Scott Scriv en (scriven@cs.colostate.edu).

       Since that time various people have contributed to LCDproc.

       The newest version of LCDd should be available from here as part of the
       lcdproc package:

                       http://lcdproc.omnipotent.net/

LEGAL STUFF

       The lcdproc package is released as "WorksForMe-Ware".  In other words,
       it is free, kinda neat, and we don’t guarantee that it will do anything
       in particular on any machine except the ones it was developed on.

       It is technically released under the GNU GPL license (you should have
       received the file, "COPYING", with LCDproc) (also, look on
       http://www.fsf.org/ for more information), so you can distribute and
       use it for free -- but you must make the source code freely available
       to anyone who wants it.

       For any sort of real legal information, read the GNU GPL (GNU General
       Public License).  It’s worth reading.