47 lines
1.5 KiB
Markdown
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)
|