The panel uses a simple YAML format for configuration. The file is
located under the standard configuration directory, under the
Dist
folder, as the UDFPanelConfig.yaml
file.
It looks like this:
position: [ 1360, 0]
size: [ 2560, 0 ]
top-margin: 8
columns: 3
fonts:
- font: Font
file: font.ttf
size: 16
modules:
- module: Test
type: exec
command: "printf \"exec\""
on-click: "printf \"exec on click\""
on-double-click: "printf \"exec on double click\""
font: Font
refresh-after: -1
column: 1
position
- The position of the top-left corner of the panel on the screensize
- The size of the bar, set the X or Y coordinates to 0 to use the default value. The default for X is 800. For Y it's 32top-margin
- Additional margin applied to the top-most element to make the text appear more in the middle of the barcolumns
- Number of columns. Modules are placed in one of themfonts
- An array of fonts, each font has an ID, a filename and a sizemodules
- An array of modules, detailed below
Modules
Each module has a text ID, represented by the module
key. Additionally, it has a type, which can be either exec
or custom
. Each module also has the column
field to specify its column and the refresh-after
field
which makes the module code rerun after a certain number of seconds. If
set to a negative value, it will not refresh.
Exec modules execute commands, whose STDOUT is captured to produce text output. Custom modules execute code loaded from a DLL using the C plugin API(to be developed).
Exec modules
Exec modules have a launch command, represented by the
command
field. It is a shell command that uses the bash
shell. Additionally, the on-click
and
on-double-click
commands are executed on single and double
click, respectively.
A font using its font ID can also be used to change the font of the text, the module outputs.
Plugin modules
Coming soon!