DynamicIsland Logo
# DynamicIsland

Transform your MacBook's notch into a powerful, interactive control center.
Advanced system monitoring, music controls, timers, widgets, and more — all with beautiful animations and intelligent layouts.

--- ## 📑 Table of Contents - [🎬 Demo](#-demo) - [✨ Features](#-features) - [🚀 Getting Started](#-getting-started) - [📖 Usage](#-usage) - [⚙️ Configuration](#️-configuration) - [🚧 Roadmap](#-roadmap) - [🔧 Troubleshooting](#-troubleshooting) - [🤝 Contributing](#-contributing) - [📜 License](#-license) - [🏆 Acknowledgments](#-acknowledgments) - [👥 Contributors](#-contributors) --- ## 🎬 Demo
DynamicIsland Demo
--- ## ✨ Features
Stats Monitor
Media Controls
### 🎵 Music & Media Controls - **Live Music Activity**: Real-time album art, track info, and playback controls - **Audio Visualizer**: Dynamic spectrum visualization with color adaptation - **Multi-Platform Support**: Apple Music, Spotify, YouTube Music, and more - **Smooth Transitions**: Elegant animations between tracks and states - **Minimalistic Mode**: Streamlined 420px compact layout for essential controls - **Lighting Effects**: Beautiful album art glow effects with player tinting - **Sneak Peek**: Standard and inline preview modes for quick glances ### 📊 Advanced System Monitoring - **CPU, Memory, GPU, Network, Disk**: Real-time stats with live graphs - **Dual-Quadrant Graphs**: Network and disk stats show upload/download or read/write - **Intelligent Layout**: Vertical expansion, 1-5 graph layouts, perfect centering - **Customizable Visibility**: Toggle individual graphs on/off - **Smooth Animations**: Debounced updates for fluid transitions - **Stats Panel**: Floating window with detailed system metrics ### 🎨 ColorPicker
ColorPicker Panel
ColorPicker Popover
- **Screen Color Picking**: Raycast-inspired panel, real-time magnification - **Multiple Formats**: HEX, RGB, HSL, SwiftUI, UIColor, NSColor, CSS, and more - **History & Quick Copy**: Recent colors, hover info, click to copy - **Global Shortcut**: Cmd+Shift+P (customizable) - **Panel & Popover Modes**: Choose between floating panel or integrated popover - **Settings Integration**: Full control over features and appearance ### 📋 Clipboard Manager
Clipboard Panel
Clipboard Popover
- **Clipboard History**: Access recent clipboard items with thumbnails - **Panel & Popover**: Dual display modes for flexible access - **Always Active**: Clipboard monitoring enabled by default - **Quick Access**: Click to copy, keyboard shortcuts for rapid paste ### 🧠 Screen Assistant - **AI-Powered Analysis**: Intelligent screen content understanding - **Panel & Popover Modes**: Flexible display options - **Context-Aware**: Smart suggestions based on screen content - **Keyboard Shortcut**: Quick access to screen analysis ### ✨ Minimalistic Mode (NEW!) - **Compact Layout**: 420px width (vs 640px normal) - **Essential Features Only**: Music controls, HUDs, timer - no clutter - **Perfect for Light Use**: Minimal interface for everyday tasks - **Auto-Configuration**: Profile-based setup during onboarding - **Smooth Transitions**: Seamless switching between modes ### 🎯 Smart Onboarding (NEW!) - **User Profiles**: Developer, Designer, Light Use, Student - **Multi-Select**: Choose multiple profiles for combined features - **Auto-Configuration**: Settings applied based on selected profiles - **Privacy Policy**: Integrated privacy policy links - **Guided Setup**: Camera, calendar, music permissions with clear explanations ### ⏱️ Timer & Productivity - **Multiple Timers**: Create/manage named timers - **Live Activities**: Background timer monitoring, notifications - **Custom Colors**: Personalize timer appearance - **Quick Access**: Direct timer controls from the notch ### 🔋 Battery & System Status - **Intelligent Battery Alerts**: Smart notifications for charging states - **Power Management**: Low battery warnings, charging status - **System Integration**: Native macOS battery monitoring ### 🖥️ Modern UI & Animations - **Smooth Transitions**: Professionally animated state changes - **Hover Effects**: Interactive feedback, 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 ### 🗂️ Widgets & Panels - **Multiple Panel Modes**: Floating panels and integrated popovers - **Clipboard Manager**: Quick access to recent clipboard items (always enabled) - **Screen Assistant**: AI-powered screen content analysis - **ColorPicker**: Professional color picking tool - **Stats Panel**: Floating system monitoring window - **Weather Widget**: Displays current weather (location access required) - **Calendar Integration**: View upcoming events and schedules - **App Switcher**: Swipe gestures for fast app switching ### ⌨️ Keyboard Shortcuts - **Toggle Notch**: Customizable shortcut to open/close DynamicIsland - **Clipboard Panel**: Quick access to clipboard history - **ColorPicker**: Instant color picker activation (Cmd+Shift+P) - **Screen Assistant**: AI analysis shortcut - **Stats Panel**: Toggle system monitoring window - **Demo Timer**: Start 5-minute demo timer - **Sneak Peek**: Quick preview toggle - **Fully Customizable**: All shortcuts can be remapped ### 🎨 Customization & Theming - **Minimalistic Mode**: Toggle between full-featured and minimal layouts - **Corner Radius Scaling**: Adjust notch roundness - **Lighting Effects**: Album art glow and player tinting - **Shadow Effects**: Customize drop shadows - **Mirror Feature**: Quick camera preview - **Custom Animations**: Modern or classic close animations - **Profile-Based Setup**: Auto-configure based on use case --- ## 🚀 Getting Started ### Prerequisites - **macOS Sonoma 14.0+** (Optimized for Sequoia 15.0+) - **MacBook with Notch** (Pro 14"/16" M1/M2/M3/M4 series) - **Xcode 15.0+**, **Swift 5.9+** - **Admin privileges** for system monitoring features ### Installation ```bash git clone https://github.com/Ebullioscopic/DynamicIsland.git cd DynamicIsland open DynamicIsland.xcodeproj ``` 1. Build and run in Xcode (`Cmd + R`) 2. **First Launch Onboarding**: - Choose your profile(s): Developer, Designer, Light Use, or Student - Grant permissions: Camera (for mirror), Calendar, Music - Settings auto-configured based on your selection 3. Enable **Accessibility** for advanced features (ColorPicker, Screen Assistant) 4. The app will appear in your menu bar and activate the notch ### Quick Start Profiles **🔧 Developer** - ColorPicker, Stats, Screen Assistant, Timer enabled - Full feature set for coding workflows **🎨 Designer** - ColorPicker, Mirror, Lighting Effects enabled - Visual-focused tools and aesthetics **✨ Light Use** - Minimalistic Mode (420px compact layout) - Essential features only: Music, HUDs, Timer **📚 Student** - Calendar, Timer, Clipboard enabled - Organization-focused feature set **Note**: Clipboard Manager is always enabled regardless of profile selection. --- ## 📖 Usage ### Basic Controls - **Hover to Activate**: Move cursor near the notch to expand - **Click to Open**: Tap the notch area for full controls - **Gesture Support**: Swipe down to expand, swipe up to close - **Tab Navigation**: Switch between Home, Stats, Timer, and more ### First Time Setup 1. **Choose Your Profile**: Select Developer, Designer, Light Use, or Student 2. **Grant Permissions**: Camera, Calendar, Music access as needed 3. **Enable Accessibility**: For ColorPicker and Screen Assistant (optional) 4. **Customize**: Visit Settings to fine-tune features ### Music & Media - **Now Playing**: Album art, track info, playback controls - **Visualizer**: Real-time audio spectrum (enable in Settings) - **Minimalistic Mode**: Compact 420px layout for essential controls - **Sneak Peek**: Quick preview without fully opening ### System Monitoring - **Stats Tab**: CPU, Memory, GPU, Network, Disk with live graphs - **Layout Intelligence**: 1-3 graphs in a row, 4+ in grid layout - **Stats Panel**: Floating window for persistent monitoring - **Smooth Transitions**: Animated layout changes, perfect centering ### ColorPicker - **Quick Access**: Cmd+Shift+P or from tab navigation - **Pick Colors**: Click anywhere on screen to sample - **Copy Formats**: HEX, RGB, HSL, SwiftUI, CSS, and more - **History**: Access recently picked colors - **Panel/Popover**: Choose your preferred display mode ### Clipboard Manager - **Always Active**: Clipboard history automatically tracked - **Panel Access**: Keyboard shortcut or tab navigation - **Quick Copy**: Click any item to copy to clipboard - **Visual Previews**: See thumbnails of copied content ### Screen Assistant - **AI Analysis**: Intelligent screen content understanding - **Context Aware**: Smart suggestions based on what you're viewing - **Keyboard Shortcut**: Quick activation - **Privacy First**: Local processing, no data sent externally ### Customization - **Settings Window**: Click menubar icon → Settings - **Profile Switch**: Change between Developer/Designer/Light/Student modes - **Minimalistic Toggle**: Enable/disable compact layout - **Feature Toggles**: Enable/disable individual features - **Keyboard Shortcuts**: Customize all hotkeys - **Themes**: Light, dark, system adaptive --- ## ⚙️ Configuration ### Settings Categories #### General - **Menubar Icon**: Show/hide menubar icon - **Multi-Display Support**: Choose main monitor, show on all displays - **Minimalistic Mode**: Enable compact 420px layout - **User Profiles**: Switch between Developer/Designer/Light/Student #### Appearance - **Corner Radius Scaling**: Adjust notch roundness - **Lighting Effects**: Album art glow and player tinting - **Shadow Effects**: Enable/disable drop shadows - **Mirror Feature**: Toggle camera preview - **Modern Animations**: Choose animation styles - **Themes**: Light, dark, system adaptive #### Behavior - **Hover Sensitivity**: Adjust activation distance - **Open on Hover**: Auto-expand on cursor proximity - **Haptic Feedback**: Enable/disable haptics - **Gestures**: Customize swipe, tap, long-press actions #### Features - **Stats Monitoring**: Enable/disable CPU, Memory, GPU, Network, Disk - **ColorPicker**: Toggle feature, set keyboard shortcut, panel/popover mode - **Clipboard Manager**: Always enabled, configure display mode - **Screen Assistant**: Enable/disable, set keyboard shortcut - **Timer**: Default duration, notification style, colors - **Music & Media**: Visualizer type, color adaptation, media sources #### Keyboard Shortcuts - **Toggle Notch**: Open/close DynamicIsland - **Sneak Peek**: Quick preview toggle - **Clipboard**: Open clipboard panel - **ColorPicker**: Activate color picker (default: Cmd+Shift+P) - **Screen Assistant**: Open AI assistant - **Stats Panel**: Toggle monitoring window - **Demo Timer**: Start 5-minute timer - **All Customizable**: Remap any shortcut #### Privacy & Permissions - **Accessibility**: Required for ColorPicker, Screen Assistant - **Camera**: For mirror feature - **Calendar**: For event display - **Music**: For playback controls ### Reset to Defaults Use the included script to reset all settings: ```bash ./reset_app_defaults.sh ``` This will: - Clear all UserDefaults - Remove application support files - Remove caches and preferences - Reset to fresh install state (shows onboarding) --- ## 🚧 Roadmap ### ✅ Recently Added - **Minimalistic Mode**: Compact 420px layout for light use - **Smart Onboarding**: Profile-based setup (Developer/Designer/Light/Student) - **ColorPicker**: Professional screen color picking tool - **Clipboard Manager**: Always-on clipboard history - **Screen Assistant**: AI-powered screen analysis - **Panel System**: Floating windows and integrated popovers - **Lighting Effects**: Album art glow and player tinting - **Stats Panel**: Floating system monitoring window - **Enhanced Keyboard Shortcuts**: Full customization support ### 🔄 Upcoming Features - **Enhanced Calendar Integration**: Weekly/monthly views, event details - **Weather Widget**: Location-based forecasts, beautiful animations - **Custom Shortcuts**: User-defined quick actions, app launchers - **Performance Optimizations**: Reduced memory/battery usage - **Voice Commands**: Siri integration - **Widget Marketplace**: Community custom widgets - **Advanced Analytics**: Historical performance data - **Cloud Sync**: Settings across devices - **AI-Powered Insights**: Intelligent system recommendations - **3D Animations**: Enhanced visual effects - **Plugin Architecture**: Third-party extensions - **Cross-Platform**: iPad/iPhone companion apps - **Localization**: Multi-language support --- ## 🔧 Troubleshooting ### Common Issues & Solutions #### Permissions - **Accessibility**: Required for ColorPicker and Screen Assistant - Go to System Settings → Privacy & Security → Accessibility - Enable DynamicIsland - **Important**: Quit and restart the app after granting permission - **Camera**: For mirror feature - **Calendar**: For event display - **Screen Recording**: For advanced features (optional) #### Stats Not Updating - Check feature toggles in Settings → Stats - Verify Stats feature is enabled - Restart monitoring from Settings - Check Activity Monitor for CPU/memory usage #### Music Controls Not Working - Ensure media app (Music, Spotify, etc.) is playing - Check Music permission in System Settings - Restart DynamicIsland - Try switching between media apps #### ColorPicker Not Working - Grant Accessibility permission (see above) - **Must quit and restart** app after granting permission - Check keyboard shortcut isn't conflicting - Verify ColorPicker feature is enabled in Settings #### Window Positioning Issues - If notch appears shifted after toggling Minimalistic Mode: - This was fixed in recent updates - Update to latest version - Window now repositions immediately #### Performance Issues - Reduce stats update frequency in Settings - Disable unused features (Stats, Visualizer, etc.) - Check "Minimalistic Mode" for lighter resource usage - Close other resource-intensive apps - Restart DynamicIsland ### Advanced Troubleshooting #### Reset to Factory Defaults Use the included reset script: ```bash cd /path/to/DynamicIsland ./reset_app_defaults.sh ``` Or manually: ```bash # Clear UserDefaults defaults delete com.karthikinformationtechnology.DynamicIsland # Remove app data rm -rf ~/Library/Application\ Support/DynamicIsland rm -rf ~/Library/Caches/com.karthikinformationtechnology.DynamicIsland rm -f ~/Library/Preferences/com.karthikinformationtechnology.DynamicIsland.plist rm -rf ~/Library/Saved\ Application\ State/com.karthikinformationtechnology.DynamicIsland.savedState ``` #### Clean Reinstall 1. Quit DynamicIsland 2. Delete app from Applications 3. Run reset script (above) 4. Rebuild from Xcode #### Debug Mode - Hold `⌥` while opening Settings - Navigate to Advanced → Debug Mode - Enable Verbose Logging - Check Console.app for detailed logs ### Getting Help - **GitHub Issues**: [Report bugs or request features](https://github.com/Ebullioscopic/DynamicIsland/issues) - **Discussions**: [Ask questions, share ideas](https://github.com/Ebullioscopic/DynamicIsland/discussions) - **Documentation**: Check `ONBOARDING_ENHANCEMENT.md`, `SYSTEM_TIMER_DETECTION.md` for detailed guides --- ## 🤝 Contributing We welcome contributions from developers, designers, and users! ### For Developers 1. **Fork the repository** 2. **Clone your fork** ```bash git clone https://github.com/yourusername/DynamicIsland.git cd DynamicIsland ``` 3. **Install dev dependencies** ```bash brew install swiftlint brew install swiftformat ``` 4. **Create a feature branch** ```bash git checkout -b feature/your-feature-name ``` 5. **Commit & Push** ```bash git commit -m "feat: add new feature" git push origin feature/your-feature-name ``` 6. **Open a Pull Request** ### For Designers - UI/UX improvements, icon design, animation concepts ### For Documentation - User guides, API docs, translations --- ## 📜 License This project is licensed under the **MIT License** — see [LICENSE](LICENSE) for details. --- ## 🏆 Acknowledgments - **Apple's Dynamic Island** — inspiration for this project - **NotchNook & HiDock** — early notch customization pioneers - **SwiftUI, Combine, AVFoundation, IOKit** — technical foundation - **Lottie, SF Symbols, Apple Design Resources** — design & animation - **Open Source Contributors, Beta Testers, Community** --- ## 👥 Contributors
Ebullioscopic
Ebullioscopic

🚀 Creator & Lead Developer
Core architecture, UI/UX design
---
⭐ Star this repository if DynamicIsland enhanced your Mac experience!

🔗 GitHub Project
## 🎬 Preview ![DynamicIsland Preview](https://github.com/Ebullioscopic/DynamicIsland/blob/main/dynamic-island-preview.jpeg) ## 🚀 Demonstration ![DynamicIsland Demo](https://github.com/Ebullioscopic/DynamicIsland/blob/main/dynamic-island-demo.gif)
📑 Table of Contents - [✨ Features](#-features) - [🆕 What's New](#-whats-new) - [🎥 Demo](#-demo) - [🚀 Getting Started](#-getting-started) - [Prerequisites](#prerequisites) - [Installation](#installation) - [📖 Usage](#-usage) - [Basic Controls](#basic-controls) - [System Monitoring](#system-monitoring) - [Customization Options](#customization-options) - [⚙️ Configuration](#️-configuration) - [🚧 Roadmap](#-roadmap) - [🔧 Troubleshooting](#-troubleshooting) - [🤝 Contributing](#-contributing) - [📜 License](#-license) - [🏆 Acknowledgments](#-acknowledgments) - [👥 Contributors](#-contributors)
--- ## ✨ Features ### 🎵 **Music & Media Controls** - **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 ### 📊 **Advanced System Monitoring** - **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 ### ⏱️ **Timer & Productivity** - **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 ### 🔋 **Battery & System Status** - **Intelligent Battery Alerts**: Smart notifications for charging states - **Power Management**: Low battery warnings and charging status - **System Integration**: Native macOS battery monitoring ### 🎨 **Modern UI & Animations** - **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 ## 🆕 What's New ### **Enhanced Stats Feature** - ✅ **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 ## 🎥 Demo 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 ![DynamicIsland Demo](https://github.com/Ebullioscopic/DynamicIsland/raw/main/demo.gif) --- ## 🚀 Getting Started Get **DynamicIsland** running on your macOS system with these simple steps. ### Prerequisites - **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 ### Installation 1. **Clone the Repository** ```bash git clone https://github.com/Ebullioscopic/DynamicIsland.git cd DynamicIsland ``` 2. **Open in Xcode** ```bash open DynamicIsland.xcodeproj ``` 3. **Configure Permissions** - Enable **Accessibility** permissions in System Settings - Allow **Screen Recording** for proper notch integration - Grant **Full Disk Access** for system monitoring features 4. **Build and Run** - Select your Mac as the target device - Press `Cmd + R` to build and run - The app will appear in your menu bar and activate the notch --- ## 📖 Usage **DynamicIsland** provides an intuitive interface that adapts to your workflow needs. ### Basic Controls - **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 ### System Monitoring #### **Stats Tab Features** - **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 #### **Layout Intelligence** - **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 ### Customization Options #### **Stats Configuration** 1. Navigate to **Settings → Stats** 2. **Enable/Disable Graphs**: Toggle individual monitoring features 3. **Update Frequency**: Adjust refresh rates for performance optimization 4. **Visual Preferences**: Customize colors and graph styles #### **General Settings** 1. **Appearance**: Choose system theme or custom colors 2. **Behavior**: Configure hover sensitivity and auto-close timing 3. **Gestures**: Enable/disable swipe controls and haptic feedback 4. **Display**: Multi-monitor support and positioning options --- ## 📖 Usage 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. ### Basic Controls - **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. ### Customization Options To personalize your DynamicIsland experience: 1. **Open Preferences**: Access the Preferences pane by long-pressing on the notch area. 2. **Themes**: Choose between **light**, **dark**, or **system adaptive** themes. 3. **Widget Settings**: Enable/disable specific widgets, adjust sizes, and set display preferences. 4. **Gestures**: Customize swipe, tap, and long-press actions for app switching and widget controls. --- ## ⚙️ Configuration **DynamicIsland** offers extensive customization through its intuitive settings interface. ### Settings Categories #### **📊 Stats Configuration** ```swift // Enable/disable individual monitoring features CPU Monitoring: ✅ Enabled Memory Tracking: ✅ Enabled GPU Monitoring: ✅ Enabled Network Activity: ✅ Enabled Disk I/O Monitoring: ✅ Enabled ``` #### **🎵 Music & Media** - **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 #### **⏱️ Timer & Productivity** - **Default Timer Duration**: Customizable presets - **Notification Style**: Banner, alert, or silent - **Timer Colors**: Personal color schemes - **Auto-start Options**: Quick timer creation #### **🎨 Appearance & Behavior** - **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 ### Advanced Settings #### **🖥️ Multi-Display Support** - **Primary Display**: Choose main monitor for the notch - **Show on All Displays**: Extend to multiple screens - **Display Switching**: Automatic adaptation to external monitors #### **⌨️ Keyboard Shortcuts** - **Toggle DynamicIsland**: `⌘ + ⌥ + D` - **Open Settings**: `⌘ + ,` - **Quick Stats**: `⌘ + ⌥ + S` - **Timer Control**: `⌘ + ⌥ + T` --- ## 🚧 Roadmap Exciting features planned for upcoming releases: ### **🔄 Version 2.1 (Next Release)** - [ ] **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 ### **🚀 Version 2.2 (Future)** - [ ] **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 ### **🌟 Version 3.0 (Vision)** - [ ] **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 --- ## 🔧 Troubleshooting ### Common Issues & Solutions #### **🚫 Permissions & Access** **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 #### **📊 Stats Not Updating** **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 #### **🎵 Music Controls Not Working** **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 #### **⚡ Performance Issues** **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 ### Advanced Troubleshooting #### **🔧 Reset to Defaults** ```bash # Reset all settings to factory defaults defaults delete com.ebullioscopic.DynamicIsland ``` #### **📱 Clean Reinstall** 1. Quit DynamicIsland completely 2. Delete app from Applications folder 3. Remove settings: `~/Library/Preferences/com.ebullioscopic.DynamicIsland.plist` 4. Reinstall from latest build #### **🐛 Debug Mode** Enable detailed logging for troubleshooting: 1. Hold `⌥` while opening Settings 2. Navigate to **Advanced → Debug Mode** 3. Enable **Verbose Logging** 4. Reproduce the issue and check Console.app for detailed logs ### **💬 Getting Help** - **GitHub Issues**: Report bugs or request features - **Discussions**: Community support and tips - **Documentation**: Detailed guides and API reference --- ## 🤝 Contributing We welcome contributions from developers, designers, and users alike! ### **🛠️ For Developers** #### **Setting Up Development Environment** 1. **Fork the Repository** 2. **Clone Your Fork**: ```bash git clone https://github.com/yourusername/DynamicIsland.git cd DynamicIsland ``` 3. **Install Development Dependencies**: ```bash # SwiftLint for code formatting brew install swiftlint # SwiftFormat for consistent styling brew install swiftformat ``` #### **Development Workflow** 1. **Create Feature Branch**: ```bash git checkout -b feature/your-feature-name ``` 2. **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 3. **Commit Guidelines**: ```bash 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" ``` 4. **Push and Create PR**: ```bash git push origin feature/your-feature-name ``` ### **🎨 For Designers** - **UI/UX Improvements**: Mockups and design suggestions - **Icon Design**: System icons and app branding - **Animation Concepts**: Motion design for smooth interactions ### **📚 For Documentation** - **User Guides**: Step-by-step tutorials - **API Documentation**: Technical reference materials - **Translations**: Localization for international users ### **Code Review Process** 1. All PRs require review from core maintainers 2. Automated testing must pass (CI/CD pipeline) 3. Code coverage should not decrease significantly 4. Follow semantic versioning for releases ## 🤝 Contributing We welcome contributions from the community! Follow the steps below to contribute: 1. **Fork the repository**. 2. **Clone Your Fork**: ```bash git clone https://github.com/yourusername/DynamicIsland.git cd DynamicIsland ``` 3. **Create a New Branch**: ```bash git checkout -b feature/YourFeatureName ``` 4. **Make Your Changes** and **Commit**: ```bash git commit -m "Added new feature" ``` 5. **Push to Your Fork**: ```bash git push origin feature/YourFeatureName ``` 6. **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. --- ## 📜 License This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for complete details. ### **License Summary** - ✅ **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 --- ## 🏆 Acknowledgments **DynamicIsland** exists thanks to the contributions and inspiration from: ### **🎯 Core Inspiration** - **BoringNotch**: The base project on which DynamicIsland is built on - **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 ### **🛠️ Technical Foundation** - **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 ### **🎨 Design & Animation** - **Lottie by Airbnb**: Beautiful animations and micro-interactions - **SF Symbols**: Consistent iconography throughout the app - **Apple Design Resources**: Color palettes and spacing guidelines ### **🌟 Community** - **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 ### **📚 Educational Resources** - **Stanford CS193p**: SwiftUI development techniques - **Apple WWDC Sessions**: Best practices and new framework features - **Ray Wenderlich Tutorials**: Advanced iOS/macOS development patterns --- ## 👥 Contributors Meet the team behind **DynamicIsland**:
Ebullioscopic
Ebullioscopic

🚀 Creator & Lead Developer
Core architecture, UI/UX design
### **🌟 Special Recognition** #### **📊 Stats Feature Development** - **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 #### **🎵 Music Integration** - **Multi-Platform Support**: Apple Music, Spotify, YouTube Music - **Audio Visualization**: Real-time spectrum analysis - **Live Activities**: Background playback monitoring #### **⚡ Performance & Reliability** - **Memory Management**: Efficient resource utilization - **Animation System**: Smooth, conflict-free transitions - **Error Handling**: Robust system with graceful degradation ---
### **⭐ Star this repository if DynamicIsland enhanced your Mac experience!** ### **🔗 Connect with the Project** [![GitHub Stars](https://img.shields.io/github/stars/Ebullioscopic/DynamicIsland?style=social)](https://github.com/Ebullioscopic/DynamicIsland/stargazers) [![GitHub Forks](https://img.shields.io/github/forks/Ebullioscopic/DynamicIsland?style=social)](https://github.com/Ebullioscopic/DynamicIsland/network/members) [![GitHub Issues](https://img.shields.io/github/issues/Ebullioscopic/DynamicIsland)](https://github.com/Ebullioscopic/DynamicIsland/issues) [![GitHub Pull Requests](https://img.shields.io/github/issues-pr/Ebullioscopic/DynamicIsland)](https://github.com/Ebullioscopic/DynamicIsland/pulls) **Built with ❤️ for the macOS community**