feat: add tray streaming status and app icon
- tray icon and tooltip now reflect engine state: grey when stopped, green + live frame/drop counters in the tooltip while streaming - generate a proper app icon (assets/, via cmd/teleportfling-icon) and embed it so the window and tray carry the icon without runtime files - add a .desktop entry template for launching from an app menu - run Fyne UI updates (status label, tray icon/tooltip) on the main thread via fyne.Do to satisfy the threading model
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
// Package assets embeds the TeleportFling application icon.
|
||||
//
|
||||
// The PNGs live in the repository assets/ directory and are generated by
|
||||
// cmd/teleportfling-icon. Embedding keeps the icon with the binary so the GUI
|
||||
// and tray never depend on a runtime file path.
|
||||
package assets
|
||||
|
||||
import _ "embed"
|
||||
|
||||
// AppIcon256 is the 256px application icon.
|
||||
//
|
||||
//go:embed teleportfling-256.png
|
||||
var AppIcon256 []byte
|
||||
|
||||
// AppIcon64 is the 64px icon used by the system tray.
|
||||
//
|
||||
//go:embed teleportfling-64.png
|
||||
var AppIcon64 []byte
|
||||
|
||||
// AppIcon is the full-resolution (512px) application icon.
|
||||
//
|
||||
//go:embed teleportfling.png
|
||||
var AppIcon []byte
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 431 B |
@@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=TeleportFling
|
||||
GenericName=Screen and audio stream sender
|
||||
Comment=Stream this screen and audio to an OBS Teleport receiver
|
||||
Exec=teleportfling-gui
|
||||
Icon=teleportfling
|
||||
Terminal=false
|
||||
Categories=AudioVideo;Video;Network;
|
||||
StartupNotify=false
|
||||
StartupWMClass=io.teleportfling
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
Reference in New Issue
Block a user