https://github.com/indigoparadox/vcircuits
Simple kiosk dashboard written in vala
https://github.com/indigoparadox/vcircuits
dashboard kiosk
Last synced: about 2 months ago
JSON representation
Simple kiosk dashboard written in vala
- Host: GitHub
- URL: https://github.com/indigoparadox/vcircuits
- Owner: indigoparadox
- License: gpl-3.0
- Created: 2022-09-18T17:42:48.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-02-21T02:08:15.000Z (2 months ago)
- Last Synced: 2025-02-21T02:27:13.799Z (2 months ago)
- Topics: dashboard, kiosk
- Language: Vala
- Homepage:
- Size: 126 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# vcircuits
Simple kiosk dashboard written in vala
## Compiling
First, install some build requirements: `sudo apt install valac libsecret-1-dev libgtk3.0-cil-dev libgtk2.0-dev libjson-glib-dev libgtk-3-dev`
Then, it should be as simple as running "make"! If there are any problems, please feel free to open an issue.
## Configuration
Configuration is a JSON object with the following keys:
### sources
A list of source config objects describing endpoints that are polled regularly. These can be HTTP (REST) polled on a timer, MQTT subscriptions, or others if support has been added.
These config objects may have the following fields:
#### Fields - All Types
* **type**: The type of source. Currently supported are "rest" and "mqtt".
* **enabled**: Whether this source will be polled/subscribed or not.
#### Fields - mqtt* **uid**: Unique ID to present to the MQTT server.
* **host**: Hostname of the MQTT server.
* **port**: Port to connect to the MQTT server (usually 1883 or 8883).
* **user**: User with which to authenticate with the MQTT server.
* **protocol**: Can be "mqtt" or "mqtts" if TLS is used.#### Fields - rest
* **host**: Hostname of the HTTP server.
* **port**: Port to connect to the HTTP server (usually 80 or 443).
* **user**: (Optional) User if basic authentication is used. Can be "bearer" to setup a bearer token.
* **protocol**: Can be "http" or "https" if TLS is used.
* **frequency**: How often (in ms) to poll the HTTP server.
* **time\_fmt**: (Optional) In POST data, replace \ tokens with current time in this format (in UNIX format, e.g. %m-%d-Y).### lists
This can be a set of named lists, which can then be substituted for lists in dashlet configuration later on. If a dashlet configuration is expecting a list and receives a string in its configuration object, it is assumed that it is the key to one of these lists.
### options
General configuration options which define the dashboard:
* **background**: Can be a CSS color, including words like "black" or "white".
* **foreground**: Can be a CSS color, including words like "black" or "white".
* **width**: Width of the dashboard window in pixels.
* **height**: Height of the dashboard window in pixels.
* **decorated**: Whether to apply window manager decorations. "true" or "false"
* **style**: Additional CSS styling options for GTK.### dashboard
These are the dashlets that display on the dashboard.
(TBA)