Documentation
¶
Overview ¶
Package desktop is Exhale installed as a desktop app (ADR 0029, 0030). Opening the app makes sure the server runs in the background, as the person who opened it and from the next login on, then shows the web UI in a window of its own (package window), or in the browser where there is none.
Index ¶
Constants ¶
const ID = "io.github.akamachinecode.exhale"
ID names Exhale to the operating system: the bundle identifier of the macOS app and the label of its launchd agent (as in deploy/launchd).
const VersionHeader = "X-Exhale-Version"
VersionHeader carries the server's version in the answer of /healthz, so an upgraded app can tell that an older server is still running.
Variables ¶
This section is empty.
Functions ¶
func DefaultLogFile ¶
DefaultLogFile is the log of a server started without a terminal.
Types ¶
type App ¶
type App struct {
Exe string // this program, with symlinks resolved
Listen string // address the server listens on, as given to serve
Version string // version of this program
DataDir string // the server's data directory
LogFile string // where a server started from here writes its log
// Login is set in the desktop builds (Exhale.app, Exhale.exe): they
// also make Exhale start when the person logs in.
Login bool
// Window shows the web UI in a window of its own. It is set in builds
// with the desktop tag; without it, a window program next to this one
// (exhale-window in the Linux packages) is used, or else the browser.
Window func(url string) error
// Browser opens the browser even where there is a window.
Browser bool
}
App is this program, about to be opened.