- Rust 84.5%
- Slint 15.5%
Cargo.toml still said 0.1.0 while the only tag was v0.4 — the version in the binary comes from build.rs reading the git tag, so the manifest had drifted unnoticed. 0.5.0 for the hashed password, the verified update path and the move to Forgejo, all of which change existing installs. Cargo.lock carries the crate's own version, and both workflows build with --locked, so it has to move along or the next release fails before it compiles anything. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| .vscode | ||
| src | ||
| ui | ||
| .gitignore | ||
| app.rc | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| icon.ico | ||
| LICENSE | ||
| NOTWENDIGE_AENDERUNGEN.md | ||
| README.md | ||
winkioskshell
A simple shell application for a light kiosk mode
Configuration
The settings are stored as RON next to the user profile, in
%APPDATA%\winkioskshell\. The settings window writes them; the fields are:
| Field | Meaning |
|---|---|
client_application |
Full path of the application the kiosk starts and keeps in front. |
password |
Argon2 hash of the password that unlocks the kiosk. A plain password written by an older version is hashed on the first successful check. Without a password the kiosk stays locked. |
kill_processes |
Process names the watchdog terminates once a second. Defaults to explorer.exe and msedge.exe; shorten it if the client application embeds a browser you want to keep. |
Failures that happen before a window is up — the client application not
starting, a rejected update — are appended to winkioskshell.log in the same
directory. There is no console to print them to.
Updates
On start the shell asks the forge for the latest release, picks the asset whose
name matches its own executable and checks it against the SHA256SUMS asset
published with it. Without that file, or on a mismatch, the update is refused
and the reason is logged.
Source and repository are FORGE_API in src/release.rs and
UPDATE_REPOSITORY in src/win_kiosk_shell.rs.
Building
The crate is Windows only and does not compile for Linux. Builds go through the
x86_64-pc-windows-msvc target, which cross-compiles from Linux with
cargo-xwin:
cargo xwin build --release --target x86_64-pc-windows-msvc --locked
That is what .forgejo/workflows/ runs; no Windows machine is involved.