v1.1.0 — Flow Metrics, Thermal Awareness & Design Spells
What's New in Lively 1.1
📊 Flow Metrics (LV-1 · LV-2 · LV-3)
First-run activation tracking
Lively now quietly marks the moment your first wallpaper plays. A friendly confirmation toast appears — "Playing on this Space. Switch Spaces to set another." — so you know it worked.
Days-active counter
A subtle footer in the Displays view counts the number of days you've had Lively actively rendering. The counter rolls up with a satisfying spring animation every time you open the panel.
Privacy: All metrics are stored only on this device using system defaults. Nothing is uploaded, transmitted, or shared — ever.
Thermal throttling (performance honesty)
Lively now monitors your Mac's thermal state. If it detects your machine running hot (serious or critical), it automatically pauses all wallpaper playback to protect battery life and reduce heat. An orange banner appears so you always know why playback stopped. When things cool down, Lively resumes automatically.
✨ Design Spells
- Breathing dots loader — The "detecting displays" spinner is replaced by three staggered breathing dots that pulse in cascade. Purely decorative; hidden from accessibility tree.
- Aurora drop-zone border — Drag a video over a drop zone and a rotating angular gradient halo lights up the border, inviting the drop. Each drop zone owns its own independent animation state.
- Number roll-up — The days-active counter animates from 0 to its real value on every open, using SwiftUI's native
.numericTextcontent transition. - PillTabBar glow bloom — The active tab now casts a soft teal shadow bloom with a springy bounce on switch.
All animations respect Reduce Motion — they are completely disabled when the system accessibility setting is on.
🔧 Code Quality Improvements (post code-review)
- Drop zones in appearance mode now have independent animation state (no more cross-zone reset glitch)
- Task cancellation in toast/error timers is now semantically correct (
do/catchinstead oftry?/isCancelled) AppMetricsis@MainActorisolated (was@unchecked Sendablewithout a lock)DateFormatterallocated once withen_US_POSIXlocale — day deduplication is now locale-stable on all devices- Roll-up animation uses
Task { @MainActor in }(auto-cancelled on view disappear, replacing GCDasyncAfter) - Deprecated
.foregroundColorreplaced with.foregroundStylethroughout - Metrics footer hidden on first launch (no awkward "Active 0 days.")
Installation
Homebrew (recommended)
Lively is distributed via a custom tap — not the main Homebrew Cask repository. Use the full tap name:
# First time
brew tap harshabala/lively https://github.com/harshabala/Lively
brew install --cask lively
# Update existing install
brew upgrade --cask harshabala/lively/livelyManual
Download Lively-1.1.0-macOS.zip below, unzip, and drag Lively.app to your Applications folder.
Requires: macOS 14 Sonoma or later · Apple Silicon or Intel