2.3 KiB
2.3 KiB
Project TODOs
This file tracks higher-level todos and design notes for the infoscreen client.
Video playback (Raspberry Pi)
-
Remove taskbar / window decorations in VLC window
- Goal: show video truly fullscreen without window title bar or OS panel/taskbar overlapping.
- Ideas / approaches:
- Use libVLC options from python-vlc:
--no-video-deco,--no-video-title-show,--video-on-top, and callplayer.set_fullscreen(True)after playback starts. - Run the Display Manager in a dedicated kiosk X session (no panel/desktop environment) or minimal window manager (openbox/matchbox) to avoid taskbar.
- Use
wmctrlas a fallback to force fullscreen/above:wmctrl -r <title> -b add,fullscreen,above. - Add an env var toggle, e.g.
VLC_KIOSK=1, to enable these options from runtime.
- Use libVLC options from python-vlc:
- Acceptance criteria:
- Video occupies the full display area with no visible window controls or panels on top.
- Behaviour toggleable via env var.
-
Add possibility to adjust sound level by HDMI-CEC using Python
- Goal: allow remote/automatic volume control over HDMI using CEC-capable hardware.
- Ideas / approaches:
- Use
libcecbindings (e.g.pycec/cecpackages) or callcec-clientfrom shell to send volume commands to the TV/AVR. - Map event volume (0.0-1.0) to CEC volume commands (some devices support absolute volume or key presses like
VOLUME_UP/VOLUME_DOWN). - Provide a small adapter module
src/hdmi_cec.pythat exposesset_volume(level: float)andvolume_step(up: bool)used bydisplay_manager.pywhen starting/stopping videos or on explicit volume events.
- Use
- Acceptance criteria:
set_volume()issues appropriate CEC commands and returns success/failure.- Document any platform limitations (some TVs don't support absolute volume via CEC).
Next-high-level items
- Add environment-controlled libVLC hw-accel toggle (
VLC_HW_ACCEL=1|0) todisplay_manager.pyso software decode can be forced when necessary. - Add automated tests for video start/stop lifecycle (mock python-vlc) to ensure resources are released on event end.
Notes
- Keep all changes backward-compatible: external
vlcbinary fallback should still work. - Document any new env vars in
README.mdand.github/copilot-instructions.mdif added.
Generated: 2025-10-25