StatusItemController 
A “view controller” for menu bar Mac apps

About
This library provides a StatusItemController
component that you can use to create menu bar apps, or apps with menu bar items in macOS.
This component is used in Red Eye and Lucifer.
Usage
- Subclass
StatusItemController
- Implement the following methods:
buildMenu() -> NSMenu
leftClickAction()
rightClickAction()
- Create an instance of your
StatusItemController
subclass in your NSApplicationDelegate
.
Requirements
- macOS 10.12+
- Swift 5.5+
- Xcode 13.0+
- SwiftLint
Installation
pod 'StatusItemController', '~> 1.0.0'
Add StatusItemController
to the dependencies
value of your Package.swift
.
dependencies: [
.package(url: "https://github.com/hexedbits/StatusItemController", from: "1.0.0")
]
Alternatively, you can add the package directly via Xcode.
Documentation
You can read the documentation here. Generated with jazzy. Hosted by GitHub Pages.
Notes on Testing
Unfortunately, StatusItemController
cannot be tested directly. Attempting to create an NSStatusItem
outside of an app context throws an assert, which makes sense. Thus, in order to test StatusItemController
it must be embedded in an app. Tests can be found in the Example App test suite. See #15 for more details.
Contributing
Interested in making contributions to this project? Please review the guides below.
Also consider sponsoring this project or buying my apps! ✌️
Credits
Created and maintained by Jesse Squires.
License
Released under the MIT License. See LICENSE
for details.
Copyright © 2020-present Jesse Squires.
StatusItemController
A “view controller” for menu bar Mac apps
About
This library provides a
StatusItemController
component that you can use to create menu bar apps, or apps with menu bar items in macOS.This component is used in Red Eye and Lucifer.
Usage
StatusItemController
buildMenu() -> NSMenu
leftClickAction()
rightClickAction()
StatusItemController
subclass in yourNSApplicationDelegate
.Requirements
Installation
CocoaPods
Swift Package Manager
Add
StatusItemController
to thedependencies
value of yourPackage.swift
.Alternatively, you can add the package directly via Xcode.
Documentation
You can read the documentation here. Generated with jazzy. Hosted by GitHub Pages.
Notes on Testing
Unfortunately,
StatusItemController
cannot be tested directly. Attempting to create anNSStatusItem
outside of an app context throws an assert, which makes sense. Thus, in order to testStatusItemController
it must be embedded in an app. Tests can be found in the Example App test suite. See #15 for more details.Contributing
Interested in making contributions to this project? Please review the guides below.
Also consider sponsoring this project or buying my apps! ✌️
Credits
Created and maintained by Jesse Squires.
License
Released under the MIT License. See
LICENSE
for details.