gui/pkg/display
Virgil f854b65720
Some checks failed
Security Scan / security (push) Failing after 30s
Test / test (push) Successful in 1m16s
refactor(ax): align WebSocket and window naming
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 07:23:22 +00:00
..
.github/workflows feat: initial Wails v3 desktop framework 2026-01-30 08:44:23 +00:00
assets feat: initial Wails v3 desktop framework 2026-01-30 08:44:23 +00:00
docs refactor(ax): align WebSocket and window naming 2026-03-31 07:23:22 +00:00
.gitignore feat: initial Wails v3 desktop framework 2026-01-30 08:44:23 +00:00
display.go refactor(ax): align WebSocket and window naming 2026-03-31 07:23:22 +00:00
display_test.go refactor(ax): align WebSocket and window naming 2026-03-31 07:23:22 +00:00
events.go refactor(ax): align WebSocket and window naming 2026-03-31 07:23:22 +00:00
FEATURES.md feat: initial Wails v3 desktop framework 2026-01-30 08:44:23 +00:00
interfaces.go refactor(display): migrate stale Wails calls to IPC, remove wrapper types 2026-03-13 14:53:50 +00:00
LICENSE feat: initial Wails v3 desktop framework 2026-01-30 08:44:23 +00:00
messages.go refactor(ax): align WebSocket and window naming 2026-03-31 07:23:22 +00:00
mocks_test.go refactor(display): remove extracted clipboard/dialog/notification/theme/screen code 2026-03-13 14:24:06 +00:00
README.md refactor(ax): standardise display and window contracts 2026-03-31 06:22:04 +00:00

Display

pkg/display is the Core GUI display service. It owns window orchestration, layouts, menus, system tray state, dialogs, notifications, and the IPC bridge to the frontend.

Working Locally

  1. Run the backend tests:
    go test ./pkg/display/...
    
  2. Run the full workspace tests when you touch IPC contracts:
    go test ./...
    
  3. Build the Angular frontend:
    cd ui
    npm install
    npm run build
    

Declarative Windows

Windows are created from a window.Window spec instead of a fluent option chain:

svc.OpenWindow(window.Window{Name: "editor", Title: "Editor", URL: "/#/editor"})

The same spec is used by CreateWindow, layout restore, tiling, snapping, and workflow presets.