A menu builder and suite of SwiftUI controls that closely mimic the feel of macOS Control Center menus.
Integrates seamlessly with Swift's new MenuBarExtra
.
Both Dark and Light Mode are fully supported.
-
Add MacControlCenterUI as a dependency using Swift Package Manager.
-
In an app project or framework, in Xcode:
Select the menu: File → Swift Packages → Add Package Dependency...
Enter this URL:
https://github.com/orchetect/MacControlCenterUI
-
In a Swift Package, add it to the Package.swift dependencies:
.package(url: "https://github.com/orchetect/MacControlCenterUI", from: "2.0.0")
-
-
Import the library:
import MacControlCenterUI
-
Try the Demo example project to see all of the available controls in action.
Minimum requirements to compile: Xcode 13 on macOS 11 Big Sur or newer.
Supports macOS 11.0+ once compiled.
- Due to the lacklustre implementation of Apple's
MenuBarExtra
, it is currently not possible to get smooth window resize animations without a tremendous amount of work. For that reason, most MacControlCenterUI controls whose Control Center counterparts use animation will instead use safer static view size changes. - As an alternative to the very restrictive
SettingsLink
Apple introduced in macOS 14, it is recommended to use the SettingsAccess package to programmatically open the Settings scene when using a window-basedMenuBarExtra
. This is demonstrated in the Demo project in this repo.
Coded by a bunch of 🐹 hamsters in a trenchcoat that calls itself @orchetect.
Licensed under the MIT license. See LICENSE for details.
If you enjoy using MacControlCenterUI and want to contribute to open-source financially, GitHub sponsorship is much appreciated. Feedback and code contributions are also welcome.
Contributions are welcome. Posting in Discussions first prior to new submitting PRs for features or modifications is encouraged.