DynamicIsland transforms your MacBook's notch into a powerful, interactive control center with advanced system monitoring, music controls, timers, and customizable widgets. Experience smooth animations and intelligent vertical expansion for enhanced productivity.
π Table of Contents
- Live Music Activity: Real-time album art, track info, and playback controls
- Audio Visualizer: Dynamic spectrum visualization with color adaptation
- Multi-Platform Support: Works with Apple Music, Spotify, YouTube Music, and more
- Smooth Transitions: Elegant animations between tracks and states
- Real-Time Performance Stats: CPU, Memory, GPU usage with live graphs
- Network Activity: Upload/download monitoring with dual-quadrant visualization
- Disk I/O Tracking: Read/write speeds with real-time data
- Intelligent Layout: Vertical expansion for 4+ graphs with optimized spacing
- Customizable Visibility: Toggle individual graphs on/off
- Smooth Animations: Debounced updates prevent conflicts and ensure fluid transitions
- Multiple Timers: Create and manage multiple named timers
- Live Activities: Background timer monitoring with notifications
- Custom Colors: Personalize timer appearance
- Quick Access: Direct timer controls from the notch
- Intelligent Battery Alerts: Smart notifications for charging states
- Power Management: Low battery warnings and charging status
- System Integration: Native macOS battery monitoring
- Smooth Transitions: Professionally animated state changes
- Hover Effects: Interactive feedback with haptic support
- Gesture Controls: Swipe to open/close, tap interactions
- Adaptive Sizing: Dynamic height expansion for complex content
- Perfect Alignment: Maintains center positioning across all states
- β Vertical Expansion Layout: No more horizontal stretching - stats expand downward naturally
- β 5-Graph Support: CPU, Memory, GPU, Network, and Disk monitoring
- β Dual-Quadrant Graphs: Network and disk stats show upload/download or read/write in split views
- β Smart Layout System: 1-3 graphs in single row, 4 graphs in 2Γ2 grid, 5 graphs in 3+2 layout
- β Smooth Animations: Debounced updates eliminate jarring transitions
- β Individual Controls: Toggle each graph type independently
- β Perfect Centering: Maintains alignment across all display configurations
Experience DynamicIsland in action with our comprehensive demo showcasing:
- Smooth vertical expansion for system stats
- Real-time performance monitoring with live graphs
- Seamless music integration with album art and controls
- Intelligent layout transitions between different content types
Get DynamicIsland running on your macOS system with these simple steps.
- macOS Sonoma 14.0 or later (optimized for macOS Sequoia 15.0+)
- MacBook with Notch (MacBook Pro 14"/16" M1 Pro/Max/M2/M3 series)
- Xcode 15.0 or later
- Swift 5.9 or later
- Admin privileges for system monitoring features
-
Clone the Repository
git clone https://github.com/Ebullioscopic/DynamicIsland.git cd DynamicIsland -
Open in Xcode
open DynamicIsland.xcodeproj
-
Configure Permissions
- Enable Accessibility permissions in System Settings
- Allow Screen Recording for proper notch integration
- Grant Full Disk Access for system monitoring features
-
Build and Run
- Select your Mac as the target device
- Press
Cmd + Rto build and run - The app will appear in your menu bar and activate the notch
DynamicIsland provides an intuitive interface that adapts to your workflow needs.
- Hover to Activate: Move your cursor near the notch to expand the interface
- Click to Open: Tap the notch area to access full controls
- Gesture Support: Swipe down to expand, swipe up to close
- Tab Navigation: Switch between Home, Shelf, Timer, and Stats tabs
- CPU Usage: Real-time processor utilization with historical graph
- Memory Stats: RAM usage tracking with pressure indicators
- GPU Monitoring: Graphics processor load for intensive tasks
- Network Activity: Live upload/download speeds with dual visualization
- Disk I/O: Read/write operations monitoring for storage performance
- 1-3 Graphs: Single row layout for minimal overhead
- 4 Graphs: 2Γ2 quadrant arrangement for balanced viewing
- 5 Graphs: 3+2 optimized layout with centered bottom row
- Smooth Transitions: Animated layout changes with perfect centering
- Navigate to Settings β Stats
- Enable/Disable Graphs: Toggle individual monitoring features
- Update Frequency: Adjust refresh rates for performance optimization
- Visual Preferences: Customize colors and graph styles
- Appearance: Choose system theme or custom colors
- Behavior: Configure hover sensitivity and auto-close timing
- Gestures: Enable/disable swipe controls and haptic feedback
- Display: Multi-monitor support and positioning options
Once DynamicIsland is installed and running, it will display widgets and controls in the MacBook's notch area. Here are some usage tips and customization options.
- Music Controls: Hover over the notch and use on-screen buttons to control playback.
- Battery Status: A battery indicator will be displayed in the notch. Low battery alerts will appear automatically.
- Weather Widget: Displays current weather for your location (requires location access).
- App Switcher: Swipe gestures allow you to quickly switch between open applications.
To personalize your DynamicIsland experience:
- Open Preferences: Access the Preferences pane by long-pressing on the notch area.
- Themes: Choose between light, dark, or system adaptive themes.
- Widget Settings: Enable/disable specific widgets, adjust sizes, and set display preferences.
- Gestures: Customize swipe, tap, and long-press actions for app switching and widget controls.
DynamicIsland offers extensive customization through its intuitive settings interface.
// Enable/disable individual monitoring features
CPU Monitoring: β
Enabled
Memory Tracking: β
Enabled
GPU Monitoring: β
Enabled
Network Activity: β
Enabled
Disk I/O Monitoring: β
Enabled- Visualizer Type: Spectrum analyzer or Lottie animations
- Color Adaptation: Dynamic colors based on album art
- Live Activity: Background playback monitoring
- Media Sources: Apple Music, Spotify, YouTube Music support
- Default Timer Duration: Customizable presets
- Notification Style: Banner, alert, or silent
- Timer Colors: Personal color schemes
- Auto-start Options: Quick timer creation
- Theme: System, light, dark, or custom
- Hover Sensitivity: Adjust activation distance
- Animation Speed: Control transition timing
- Corner Radius: Customize notch appearance
- Shadow Effects: Enable/disable depth effects
- Primary Display: Choose main monitor for the notch
- Show on All Displays: Extend to multiple screens
- Display Switching: Automatic adaptation to external monitors
- Toggle DynamicIsland:
β + β₯ + D - Open Settings:
β + , - Quick Stats:
β + β₯ + S - Timer Control:
β + β₯ + T
Exciting features planned for upcoming releases:
- Enhanced Calendar Integration: Weekly/monthly views with event details
- Weather Widget: Location-based forecasts with beautiful animations
- Custom Shortcuts: User-defined quick actions and app launchers
- Performance Optimizations: Reduced memory footprint and battery usage
- Voice Commands: Siri integration for hands-free control
- Widget Marketplace: Community-created custom widgets
- Advanced Analytics: Historical performance data and trends
- Cloud Sync: Settings synchronization across devices
- AI-Powered Insights: Intelligent system recommendations
- 3D Animations: Enhanced visual effects with depth
- Plugin Architecture: Third-party developer extensions
- Cross-Platform: iPad and iPhone companion apps
Issue: DynamicIsland not appearing or functioning properly Solutions:
- Go to System Settings β Privacy & Security β Accessibility and enable DynamicIsland
- Enable Screen Recording permissions for notch integration
- Grant Full Disk Access for system monitoring features
- Restart the app after granting permissions
Issue: Performance graphs showing no data or frozen Solutions:
- Check that Stats Feature is enabled in Settings
- Verify individual graph toggles are enabled
- Restart the monitoring service: Settings β Stats β Restart Monitoring
- Ensure app has necessary system access permissions
Issue: Music widget not responding or showing incorrect information Solutions:
- Verify media app is actively playing (Apple Music, Spotify, etc.)
- Check Music & Media permissions in System Settings
- Restart the music application
- Toggle Live Activity setting in DynamicIsland preferences
Issue: High CPU usage or slow animations Solutions:
- Reduce stats update frequency: Settings β Stats β Update Interval
- Disable unused monitoring features to reduce overhead
- Close unnecessary background applications
- Restart DynamicIsland if memory usage is high
# Reset all settings to factory defaults
defaults delete com.ebullioscopic.DynamicIsland- Quit DynamicIsland completely
- Delete app from Applications folder
- Remove settings:
~/Library/Preferences/com.ebullioscopic.DynamicIsland.plist - Reinstall from latest build
Enable detailed logging for troubleshooting:
- Hold
β₯while opening Settings - Navigate to Advanced β Debug Mode
- Enable Verbose Logging
- Reproduce the issue and check Console.app for detailed logs
- GitHub Issues: Report bugs or request features
- Discussions: Community support and tips
- Documentation: Detailed guides and API reference
We welcome contributions from developers, designers, and users alike!
- Fork the Repository
- Clone Your Fork:
git clone https://github.com/yourusername/DynamicIsland.git cd DynamicIsland - Install Development Dependencies:
# SwiftLint for code formatting brew install swiftlint # SwiftFormat for consistent styling brew install swiftformat
-
Create Feature Branch:
git checkout -b feature/your-feature-name
-
Follow Code Standards:
- Use SwiftUI best practices
- Follow Apple's Human Interface Guidelines
- Add comprehensive comments for complex logic
- Include unit tests for new functionality
-
Commit Guidelines:
git commit -m "feat: add network monitoring graphs - Implement dual-quadrant visualization - Add upload/download speed tracking - Include BSD socket integration - Update settings UI for new feature"
-
Push and Create PR:
git push origin feature/your-feature-name
- UI/UX Improvements: Mockups and design suggestions
- Icon Design: System icons and app branding
- Animation Concepts: Motion design for smooth interactions
- User Guides: Step-by-step tutorials
- API Documentation: Technical reference materials
- Translations: Localization for international users
- All PRs require review from core maintainers
- Automated testing must pass (CI/CD pipeline)
- Code coverage should not decrease significantly
- Follow semantic versioning for releases
We welcome contributions from the community! Follow the steps below to contribute:
- Fork the repository.
- Clone Your Fork:
git clone https://github.com/yourusername/DynamicIsland.git cd DynamicIsland - Create a New Branch:
git checkout -b feature/YourFeatureName
- Make Your Changes and Commit:
git commit -m "Added new feature" - Push to Your Fork:
git push origin feature/YourFeatureName
- Create a Pull Request: Head to the original repository and open a pull request.
For major changes, please open an issue first to discuss what youβd like to change.
This project is licensed under the MIT License - see the LICENSE file for complete details.
- β Commercial Use: Use in commercial projects
- β Modification: Modify and adapt the code
- β Distribution: Share and redistribute
- β Private Use: Use for personal projects
- β Attribution Required: Credit the original authors
DynamicIsland exists thanks to the contributions and inspiration from:
- Apple's Dynamic Island: The innovative hardware feature that inspired this software implementation
- NotchNook & HiDock: Early notch customization pioneers
- macOS Design Principles: Following Apple's human interface guidelines
- SwiftUI Framework: For modern, reactive user interfaces
- Combine Framework: Reactive programming and data flow
- AVFoundation: Audio processing and media integration
- IOKit: Low-level system monitoring capabilities
- Lottie by Airbnb: Beautiful animations and micro-interactions
- SF Symbols: Consistent iconography throughout the app
- Apple Design Resources: Color palettes and spacing guidelines
- Open Source Contributors: Everyone who submitted code, bug reports, and feature requests
- Beta Testers: Early adopters who helped refine the experience
- Design Feedback: UI/UX suggestions from the community
- Stanford CS193p: SwiftUI development techniques
- Apple WWDC Sessions: Best practices and new framework features
- Ray Wenderlich Tutorials: Advanced iOS/macOS development patterns
Meet the team behind DynamicIsland:
|
Ebullioscopic π Creator & Lead Developer Core architecture, UI/UX design |
Your Name Here π€ Future Contributor Join the project! |
- System Monitoring: Advanced CPU, Memory, GPU tracking
- Network Analytics: Real-time upload/download visualization
- Vertical Layout System: Intelligent graph arrangement
- Performance Optimization: Debounced updates and smooth animations
- Multi-Platform Support: Apple Music, Spotify, YouTube Music
- Audio Visualization: Real-time spectrum analysis
- Live Activities: Background playback monitoring
- Memory Management: Efficient resource utilization
- Animation System: Smooth, conflict-free transitions
- Error Handling: Robust system with graceful degradation