Transform your Mac's notch into a live, interactive island.
Now Playing · Battery · Weather · Calendar · Notifications · Extensions
- macOS 14 Sonoma or later
- Xcode 15+
- XcodeGen —
brew install xcodegen - Node.js 18+ (only needed to work on extensions)
git clone https://github.com/ItsClankerAI/ZenIsland.git
cd ZenIsland
xcodegen generate
open ZenIsland.xcodeprojSelect the ZenIsland scheme, choose your Mac as the destination, and hit Run.
On first launch the app will ask for Accessibility, Calendar, and Location permissions. These are required for the relevant modules to work.
For a local Debug build:
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer xcodebuild -project ZenIsland.xcodeproj -scheme ZenIsland -configuration Debug -destination 'platform=macOS' buildZenIsland/
App/ AppDelegate, AppState
Modules/ Built-in modules (Battery, NowPlaying, Weather, …)
Settings/ Settings window views
Utilities/ UpdateChecker, AutoUpdater, helpers
Views/ CompactView, ExpandedView, IslandWindow
ExtensionHost/ JS runtime, extension manager, bridge
Extensions/ Bundled extensions (pomodoro, whatsapp-web, …)
scripts/ Local extension maintenance scripts
Extensions are JavaScript packages that run inside a sandboxed JavaScriptCore context. Read the local guide in EXTENSIONS.md.
The Notifications module supports source-level controls for ZenIsland extensions, the bundled WhatsApp integration, and compatible public app broadcasts. See docs/NOTIFICATIONS.md.
Now Playing supports system media, Apple Music, Spotify, and opt-in browser media detection for supported Chromium browsers. See docs/NOW_PLAYING.md.
Settings -> General -> Power includes Normal, Smart, and Low Power modes. Smart reduces background refresh while the island is collapsed, while Low Power slows non-essential work and pauses inactive extension timers. See docs/ENERGY.md for profiling notes and scheduler behavior.
Home slots, compact island size, animation intensity, and reduced motion can be configured in Settings. See docs/APPEARANCE.md.
The Calendar module supports account/source selection, holiday and birthday filters, duplicate collapse, and meeting-link actions. See docs/CALENDAR.md.
The built-in Shelf module can stage local files, folders, URLs, text snippets, and images from the island. See docs/SHELF.md.
See CONTRIBUTING.md.
ZenIsland is released under the MIT License.
