- 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/
35 lines
1.9 KiB
Markdown
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). |