Update README and example config for discoverability
This commit is contained in:
parent
a17fb5104d
commit
b3144e213d
2 changed files with 77 additions and 13 deletions
27
README.md
27
README.md
|
|
@ -19,23 +19,33 @@ or write your own.
|
|||
|
||||
### Home screen
|
||||
|
||||
Activities can be made selectively available at certain times of day.
|
||||
|
||||
TODO: home screen at different times (bedtime vs afternoon) showing different applications
|
||||
|
||||
### Time limits
|
||||
|
||||
Activities can have configurable time limits, including:
|
||||
* individual session length
|
||||
* total usage per day
|
||||
* cooldown periods before that particular activity can be restarted
|
||||
|
||||
TODO: GIF or video of GCompris a few seconds from closing, emphasizing:
|
||||
* Countdown clock
|
||||
* Warning messaging
|
||||
* Automatic close at end of time
|
||||
* Icon deliberately missing afterwards -- cooldown
|
||||
|
||||
### "access to any application that can be run, emulated, or virtualized"
|
||||
### Anything on Linux
|
||||
|
||||
If it can run on Linux in *any way, shape, or form*, it can be supervised by
|
||||
`shepherd-launcher`.
|
||||
|
||||
TODO: show the following running with some subset of the above features highlighted:
|
||||
* Minecraft
|
||||
* Steam games (World of Goo, Portal 2)
|
||||
* Media (Big Buck Bunny locally, YouTube via `mpv`)
|
||||
* ScummVM games (Putt Putt, Secret of Monkey Island)
|
||||
* Media
|
||||
* Minecraft
|
||||
* Steam games (Celeste, A Short Hike)
|
||||
|
||||
Contributions are welcome for improvements and not yet implemented backends,
|
||||
such as:
|
||||
|
|
@ -44,6 +54,13 @@ such as:
|
|||
* Android apps via Waydroid, including pre-booting Android if necessary [TODO: link to issue]
|
||||
* Legacy Win9x via DOSBox, QEMU, or PCem, including scripts to create a boot-to-app image [TODO: link to issue]
|
||||
* Chrome, including strict sandboxing and support for firewall rules [TODO: link to issue]
|
||||
* Awareness of whether an Internet connection is available, and an availability
|
||||
rule that gates activities based on this [TODO: link to issue]
|
||||
* Porting to other *host* platforms, such as a Microsoft Windows shell
|
||||
replacement or macOS kiosk via MDM. `shepherd-launcher` is architected such
|
||||
that `shepherdd`, the core enforcement service, does not render any UI and
|
||||
performs platform-specific functions like process management in
|
||||
platform-specific crates.
|
||||
|
||||
## Core concepts
|
||||
|
||||
|
|
@ -136,4 +153,4 @@ compatibility infrastructure:
|
|||
|
||||
This project was written with the assistance of generative AI-based coding
|
||||
agents. Substantial prompts and design docs provided to agents are disclosed in
|
||||
[docs/ai](./docs/ai/)
|
||||
[docs/ai](./docs/ai/).
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ end = "20:00"
|
|||
# This requires ScummVM to be installed (Ubuntu: `sudo apt install scummvm`).
|
||||
# You must install the game files from your copy of the game into ScummVM first.
|
||||
# See https://docs.scummvm.org/en/v2.9.1/use_scummvm/game_files.html for how to do this.
|
||||
# If you do not have the game files, you can run via Steam instead (see below).
|
||||
# If you do not have the game files, you can purchase and run via Steam instead (see below).
|
||||
# https://store.steampowered.com/app/294690/PuttPutt_Joins_the_Circus/
|
||||
[[entries]]
|
||||
id = "scummvm-putt-putt"
|
||||
|
|
@ -95,7 +95,7 @@ end = "20:00"
|
|||
# Secret of Monkey Island via ScummVM
|
||||
# Like above, but with the following caveats:
|
||||
# * I have only tested this with the original CD-ROM version of the game.
|
||||
# * The GOG version at https://www.gog.com/en/game/the_secret_of_monkey_island_special_edition uses a different engine.
|
||||
# * The GOG version available for purchase at https://www.gog.com/en/game/the_secret_of_monkey_island_special_edition uses a different engine.
|
||||
# * It does *not* contain ScummVM-compatible data files, so this entry will not work with that version.
|
||||
# * It may be possible to extract compatible files from the GOG installer or run it via WINE, but that is outside the scope of this example.
|
||||
# * See https://www.gratissaugen.de/ultimatetalkies/ for how to do this.
|
||||
|
|
@ -209,17 +209,17 @@ max_volume = 60 # Limit volume during gaming sessions
|
|||
# Steam must be set up and logged in before using these entries.
|
||||
# You must have the games installed in your Steam library.
|
||||
|
||||
# Human Resource Machine
|
||||
# https://store.steampowered.com/app/375820/Human_Resource_Machine
|
||||
# Celeste via Steam
|
||||
# https://store.steampowered.com/app/504230/Celeste
|
||||
[[entries]]
|
||||
id = "steam-human-resource-machine"
|
||||
label = "Human Resource Machine"
|
||||
icon = "steam"
|
||||
id = "steam-celeste"
|
||||
label = "Celeste"
|
||||
icon = "~/Games/Icons/Celeste.png"
|
||||
|
||||
[entries.kind]
|
||||
type = "snap"
|
||||
snap_name = "steam"
|
||||
args = ["steam://rungameid/375820"] # Steam App ID (passed to 'snap run steam')
|
||||
args = ["steam://rungameid/504230"] # Steam App ID (passed to 'snap run steam')
|
||||
|
||||
[entries.availability]
|
||||
[[entries.availability.windows]]
|
||||
|
|
@ -235,10 +235,57 @@ end = "20:00"
|
|||
# No [entries.limits] section - uses service defaults
|
||||
# Omitting limits entirely uses default_max_run_seconds
|
||||
|
||||
# A Short Hike via Steam
|
||||
# https://store.steampowered.com/app/1055540/A_Short_Hike/
|
||||
[[entries]]
|
||||
id = "steam-a-short-hike"
|
||||
label = "A Short Hike"
|
||||
icon = "~/Games/Icons/A_Short_Hike.png"
|
||||
|
||||
[entries.kind]
|
||||
type = "snap"
|
||||
snap_name = "steam"
|
||||
args = ["steam://rungameid/1055540"] # Steam App ID (passed to 'snap run steam')
|
||||
|
||||
[entries.availability]
|
||||
[[entries.availability.windows]]
|
||||
days = "weekdays"
|
||||
start = "15:00"
|
||||
end = "18:00"
|
||||
|
||||
[[entries.availability.windows]]
|
||||
days = "weekends"
|
||||
start = "10:00"
|
||||
end = "20:00"
|
||||
|
||||
## === Media ===
|
||||
# Just use `mpv` to play media (for now).
|
||||
# Files can be local on your system or URLs (YouTube, etc).
|
||||
|
||||
# "Big Buck Bunny" saved on local disk
|
||||
# Available for free as CC BY 3.0 at https://peach.blender.org/download/
|
||||
[[entries]]
|
||||
id = "big-buck-bunny"
|
||||
label = "Big Buck Bunny"
|
||||
icon = "mpv"
|
||||
|
||||
[entries.kind]
|
||||
type = "process" # TODO: change to "media" type once supported
|
||||
command = "mpv"
|
||||
args = ["~/Videos/big_buck_bunny_720p_h264.mov"] # Local file path
|
||||
|
||||
[entries.availability]
|
||||
|
||||
[[entries.availability.windows]]
|
||||
days = "weekdays"
|
||||
start = "15:00"
|
||||
end = "18:00"
|
||||
|
||||
[[entries.availability.windows]]
|
||||
days = "weekends"
|
||||
start = "10:00"
|
||||
end = "20:00"
|
||||
|
||||
# "lofi hip hop radio 📚 beats to relax/study to" streamed live from YouTube
|
||||
[[entries]]
|
||||
id = "lofi-beats"
|
||||
|
|
|
|||
Loading…
Reference in a new issue