Skip to content

feat(dock): desktop launcher — tray/menu-bar app that runs the server#52

Open
beetlebugorg wants to merge 1 commit into
mainfrom
feat/dock
Open

feat(dock): desktop launcher — tray/menu-bar app that runs the server#52
beetlebugorg wants to merge 1 commit into
mainfrom
feat/dock

Conversation

@beetlebugorg

Copy link
Copy Markdown
Owner

cmd/dock is a small pure-Go launcher (fyne.io/systray): menu bar item on macOS, notification-area icon on Windows, StatusNotifierItem on Linux. It spawns the sibling chartplotter binary's serve subcommand, adopts an already-running server (via the new "app" field on /api/health), opens the browser when healthy, and stops the child on quit. Headless fallback when no tray host is on the bus (stock GNOME); single-instance via lock file; child output logged to the state dir.

Packaging: make xbuild-dock cross-builds dist/dock__ for linux+windows (windows -H=windowsgui) and ships the Linux .desktop + icon; make package-macos assembles an LSUIElement ChartPlotter.app (Info.plist template + AppIcon.icns) natively on a mac. Tray/app icons are generated glyphs (gen_icons.go).

cmd/dock is a small pure-Go launcher (fyne.io/systray): menu bar item on
macOS, notification-area icon on Windows, StatusNotifierItem on Linux. It
spawns the sibling chartplotter binary's serve subcommand, adopts an
already-running server (via the new "app" field on /api/health), opens the
browser when healthy, and stops the child on quit. Headless fallback when no
tray host is on the bus (stock GNOME); single-instance via lock file; child
output logged to the state dir.

Packaging: make xbuild-dock cross-builds dist/dock_<os>_<arch> for
linux+windows (windows -H=windowsgui) and ships the Linux .desktop + icon;
make package-macos assembles an LSUIElement ChartPlotter.app (Info.plist
template + AppIcon.icns) natively on a mac. Tray/app icons are generated
glyphs (gen_icons.go).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant