lcdproc-config - format of LCDproc's configuration files
Contents
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
Name
lcdproc-config - format of LCDproc's configuration files
See Also
LCDd(8), lcdproc(1), lcdexec(1)
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.
