Files
ndots/openspec/specs/power-profile-management/spec.md
2026-07-15 14:14:12 -03:00

55 lines
2.2 KiB
Markdown

# Power Profile Management
## Purpose
This capability provides configurable power management profiles that control system behavior such as screen blanking, locking, and suspension.
## ADDED Requirements
### Requirement: Manage Power Profiles
The system SHALL provide three distinct power management profiles: `caffeinated`, `headless`, and `normal`.
#### Scenario: Caffeinated Profile
- **WHEN** the `caffeinated` profile is active
- **THEN** the system SHALL NOT blank the screen.
- **AND** the system SHALL NOT lock the screen.
- **AND** the system SHALL NOT suspend.
#### Scenario: Headless Profile
- **WHEN** the `headless` profile is active
- **THEN** the system SHALL blank the screen after a timeout.
- **AND** the system SHALL lock the screen when it blanks.
- **AND** the system SHALL NOT suspend.
#### Scenario: Normal Profile
- **WHEN** the `normal` profile is active
- **THEN** the system SHALL blank the screen after a default timeout.
- **AND** the system SHALL lock the screen when it blanks.
- **AND** the system SHALL suspend after a longer default timeout.
### Requirement: Cycle Through Power Profiles
The system SHALL allow the user to cycle through the power profiles using a keybinding.
#### Scenario: Cycle Forward
- **WHEN** the user presses the "next profile" keybinding
- **THEN** the active power profile SHALL change from `normal` to `caffeinated`, `caffeinated` to `headless`, and `headless` to `normal`.
#### Scenario: Cycle Backward
- **WHEN** the user presses the "previous profile" keybinding
- **THEN** the active power profile SHALL change from `normal` to `headless`, `headless` to `caffeinated`, and `caffeinated` to `normal`.
### Requirement: Visual Indicator for Current Profile
The system SHALL display the current power profile mode in the Waybar status bar.
#### Scenario: Display Caffeinated Icon
- **WHEN** the `caffeinated` profile is active
- **THEN** a "caffeinated" icon SHALL be visible in the Waybar status bar.
#### Scenario: Display Headless Icon
- **WHEN** the `headless` profile is active
- **THEN** a "headless" icon SHALL be visible in the Waybar status bar.
#### Scenario: Display Normal Icon
- **WHEN** the `normal` profile is active
- **THEN** a "normal" icon SHALL be visible in the Waybar status bar.