diff --git a/todo.md b/todo.md index 6b6da95..3590a06 100644 --- a/todo.md +++ b/todo.md @@ -4,12 +4,13 @@ Backlog of deferred / planned work, tracked outside of milestone milestones. ## Planned -- [ ] **Monitor picker in the GUI** — `stream-index` is currently config-only. - Enumerate monitors via the xdg-desktop-portal ScreenCast API and expose - a dropdown in the settings window instead of a manual index. -- [ ] **Surface runtime errors in the GUI** — capture/encode failures currently - only hit the log. Show them in the status label (e.g. a denied - screen-share dialog) so problems are visible without reading logs. +- [x] **Monitor picker in the GUI** — monitors are enumerated via hyprctl + (Hyprland) and shown as a dropdown in the settings window; the selected + monitor persists as `stream_index`. Falls back to a single indexed + option on other compositors. +- [x] **Surface runtime errors in the GUI** — the engine records the most + recent capture/encode/packet/audio error and the GUI shows it in the + status label and tray tooltip (highlighted as a danger). - [x] **`--config` flag** — the CLI and GUI accept a custom config path (`teleportfling --config /path/config.json`); explicit CLI flags override file values. Used by the systemd daemon unit in contrib/.