feat: add AppState enum and programmatic tray icon generation

Implements Task 5 of the TDD plan: creates the tray package with
AppState enum (WAITING, RECORDING, TRANSCRIBING) and a create_icon()
function that generates colorized microphone icons via Pillow.

- whisper_local/tray/__init__.py: empty package marker
- whisper_local/tray/_tray.py: AppState enum
- whisper_local/tray/_icon.py: icon generation with state-specific colors
- tests/test_tray.py: comprehensive test coverage for icon creation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-10 21:07:48 +02:00
parent c21344dfc2
commit eb74e4787f
4 changed files with 84 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
"""Tray-App und App-Zustände für whisper-local (Windows)."""
import enum
class AppState(enum.Enum):
WAITING = "waiting"
RECORDING = "recording"
TRANSCRIBING = "transcribing"