Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

SuperIsland

SuperIsland

Transform your Mac's notch into a live, interactive island.
Now Playing · Battery · Weather · Calendar · Notifications · Extensions

Website · Docs · Releases


Requirements

  • macOS 14 Sonoma or later
  • Xcode 15+
  • XcodeGenbrew install xcodegen
  • Node.js 18+ (only needed to work on extensions)

Setup

git clone https://github.com/shobhit99/superisland.git cd superisland xcodegen generate open SuperIsland.xcodeproj

Select the SuperIsland 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.


Building a DMG

For a quick unsigned local build:

./scripts/build-dmg.sh

For a signed release, use a Developer ID certificate and notarization credentials. Copy .env.template to .env and fill in:

APPLE_ID=you@example.com
APP_SPECIFIC_PASSWORD=xxxx-xxxx-xxxx-xxxx
TEAM_ID=XXXXXXXXXX
SIGNING_IDENTITY=Developer ID Application: Your Name (TEAMID)

Then run:

./scripts/build-and-release.sh

This archives a universal app, bundles a universal runtime, notarizes the DMG, and produces build/SuperIsland.dmg.

Release and Homebrew packaging notes are in docs/RELEASE.md. A Homebrew Cask template is available at packaging/homebrew/superisland.rb.

To verify a built app bundle:

./scripts/verify-universal-build.sh build/SuperIsland.app --skip-signature

Project structure

SuperIsland/
  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/            Build & release scripts

Extensions

Extensions are JavaScript packages that run inside a sandboxed JavaScriptCore context. Read the full guide at dynamicisland.app/docs or in EXTENSIONS.md.

Notifications

The Notifications module supports source-level controls for SuperIsland extensions, the bundled WhatsApp integration, and compatible public app broadcasts. See docs/NOTIFICATIONS.md.

Now Playing

Now Playing supports system media, Apple Music, Spotify, and opt-in browser media detection for supported Chromium browsers. See docs/NOW_PLAYING.md.

Energy settings

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.

Appearance

Home slots, compact island size, animation intensity, and reduced motion can be configured in Settings. See docs/APPEARANCE.md.

Calendar

The Calendar module supports account/source selection, holiday and birthday filters, duplicate collapse, and meeting-link actions. See docs/CALENDAR.md.

File Shelf

The built-in Shelf module can stage local files, folders, URLs, text snippets, and images from the island. See docs/SHELF.md.


Contributing

See CONTRIBUTING.md.


Updates

SuperIsland checks for updates automatically on launch. When a new version is available a dialog appears — click Update to download and install without reinstalling.


Star History

Star History Chart

关于 About

Dynamic Island for MacOS — with Extensions
dynamicislandmacosnotchsuperisland

语言 Languages

Swift74.4%
JavaScript16.2%
Python7.4%
Shell1.3%
Perl0.6%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
187
Total Commits
峰值: 58次/周
Less
More

核心贡献者 Contributors