How lingyired/status-trio works
Status Trio is a native macOS status app that combines battery, Wi-Fi, and audio state in a configurable menu-bar and/or Dock icon, with interactive popovers and settings. The principal workflow is system-state collection, snapshot presentation, then user interaction with detailed panels and controls. Bluetooth audio can affect the icon and Bluetooth devices have their own panel; battery details and network link details are separate stages. The README documents additional capabilities not visible in the sampled source, so those branches are represented at their supported enclosing paths.
Main entry points: SystemStatusStore.swift Status store · StatusBarController.swift Menu-bar status · SettingsWindowController.swift Settings window · UI Status panels
Components 22
App lifecycle
- App entry
Sources/StatusTrio/main.swift - Core coordinator
Sources/StatusTrioCore/StatusTrioCore.swift - App updater
Sources/StatusTrioCore/App/UpdaterManager.swift
Status monitoring
- Status store
Sources/StatusTrioCore/Store/SystemStatusStore.swift - Wi-Fi monitoring
Sources/StatusTrioCore/Monitoring/WiFiMonitor.swift - Battery monitoring
Sources/StatusTrioCore/Monitoring/BatteryMonitor.swift - Volume monitoring
Sources/StatusTrioCore/Monitoring/VolumeMonitor.swift - Bluetooth devices
Sources/StatusTrioCore/Monitoring/BluetoothDeviceController.swift - Network details
Sources/StatusTrioCore/Monitoring/NetworkConnectionMonitor.swift - Battery details
Sources/StatusTrioCore/Monitoring/BatteryDetailsController.swift
Status presentation
- Menu-bar status
Sources/StatusTrioCore/UI/StatusBarController.swift - Status popover
Sources/StatusTrioCore/UI/StatusPopoverView.swift - Status panels
Sources/StatusTrioCore/UI - Icon renderer
Sources/StatusTrioCore/UI/Icon/StatusIconRenderer.swift - Dock icon
Sources/StatusTrioCore/App/AppIconController.swift
Settings and onboarding
- Settings store
Sources/StatusTrioCore/Settings/SettingsStore.swift - Settings window
Sources/StatusTrioCore/UI/Settings/SettingsWindowController.swift - Icon guide
Sources/StatusTrioCore/UI/OnboardingWindowController.swift
Audio controls
- Audio controls
Sources/StatusTrioCore/UI/VolumeControlsView.swift - Output devices
Sources/StatusTrioCore/Audio/CoreAudioOutputController.swift
Other components
- User
- System services
Connections 31
- User → App entry: launches
- App entry → Core coordinator: starts
- Core coordinator → Status store: coordinates
- System services → Wi-Fi monitoring: provides state
- System services → Battery monitoring: provides state
- System services → Volume monitoring: provides state
- System services → Bluetooth devices: provides state
- Wi-Fi monitoring → Status store: publishes status
- Battery monitoring → Status store: publishes status
- Volume monitoring → Status store: publishes status
- Bluetooth devices → Status store: publishes devices
- Network details → System services: reads link state
- User → Menu-bar status: opens popover
- Status store → Menu-bar status: supplies snapshot
- Menu-bar status → Icon renderer: renders icon
- Menu-bar status → Status popover: presents
- Status popover → Status panels: shows sections
- Status panels → Battery details: requests details
- Battery details → System services: reads power data
- Status panels → Network details: requests link details
- Status store → Dock icon: supplies snapshot
- Dock icon → Icon renderer: renders icon
- Settings window → Settings store: updates preferences
- Settings store → Menu-bar status: configures display
- Settings store → Dock icon: configures display
- Settings window → User: shows options
- User → Icon guide: views guide
- User → Audio controls: adjusts volume
- Audio controls → Output devices: selects device
- Output devices → System services: controls audio
- Settings window → App updater: checks updates