Files
TeleportFling/todo.md
T
petere 5f5a2d8650 feat: add Nix flake package, AppImage and .deb packaging
- flake: build teleportfling and teleportfling-gui as nixpkgs packages
  (buildGoModule) with a .desktop entry and icon for the GUI
- packaging/appimage.sh: bundle the GUI + runtime libs (recursive ldd)
  into a self-contained AppImage via appimagetool
- packaging/deb.sh: build a .deb for Debian/Ubuntu with both binaries,
  desktop entry, icon and declared runtime dependencies
- README: document all three packaging methods
- .gitignore: ignore dist/
2026-09-19 10:31:35 +01:00

35 lines
1.9 KiB
Markdown

# TeleportFling TODO
Backlog of deferred / planned work, tracked outside of milestone milestones.
## Planned
- [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/.
- [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`.
## Future / Ideas (not yet scoped)
- [ ] **Live settings changes mid-stream**`flinger.SetConfig` for FPS/quality
without a restart.
- [ ] **Bitrate / bandwidth tuning** — options beyond the balanced 1080p30
default.
- [ ] **Screen capture scaling / downsampling** — capture a scaled region rather
than the monitor's native resolution.
- [ ] **Multi-monitor verification** — the GUI monitor picker enumerates via
hyprctl; confirm behaviour on a real multi-monitor setup.
- [ ] **Non-Hyprland monitor enumeration** — portal-based fallback so the picker
works on GNOME/KDE etc. (currently falls back to a single indexed option).
- [ ] **Packaging** — Nix flake package, AppImage, and `.deb` for Debian/Ubuntu
(in progress: flake package, AppImage and .deb scripts added under
packaging/; verify on a real Debian/Ubuntu machine).