BluetoothAudioManager
- Replace Timer.scheduledTimer polling with DispatchSourceTimer on a
utility queue so main-thread back-pressure no longer stalls the 3s
connect-detection cadence.
- Distinguish "host controller unavailable" from "powered off" via a
new bluetoothIsPoweredOn() helper, so transient IOBluetooth registry
blips at launch no longer clear connectedDevices.
- Re-read device metadata (name, type, battery) at +500ms and +2s after
IOBluetoothDeviceConnectedNotification to catch IORegistry's
late-population window; the existing HUD wait-task then updates the
shown battery in place.
- Declare BluetoothAudioDeviceType: Equatable to support the
change-detection diff in the re-read pass.
LockSoundPlayer
- Add a 1.2s cross-type cooldown so a rapid lid close->open no longer
plays lock-then-unlock chimes as a doubled sound (the per-type
throttle never covered this case).
- Bump per-type throttle 0.25s -> 0.6s.
- Reset throttle state when enableLockSounds is toggled back on, so the
first chime after re-enable is never suppressed by a stale timestamp.
StatsManager
- Shorten notchCloseStopDelay 3.0s -> 1.0s so the monitoring timer is
invalidated sooner after the user closes the notch, freeing the
main-thread tick budget for animation work.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add session-active and CGSession poll fallbacks for unlock detection
- Force weather panel alpha to 0 before orderOut for instant hide
Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>
Right-click on the album art in the lock screen music panel to set it
as the desktop wallpaper. Right-click again or click anywhere on the
background to restore the original wallpaper. Wallpaper also restores
automatically on track change or screen unlock.
Uses direct plist manipulation of the wallpaper config to avoid leaving
traces in the wallpaper picker. Album art PNG is pre-cached in the
background on track change for instant application.
Adds video artwork URL fetching from iTunes catalog for Apple Music
tracks (musicVideo entity search).
Signed-off-by: Jis G Jacob <studiokeys@blissroms.org>