Wane is a native macOS menubar app that renders subtle progress bars along the screen edge for the current workday, week, month, and year.
Requirements:
- macOS 13 Ventura or newer
- Swift 5.9 or newer
Build and run:
swift build
swift run WaneRun tests:
swift testBuild a direct-download DMG:
./scripts/build_release.sh 0.0001See docs/Release.md for signing, notarization, and Sparkle appcast steps.
The source icon is kept at docs/wane_icon.png. The macOS app icon is generated
as Sources/WaneCore/Resources/WaneIcon.icns and referenced from
Config/Wane-Info.plist via CFBundleIconFile.
Wane is prepared for Homebrew Cask distribution. After the tap repository is published, users can install with:
brew tap 08820048/wane
brew install --cask waneSee docs/Homebrew.md for tap setup and release requirements.
Wane uses Sparkle 2 for direct-download builds. The code path is wired through
SoftwareUpdateController, but Sparkle only starts when the app bundle
Info.plist contains both:
SUFeedURLSUPublicEDKey
Use Config/Wane-Info.plist as the template for these keys. Generate Sparkle
signing keys and appcasts with Sparkle's release tools before shipping a
notarized direct-download build.
Current Sparkle public key:
WPgzx2GIqY8DUPWOe6OuHrr1BecMrHaoUknSdM245dw=
The matching private key is stored in the local macOS Keychain by Sparkle's
generate_keys tool. Do not commit exported private keys.
Sources/WaneApp SwiftUI app entry point
Sources/WaneCore/App Menu bar lifecycle
Sources/WaneCore/Core Preferences, time calculations, screen management
Sources/WaneCore/Window Edge windows and progress bar rendering
Sources/WaneCore/Settings SwiftUI settings and popover UI
Apache License 2.0 with Commons Clause. See LICENSE.