An Electron based overlay for Linux desktops aimed to be modular and used in kiosk contexts.
OnTop OSD is designed to be used with your own HTML/CSS/Javascript stack, basic examples exploring currently implemented options can be found in examples/
.
The config file is provided as JSON and exposes the following arguments:
osd_html
: Path to html for the OSDposition
: Where to position the windowx
,y
:relative
: If true relative will reference the x and y co-ordinates from your screen width and heightoffset
: A real value to add tox
ory
, usefull when used in conjunction withrelative
percent
: An integer to divide yourx
ory
value, can be used with relative to pick a position on screen
width
,height
: Dimmensions of your elementfunctions
: Functions define basic Electron IPC methods to communicate between javascript and nodemethod
: What kind of action to take when triggeredwrite_file
: Create a file, seewrite_file_path
for scoping destinationfilename
: Name of the file to create withwrite_file
method
write_file_path
: Directory to be used when invokingwrite_file
IPC functionstartup_functions
: IPC to run from node to the OS when its startedcondition
: Only run the function if your condition matchescheck_current_user
: Returns true is the OSD is run by specifieduser
user
: username forcheck_current_user
action
: What to do on invocationsendIPC
: Run a basic IPC send
ipc_data
: JSON array to send when usingsendIPC
action, uses format{"event": "", "data": ""}
--config-file
: Path to your JSON config as defined above
- Install NPM LTS.
- Install requisite Node components:
npm install
- Ensure packging dependencies are installed (each OS will have different requirements here):
dnf install jq fakeroot
apt-get install build-essential jq dpkg-dev
npm install -g electron-packager electron-installer-debian
- Build the package:
electron-packager . --platform linux --arch x64 --out dist/
electron-installer-debian --src dist/ontop-osd-linux-x64/ --dest dist/installers/ --arch amd64