Skip to main content

Crate agentmux_launcher

Crate agentmux_launcher 

Source

ModulesΒ§

autostart πŸ”’
Auto-start-at-login registration β€” issue #2977 Workstream 2, docs/specs/SPEC_TRAY_OPTIONAL_BACKGROUND_SERVICE_2026_09_04.md Β§4.
background_config πŸ”’
The tray icon and background-service mode, resolved by the launcher at startup β€” docs/specs/SPEC_OS_NOTIFICATIONS_SYSTEM_2026_09_24.md Β§4.1.
binary_resolution πŸ”’
data_dir πŸ”’
Compatibility shim around agentmux_common::DataPaths.
diag πŸ”’
event_log πŸ”’
hash πŸ”’
host_hang_dump πŸ”’
SPEC_HOST_UI_THREAD_HANG_WATCHDOG_2026_08_14 Β§1–2 β€” capture evidence of a wedged host UI thread before anything (a person, usually) kills it.
host_pipe πŸ”’
host_spawn πŸ”’
ipc πŸ”’
job_object πŸ”’
logging πŸ”’
mem_supervisor πŸ”’
Memory-pressure-aware host supervision β€” P0 of docs/specs/SPEC_MEMORY_PRESSURE_SUPERVISION_2026_06_16.md.
notify πŸ”’
OS notification Presenter β€” docs/specs/SPEC_OS_NOTIFICATIONS_SYSTEM_2026_09_24.md Β§3.2, Β§6.
other_instances πŸ”’
Read-only detection of OTHER AgentMux (channel, version) instances currently running on this machine, for diagnostic logging ONLY.
reducer πŸ”’
saga πŸ”’
second_instance πŸ”’
splash_config πŸ”’
β€œDisable the splash” preference, resolved by the launcher before it spawns the splash (and before the host/srv exist), per SPEC_SPLASH_USERINFO_AND_DISABLE_2026_06_21.md Β§6.
splash_core πŸ”’
Shared startup-splash timeline logic: the row model, event application with same-tick count-up deferral, a frozen-row finalizer, duration formatting, and total/other reconciliation β€” used identically by all three platform splash renderers (splash.rs Windows, splash_mac.rs macOS, splash_linux/ Linux).
splash_font πŸ”’
splash_info πŸ”’
Identity shown in the splash footer: user@host and v<version> (+ a dev label on non-stable builds). Gathered once in the launcher and handed to each platform’s splash backend, so the three render identical content.
splash_linux πŸ”’
Session-aware Linux startup splash.
splash_text πŸ”’
Software text blitter for the splash footer β€” shared by the Linux software buffers (splash_linux) and the Win32 layered-window DIB (splash.rs). macOS uses native NSTextField instead, so it does not use this module.
srv_spawner πŸ”’
stale_srv πŸ”’
Reclaim the data dir from an srv that an earlier launcher left behind.
start_at_login πŸ”’
app:startatlogin: one setting, three views (docs/specs/SPEC_START_WITH_OS_2026_09_25.md Β§3.9).
startup_events πŸ”’
Startup event bus: typed events emitted by each launcher startup stage and consumed by the native splash screen renderer.
state πŸ”’
supervisor πŸ”’
Platform host-supervision loops. The Windows and Unix supervisors are fully #[cfg]-gated in separate files; only the flow spine (launcher_main) lives at the crate root.
teardown_backstop πŸ”’
SPEC_LAUNCHER_TEARDOWN_BACKSTOP_2026_07_11 Phase 2 β€” the armed J0 teardown state machine.
tray πŸ”’
Optional system-tray / menu-bar icon β€” issue #2977 Workstream 1, docs/specs/SPEC_TRAY_OPTIONAL_BACKGROUND_SERVICE_2026_09_04.md.
ui_liveness πŸ”’
SPEC_LAUNCHER_TEARDOWN_BACKSTOP_2026_07_11 Phase 1 β€” UI-thread liveness telemetry (observe-only).
upgrade πŸ”’
Phase 1 of the fast-startup redesign (docs/specs/SPEC_FAST_STARTUP_UPGRADE_OWNS_MIGRATIONS_AND_UPDATES_2026_09_15.md, tracked by issue #3258) β€” the primitives a β€œquiesce srv, run pending migrations, come back” upgrade action needs, built and tested in isolation ahead of wiring them into a live caller.
wrr πŸ”’

FunctionsΒ§

launcher_main πŸ”’
main πŸ”’
Process entry point. suppress_os_crash_dialogs() runs FIRST β€” before the Tokio runtime is built. The runtime is built explicitly here (rather than via #[tokio::main], whose generated wrapper would construct it before any of our code runs) so a fault during runtime construction can’t surface the Windows crash modal either. Spec: docs/specs/SPEC_SERVICE_SUPERVISION_AND_RECOVERY_2026_05_20.md.
show_fatal_dialog πŸ”’
splash_selftest πŸ”’
--splash-selftest: show the splash with no srv/host behind it, hold it for a few seconds (or AGENTMUX_SPLASH_HOLD_MS), then exit. A demo/dev affordance for eyeballing the footer + centering without launching the whole app.
suppress_os_crash_dialogs πŸ”’