Swiftpack.co -  hexedbits/StatusItemController as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
A "view controller" for menu bar Mac apps
.package(url: "https://github.com/hexedbits/StatusItemController.git", from: "1.1.0")


Actions Status

A "view controller" for menu bar Mac apps


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.


  1. Subclass StatusItemController
  2. Implement the following methods:
    1. buildMenu() -> NSMenu
    2. leftClickAction()
    3. rightClickAction()
  3. Create an instance of your StatusItemController subclass in your NSApplicationDelegate.


  • macOS 10.12+
  • Swift 5.4+
  • Xcode 12.5+
  • SwiftLint



pod 'StatusItemController', '~> 1.0.0'

Swift Package Manager

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.


You can read the documentation here. Generated with jazzy. Hosted by GitHub Pages.


Interested in making contributions to this project? Please review the guides below.

Also, consider sponsoring this project or buying my apps! ✌️


Created and maintained by Jesse Squires.


Released under the MIT License. See LICENSE for details.

Copyright © 2020-present Jesse Squires.


Stars: 53
Last commit: 3 days ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Release Notes

45 weeks ago

This release closes the 1.1.0 milestone.


  • Upgraded to Swift 5.3 and Xcode 12

  • Changed the target parameter in the NSMenuItem convenience initializer to be optional, with a default value of nil.

convenience init(title: String,
                 target: AnyObject? = nil,
                 action: Selector? = nil,
                 keyEquivalent: String = "",
                 isEnabled: Bool = true)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API