Go to file
Alejandro Sirgo Rica 7ace7f9403 ogclient: add kiosk
Add Kiosk project as a subtree of ogClient. Kiosk is
an interactive GUI featuring basic functionality to
monitor and operate ogClient withing the client through a
graphical interface written in PyQt6.

Right after ogClient launches in live mode it performs a
fork() call to launch Kiosk as an external process to
prevent Kiosk backtraces to affect ogClient.

A pair of sockets are created through socket.socketpair()
and each process is assigned one of them to leverage the
inter process communication.

API Kiosk -> ogClient:
- Poweroff: request client poweroff
{"command": "poweroff"}
- Reboot: request client reboot
{"command": "reboot"}
- Restore: restore image into a partition
{"command": "restore", "image": "windows.img", "disk": 1, "partition": 2}
- Boot: request an OS boot
{"command": "boot", "disk": 1, "partition": 2}

API ogClient -> Kiosk:
- Busy: inform about ogClient thread status
{"command": "busy", "status": True}
- Refresh: reload the theme.
{"command": "refresh"}
- close: request Kiosk termination.
{"command": "close"}

Add internationalization documentation in README

Add "CACHE" mode in image restore to only restore images
available in the cache partition.

Use set_state() function in OgRest to define the idle or busy
status and notify Kiosk about the status change.
2025-02-14 13:57:44 +01:00
cfg src: improve logging 2022-06-08 10:27:06 +02:00
misc ogclient: add kiosk 2025-02-14 13:57:44 +01:00
src ogclient: add kiosk 2025-02-14 13:57:44 +01:00
systray ogclient-systray: add new systray program for ogclient 2024-12-16 16:01:06 +01:00
tests src: update license header 2024-11-28 16:45:56 +01:00
utils ogclient-systray: add new systray program for ogclient 2024-12-16 16:01:06 +01:00
.gitignore ogclient: add kiosk 2025-02-14 13:57:44 +01:00
COPYING Rename LICENSE to COPYING 2020-06-18 16:45:46 +02:00
README ogclient: add kiosk 2025-02-14 13:57:44 +01:00
make.bat ogclient-systray: add new systray program for ogclient 2024-12-16 16:01:06 +01:00
ogclient ogclient: add kiosk 2025-02-14 13:57:44 +01:00
setup.py Rename 'linux' folder and operations to 'live' 2020-12-03 13:38:43 +01:00

README

# Kiosk
Interactive kiosk software for ogClient.

## Translation

Qt uses .ts files to store the translations for each language. These files are
generated from strings surounded by the tr() function in the code.
The program needs a binary file with the translation information, this file
has a qm extension and it is generated by the tool lrelease-qt6.

Dependencies:
Generating the .ts files requires pylupdate6 provided by
pip install pyqt6

For the .qm file generation install the package qt6-tools package from your
distribution's repository.

Update .ts files:
run update_translations.sh in the misc folder.

Generate .qm files:
run compile_translations.sh in the misc folder.

Edit translations:
The .ts files can be manually edited as they are XML files.
Optinally the software linguist-qt6 can be used to edit the files through a
graphical interface. This program is also provided by the package qt6-tools.

Steps to translate with Linguist:
- Launch linguist-qt6
- Open the .ts file from the translations directory.
- Translate the strings as needed.
- Save the translations.