Files
calctext/_bmad-output/implementation-artifacts/8-4-system-tray-mode.md
2026-03-16 19:54:53 -04:00

47 lines
1.5 KiB
Markdown

---
epic: 8
story: 8.4
title: "System Tray Mode"
status: draft
---
## Epic 8 — Windows App (Rust + iced)
**Goal:** Fast, lightweight native Windows app -- single .exe, no runtime dependencies.
### Story 8.4: System Tray Mode
As a **Windows user**,
I want CalcPad to run in the system tray,
So that it is always available without taking up taskbar space.
**Acceptance Criteria:**
**Given** the app is running
**When** the user looks at the Windows system tray (notification area)
**Then** a CalcPad icon is visible
**Given** the tray icon is present
**When** the user right-clicks the tray icon
**Then** a context menu appears with options: Show, New Sheet, Recent Sheets (submenu), and Quit
**Given** the tray icon is present
**When** the user left-clicks the tray icon
**Then** the main CalcPad window toggles visibility (shows if hidden, hides if shown)
**Given** the user selects "New Sheet" from the tray menu
**When** the action is processed
**Then** the main window opens (if hidden) and a new empty sheet is created
**Given** the user closes the main window (clicks the X button)
**When** "background running" is enabled in settings
**Then** the app minimizes to the tray instead of quitting
**And** the tray icon remains active
**Given** the user selects "Quit" from the tray context menu
**When** the action is processed
**Then** the app fully terminates (saves state and exits)
**Given** "background running" is disabled in settings
**When** the user closes the main window
**Then** the app exits completely (no tray persistence)