Interfaces

macOS GUI

A detachable menu bar panel built with Wails v3 and Svelte 5.

lazyagent --gui

The GUI process detaches from your terminal — the shell returns immediately and the app lives in your menu bar. There’s no Dock icon (it’s registered as a macOS accessory app). Click the tray icon to toggle the panel.

lazyagent macOS menu bar app

The detachable panel

The panel defaults to an attached popover below the menu bar icon. Press d (or click the detach button in the header) to pop it out into a standalone resizable window. Once detached you can:

  • Move it anywhere on your screen.
  • Resize it to whatever dimensions you want.
  • Pin it always-on-top so it stays visible while you work.

Press d again or close the window to snap it back to the menu bar.

Keybindings

KeyAction
/ kMove up
/ jMove down
+ / -Adjust time window
fCycle activity filter
/Search sessions
rRename session (empty resets)
dDetach / reattach panel
escClose detail / dismiss search

Right-click menu

Right-click the tray icon for a compact menu:

  • Show Panel — open the session panel (same as left-click)
  • Refresh Now — force reload all sessions
  • Quit — exit the app

Visuals

The GUI uses Catppuccin Mocha as its theme and renders sparklines as real SVG area charts (unlike the TUI’s Unicode braille). Activity badges use the same color taxonomy across all interfaces.

Combining with other interfaces

lazyagent --gui --api            # menu bar + HTTP API
lazyagent --tui --gui --api      # everything

The GUI always runs in its own OS process (Cocoa requires ownership of the main thread), so combined launches fork it transparently. Quitting via the tray menu kills the tray process only — any TUI or API in the same parent invocation keeps running.