Package: roku_remote_tui Entry: python3 -m roku_remote_tui
High-level flow
- main.py:
- TTY guard
- curses.wrapper(main)
- app.py:
- Main curses application loop
- Focus handling (Remote/Apps/etc)
- Renders via ui/renderer.py
- Input dispatch via ui/input_handler.py
- OK-hold tick lives in the main loop (no timers)
- state.py:
- App state container
- Message state / TTL
- Favorites, selected items, focus state
- Compatibility shim: launch_app() for Apps focus Enter
Subpackages
- ui/
- renderer.py: all drawing
- input_handler.py: keyboard/mouse handling + flood protection
- storage/
- favorites.py: favorites persistence
- utils/
- text.py: formatting helpers
Stability constraints are documented in STABLE.md.