Imperator Apps
← Home / Imperator MenuBarFolders

Imperator MenuBarFolders

Each folder gets its own menu bar icon. Click it and a popover drops down with the apps inside.

LiveMIT Licensev1.0.0Updated 2026-08-02

README.md

// Overview

Group your apps into folders that live in the macOS menu bar. Each folder is its own menu bar icon; click it and a popover drops down with the apps inside.

A SwiftPM executable with no dependencies. LSUIElement is true, so there is no Dock icon — the status items are the entire interface.

// Requirements

macOS 14 or later on Apple silicon. Built and tested on macOS 26 only; older versions are expected to work but have not been verified.

The app is not notarized and carries no Apple Developer signature, so macOS cannot vouch for it. Install at your own risk — provided as is, no warranty, under the MIT license.

// Install

Download the latest zip from the releases page, unzip, and move Imperator MenuBarFolders.app to /Applications.

Gatekeeper blocks the first launch. Right-click the app and choose Open, or clear the quarantine flag:

xattr -dr com.apple.quarantine "/Applications/Imperator MenuBarFolders.app"

There is no Dock icon. On first launch there are no folders yet, so the settings window opens on its own.

// Permissions

None. The app asks for no Accessibility, Input Monitoring or Automation grants, and declares no NSUsage keys. It reads /Applications, /System/Applications, ~/Applications and Xcode's bundled applications to list what is installed, and launches through NSWorkspace.

The one system integration is Open at Login in the settings window, which calls SMAppService.mainApp.register() to add the app to Login Items. Turning the toggle off unregisters it.

// Use

Click a folder's icon and a popover drops down with its apps; click an app to launch it. The footer holds Settings and Quit.

Folders are built in the settings window. + in the sidebar creates one. The icon button opens a picker with 138 searchable Lucide icons, or takes your own SVG. The name doubles as the menu bar icon's tooltip. A stepper sets 2 to 6 apps per row. Add Apps picks from everything installed, with menu bar apps marked as such by their LSUIElement flag. Double-click an app for a custom label, and drag to reorder folders or the apps inside them.

The popover sizes itself from the app count and the column setting, so a folder with three apps does not open a window built for twelve.

Deleting the last folder reopens the settings window. With no folders there are no menu bar icons, and with no Dock icon there would be no way back in.

Folders live in one JSON file at ~/Library/Application Support/MenuBarFolders/folders.json.

// Build

make install

Builds release, bundles, codesigns, installs to /Applications and launches. make run and make clean are the other targets.

Signing has to use a stable identity rather than ad-hoc. The login item registration is keyed to the bundle's designated requirement, and ad-hoc signing mints a new hash on every build, so each update would look like a different app and drop the registration.

// Implementation notes

MenuBarManager keys each status item's click back to its folder UUID with objc_setAssociatedObject, because NSStatusBarButton carries no user data of its own.

SwiftPM does not compile asset catalogs, so menu bar icons cannot ship as image assets. They are stored as SVG element strings, parsed at runtime, and rendered into template NSImages so macOS tints them for light and dark menu bars.

AppDiscovery lists apps with the string-based contentsOfDirectory(atPath:) and then resolves symlinks, because on macOS Sequoia and later some system apps are Cryptex symlinks that the URL-based API skips.

// Third-party

Icon path data is derived from Lucide, used under the ISC license. Portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT); all other copyright is held by Lucide Contributors 2022.