lcdproc-config(5) format of LCDproc's configuration files

SYNTAX

The syntax for LCDproc's configuration files is INI-file style.

They are 8-bit text files divided into sections, each containing zero or more key-value pairs. Sections are introduced by section labels which start with '[' and end with ']', and key-value pairs consist of a key name, a '=' sign and a value each.

Key names are sequences of non-space characters, not starting with '[' and not containing '=' or '\n', while values are shell like strings. I.e. they are either simple sequences of non-space characters, or double quoted-strings with C-style syntax (except the missing support for '\NNN' and '\xNN' escape sequences) or or a mix of both of these forms.

Section labels and key names are case-insensitive and may occur more than once. Keys of duplicate sections will be merged into one section, while the values of duplicate keys in a section will be appended to form an array of values for this key. (In the program, all values of a key can be retrieved individually)

Spaces around section labels, keys, and values are ignored. Lines starting with ';' or '#' are considered comments and ignored too.

While all of the above is quite common to almost all INI-file implementations, there are a few special features that make LCDproc's config files special:

*
Section labels may contain any character except ']', '\n' or '\0'. However, all characters are interpreted literally (i.e. neither quoting, nor escaping done).
*
Key names may contain any non-space character except '\n' or '\0'. However, all characters are interpreted literally (i.e. neither quoting, nor escaping done).
*
Comments are allowed after section labels and key value pairs
*
Values may be a mix of quoted and unquoted strings similar as strings are interpreted in the shell. E.g. the value 'string" with "blanks"\t!"' will be parsed as 'string with blanks<TAB>!' where <TAB> stands for the TAB character.

In case of a a parsing error the rest of the line is ignored and parsing continues with the next line.

EXAMPLE

Here is fully working example of an LCDd.conf (formatted somewhat strange to show the features):
# the server section
[server]
Bind=127.0.0.1
Port=13666
User="nobody"
#Foreground=no
#ReportLevel=3
#ReportToSyslog=yes
Driver="my Curses Driver"
DriverPath=/usr/lib/lcdproc/
WaitTime= "5"
ServerScreen=no
# assign keys to special functions #
ToggleRotateKey = Enter
PrevScreenKey = Left
NextScreenKey = Right
# ScrollUpKey = Up
 #ScrollDownKey=Down
#  menu section: define keys to use in the server menu #
         [menu]
MenuKey = Escape        # ESC switches to server menu
EnterKey =Enter
UpKey= Up       
DownKey="Down"
 LeftKey= "Left"
 RightKey = "Right"
# configuration of the curses driver #
[my curses Driver]      # yes I use the curse driver
File= "curses.so"
Size="20"x"4"           # LCD screen dimensions
TopLeftX=7              # screen position: X coordinate
TopLeftY=7              # screen position: Y coordinate
Foreground=blue         # foreground color
Background=cyan         # background color when backight is off
Backlight=red           # background color when backight is on

FILES

These are the default config files for the various parts of the LCDproc suite:

/etc/LCDd.conf
configuration of the LCDd server daemon
/etc/lcdproc.conf
configuration of the lcdproc system monitoring client
/etc/lcdexec.conf
configuration of the lcdexec the program starter client
/etc/lcdvc.conf
configuration of the lcdvc virtual console client

AUTHOR

This manual page has been written by Peter Marschall <[email protected]>