# TeleportFling TODO 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] **`--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/. - [x] **Run as a daemon** — `contrib/install-daemon.sh` installs a per-user systemd unit (`contrib/teleportfling.service`) that starts the headless CLI with its own config at `~/.config/teleportfling/daemon.json`. ## Ideas (not yet scoped) - Live settings changes mid-stream (`flinger.SetConfig` for FPS/quality). - Bitrate/bandwidth tuning beyond the balanced 1080p30 default. - Screen capture scaling / downsampling. - Packaging (Nix package / AppImage / release binaries) — deliberately deferred.