Documentation
¶
Overview ¶
Package systemtray runs the OS system tray UI for a wick-powered app: start/stop the local HTTP server and the background job worker (both in-process via cancellable goroutines), and install or uninstall the app's MCP entry into detected MCP clients (Claude Desktop, Cursor, etc).
Wired into downstream apps via the `tray` subcommand registered in app.Run(). Not a standalone main.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BrandIcon ¶ added in v0.8.0
BrandIcon renders the plain brand mark — green bg + white W, no state badge. Used by `wick build` for the Windows .exe icon so Explorer thumbnail / taskbar entry stay clean (state belongs in the tray, not the file icon).
func Run ¶
func Run(projectDir, name, appVer, wickVer, commit, builtAt, repo, pat string)
Run starts the system tray and blocks until the user picks Quit. projectDir is the wick project directory (CWD where the binary lives). name is the MCP server name written into client configs (default: dir name). appVer / wickVer / commit / builtAt are the build-injected versions surfaced in the About submenu. repo ("owner/repo") and pat are injected by `wick build` for the self-updater; empty values disable it.
func WickIcon ¶ added in v0.8.0
WickIcon renders the brand W with a state-specific corner badge, Defender-style. Exported so `wick build` can embed the same icon into the downstream Windows .exe via a generated .syso resource.
stopped (both off) : gray bg + dim W (no badge) server only : blue bg + W + server-bars badge worker only : orange bg + W + gear badge both : green bg + W + green-check badge
64×64 canvas. Background color is the primary signal at 16-px tray scale; the badge becomes legible at larger DPI. asICO chooses the container format — true for Windows .exe / tray icons, false for PNG (non-Windows tray rendering). Caller decides because the build path cross-compiles where runtime.GOOS doesn't match the target.
Types ¶
This section is empty.