No description
  • Swift 99.5%
  • Perl 0.2%
  • C++ 0.2%
Find a file
Hariharan Mudaliar 7396f0242a Update Names
2025-07-17 19:33:21 +05:30
DynamicIsland Update Names 2025-07-17 19:33:21 +05:30
DynamicIsland.xcodeproj Working 2025-07-13 22:16:02 +05:30
.DS_Store Fixed Alignment 2025-07-15 10:39:46 +05:30
.gitignore Restored files from old Mac, force pushing 2025-07-13 20:26:03 +05:30
dynamic-island-demo.gif Update README 2024-11-02 18:06:12 +05:30
dynamic-island-preview.jpeg Update LICENSE 2024-11-02 18:13:11 +05:30
dynamic-island.jpeg Add README and LICENSE 2024-11-02 17:47:58 +05:30
LICENSE Update LICENSE 2024-11-02 18:13:11 +05:30
ReadMe.md Update LICENSE 2024-11-02 18:13:11 +05:30

DynamicIsland

DynamicIsland Logo

DynamicIsland enhances the notch on your MacBook M3 Pro with interactive, customizable widgets, transforming it into a dynamic control center for multitasking, notifications, and more.

Preview

DynamicIsland Preview

Demonstration

DynamicIsland Demo

📑 Table of Contents

🌟 Features

  • Music Controls: Play, pause, and skip tracks from the notch area.
  • Battery Status: Real-time battery percentage and low-battery alerts.
  • Calendar Reminders: Displays upcoming events directly in the notch.
  • Weather Updates: Get current weather conditions at a glance.
  • Multitasking Tools: Quickly switch between open applications.
  • Customizable Themes: Light, dark, and custom color themes.
  • Gesture Support: Use gestures for quick actions.

🎥 Demo

Check out a quick demo of DynamicIsland in action:

DynamicIsland Demo


🚀 Getting Started

These instructions will get you a copy of DynamicIsland up and running on your local machine.

Prerequisites

  • macOS Ventura 14.2 or later.
  • Xcode 15.0 or later.
  • SwiftUI and Objective-C frameworks installed.
  • Make installed for build automation.

Installation

  1. Clone the Repository

    git clone https://github.com/Ebullioscopic/DynamicIsland.git
    cd DynamicIsland
    
  2. Install Dependencies Make sure you have all required libraries and frameworks installed. Use Homebrew for some dependencies if needed:

    brew install make
    
  3. Build and Run the Project Open the project in Xcode, select your target device, and run:

    open DynamicIsland.xcodeproj
    
  4. Run the App in Xcode Build and run the app from Xcode by pressing Cmd + R:

    • If prompted by macOS, allow permissions for Privacy & Security.

📖 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

Configuration settings can be found in the config.json file located in the root directory.

config.json Example

{
  "theme": "dark",
  "batteryWidget": true,
  "musicWidget": true,
  "weatherWidget": true,
  "gestureSettings": {
    "tap": "toggleMusic",
    "swipeLeft": "previousApp",
    "swipeRight": "nextApp",
    "longPress": "openSettings"
  }
}
  • theme: Options are "light", "dark", or "auto".
  • batteryWidget, musicWidget, weatherWidget: Toggle visibility for each widget.
  • gestureSettings: Assign actions to tap, swipe, and long-press gestures.

🚧 Roadmap

Planned updates for future releases:

  • Advanced Calendar Integration: Add support for weekly and monthly views.
  • Customizable Shortcuts: Create custom app shortcuts.
  • Additional Widget Support: Add widgets for finance, fitness, and more.
  • Voice Commands: Enable Siri shortcuts for quick commands.
  • Animation Improvements: Smooth animations for a more polished UI.

🔧 Troubleshooting

Common Issues

  • Permissions: Go to System Preferences > Security & Privacy to manually enable permissions if the app fails to start.
  • Widgets Not Displaying: Ensure your config.json file has valid settings, then restart the app.
  • Build Errors in Xcode: Run make clean to reset the project, then re-build.

Useful Commands

  • Clean Build Files:
    make clean
    
  • Reset Configurations:
    rm config.json && cp config.default.json config.json
    

🤝 Contributing

We welcome contributions from the community! Follow the steps below to contribute:

  1. Fork the repository.
  2. Clone Your Fork:
    git clone https://github.com/yourusername/DynamicIsland.git
    cd DynamicIsland
    
  3. Create a New Branch:
    git checkout -b feature/YourFeatureName
    
  4. Make Your Changes and Commit:
    git commit -m "Added new feature"
    
  5. Push to Your Fork:
    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 file for details.


🏆 Acknowledgments

Special thanks to:

  • Apple Design Principles for inspiration.
  • Boring Notch project for initial ideas.

👥 Contributors


Ebullioscopic

Creator