What It Does

MenuTidy adds a chevron («) to your menu bar. Icons on one side of it are hidden when collapsed; icons on the other stay visible at all times.

On macOS 14 to 26 it also adds an invisible spacer, which marks the boundary and does the hiding by expanding to push icons out of view.

Expanded: [hidden icons] | [visible icons] [chevron] [system icons] Collapsed: [visible icons] [chevron] [system icons]

On macOS 27 the whole menu bar is a single window, so there is nothing for a spacer to push and there is no spacer at all. MenuTidy tells macOS which icons should stay and the system hides the rest and reflows the bar itself. The chevron is the boundary: everything to its left is hidden, everything to its right stays.

An icon wide enough to straddle the chevron is kept. Hiding it would leave its rectangle sitting on top of the chevron, because macOS does not reclaim the space an icon occupied when it stops drawing it, and the chevron would become unclickable. Icons that show text, such as a music player showing the track title, are the ones wide enough for this to matter.

Expanded: [hidden icons] [chevron] [visible icons] [system icons] Collapsed: [chevron] [visible icons] [system icons]

Day-to-Day Use

ActionResult
Left-click chevronToggle collapse/expand
Right-click chevronOpen menu (About, Reveal Hidden Icons on notched Macs, Check for Updates, Settings, Quit)
Hold commandReveal the spacer position (blue bar) — macOS 14 to 26 only
command+drag an iconMove it between hidden/visible zones — on macOS 27, either side of the chevron

Notification Centre (macOS 27)

It works. Click the clock, collapsed or expanded, and Notification Centre opens as usual. Before 2.3.0 the click did nothing while collapsed.

It is worth knowing what happens, because you will see it. While the bar is collapsed macOS is holding it under a restriction, and it refuses to open Notification Centre while one is active. There is no setting for that: the facility macOS 27 uses to hide menu bar items was built for exam lockdown, and withholding notifications is one of the things it is for. Asking the clock to press itself is refused in exactly the same silent way as a mouse click.

So MenuTidy does the one thing that does work. It drops the restriction, opens Notification Centre for you, and puts the restriction straight back. The bar is unrestricted for roughly two to four tenths of a second, and your hidden icons are genuinely drawn again for that moment, because for that moment the bar genuinely is not restricted. You will see a brief flicker. That is the whole cost.

If you would rather have the old behaviour, where the click simply does nothing:

defaults write cc.jorviksoftware.MenuTidy relayClockClick -bool NO

A two-finger swipe in from the right edge of the trackpad opens Notification Centre too, restriction or no restriction, and always did.

Other menu bar managers on macOS 27 meet the same wall, for the same reason.

When the menu bar is too full (macOS 27)

macOS 27 drops menu bar icons of its own accord once the bar runs out of room, and it will drop icons MenuTidy has asked it to keep. Telling macOS an icon may be shown does not reserve space for it.

A dropped icon also keeps its rectangle. It stops being drawn, but the space it occupied stays claimed, so part of the menu bar becomes a dead region where clicks reach nothing at all. If that region lands on MenuTidy's chevron, the chevron stops responding and looks broken. It is not broken; there is simply nothing there to click.

None of that is something MenuTidy can fix, and all of it looks exactly like MenuTidy misbehaving. So from 2.3.0 it tells you. A small panel drops from the notch, once per run, when either:

The first is the signal worth trusting, because it is a fact rather than a forecast. On the Mac this was developed on it fired at 67% full while macOS was already dropping icons, and the percentage on its own would have said nothing.

The remedy is to put less in the menu bar: quit an app you are not using, or remove a system icon in Control Centre settings. The width threshold is adjustable; the other trigger is not, because if macOS is actively hiding your icons that is worth knowing about.

defaults write cc.jorviksoftware.MenuTidy menuBarFullThreshold -float 0.9

Reveal Hidden Icons (notched Macs, macOS 14 to 26)

Not present on macOS 27. The system grew its own control for reaching icons tucked behind the notch, so MenuTidy no longer offers a second answer to the same question.

On 14″/16″ MacBook Pros and notched MacBook Airs, the menu bar wraps around the notch — and when you have more status icons than fit in the right-hand segment, the leftmost ones get clipped behind the notch with no way to click them.

MenuTidy's Reveal Hidden Icons… menu item drops a panel listing every status icon currently behind the notch. Left-click an entry to activate that icon's primary action (or open its menu); right-click sends a right-click instead, for icons that distinguish the two.

Each time you open it, the panel scans the menu bar fresh — a brief spinner shows while it works, then the full list appears, so you always know you're seeing the final result. Choosing Reveal Hidden Icons… again closes the panel, as does collapsing the menu bar. The menu item only appears on notched displays, and only while the bar is expanded. The first time you use it MenuTidy will ask for Accessibility permission so it can enumerate other apps' status items.

Setting Up

On first launch, MenuTidy starts expanded so you can arrange your icons.

On macOS 27 there is no spacer, so ignore the steps below: drag icons the ordinary way and put the ones you want kept to the right of the chevron.

Choosing which icons to hide

  1. Hold command — a glowing blue bar appears showing the spacer position
  2. While holding command, drag icons to the right of the bar to keep them always visible
  3. Drag icons to the left of the bar to include them in the collapsible group
  4. Release command — the blue bar disappears

Repositioning the spacer

Hold command and drag the blue bar left or right to change where the hidden/visible boundary sits.

Settings

Right-click the chevron and choose Settings… to configure:

Auto-updates are handled by Sparkle. Use the “Check for Updates…” menu item to check on demand; Sparkle’s prompt offers an “Automatically download and install updates in the future” checkbox the first time an update is available. MenuTidy checks for new versions automatically once a day in the background.

MenuTidy remembers where you've placed the chevron, and the spacer on macOS 14 to 26, across restarts. On subsequent launches it automatically collapses after a short delay to let all icons load into their saved positions first.

Installation

Two formats on every release — both signed and notarised, pick whichever suits:

Or install it with Homebrew: brew install --cask perpetualbeta/jorvik/menutidy

Building from Source

MenuTidy is a single-file Swift app with no dependencies. No Xcode project is required.

  1. Clone the repo: git clone https://github.com/PerpetualBeta/MenuTidy.git
  2. Run gmake build
  3. Launch with open .build/MenuTidy.app

Requirements

macOS 14 (Sonoma) or later. On macOS 27, Accessibility permission is required for collapsing to work — MenuTidy asks for it the first time you click the chevron. Universal binary (Apple Silicon and Intel).