Background
Today there's no clean operator-side way to safely eject USB sticks before yanking. The existing infrastructure already provides defense-in-depth via sync,dirsync mount flags (FAT writes are flushed immediately), but there's no explicit "release this stick now" workflow.
Proposal
Add a new combo to the panic-button daemon, mirroring the kid-reset combo design:
- New helper
/usr/local/sbin/chimebox-usb-eject that iterates outside-world/USB-* sub-folders and umounts them (polite then lazy, same pattern as chimebox-usb-helper.sh)
- New
[combo:usb-eject] in panic-daemon config: Ctrl+Alt+Shift+E, hold 1.0s, opt-in (default off)
- Optional brief audio "dink" via
aplay for user feedback
Cost: ~1 hour. Slot into existing panic-button + outside-world patterns.
Acceptance
- Operator presses Ctrl+Alt+Shift+E and holds 1s → all USB sub-folders umount cleanly
- Logged via
journalctl -t chimebox-usb-eject
- Documented in roles/panic-button/README.md
See also #3 (long-term: Mac drag-to-Trash equivalent).
Background
Today there's no clean operator-side way to safely eject USB sticks before yanking. The existing infrastructure already provides defense-in-depth via
sync,dirsyncmount flags (FAT writes are flushed immediately), but there's no explicit "release this stick now" workflow.Proposal
Add a new combo to the panic-button daemon, mirroring the kid-reset combo design:
/usr/local/sbin/chimebox-usb-ejectthat iteratesoutside-world/USB-*sub-folders and umounts them (polite then lazy, same pattern aschimebox-usb-helper.sh)[combo:usb-eject]in panic-daemon config:Ctrl+Alt+Shift+E, hold 1.0s, opt-in (default off)aplayfor user feedbackCost: ~1 hour. Slot into existing panic-button + outside-world patterns.
Acceptance
journalctl -t chimebox-usb-ejectSee also #3 (long-term: Mac drag-to-Trash equivalent).