A cornice is the horizontal moulding that runs along the top edge of a building. The menu bar is the cornice of your screen.
You place a divider in the menu bar. Everything to its left hides when you click the chevron, and comes back when you click again.
[ hidden ] │ [ visible ] ❯
There is a second divider too, if you want a zone that stays hidden even when the rest is revealed. It is off until you ask for it.
- Hide and reveal with one click
- You choose where the line falls: ⌘-drag the divider, and Cornice never moves it
- An optional always hidden zone behind a second divider
- Optional auto-hide once the pointer leaves the menu bar
- Keyboard shortcuts of your choosing, for hiding, for the always hidden zone, and for auto-hide
- Open at login
- Adjustable divider thickness and height, five chevron styles
- Sixteen interface languages, switched without restarting
No permissions are needed for any of that. Hiding and revealing are done with Cornice's own status item, which any application may resize freely, and the keyboard shortcuts use an API that asks for nothing. Cornice does not request Accessibility at startup, or at all, unless you turn on something that cannot work without it.
The always hidden zone
Off by default. Switch it on and you get a second divider, drawn as a double line.
[ always hidden ] ‖ [ hidden ] │ [ visible ] ❯
⌘-drag it to the left of the first divider. Whatever ends up behind it stays hidden even while the chevron reveals the rest, which is where things go that you want installed and never want to look at. ⌥-click the chevron to open the zone, or bind a shortcut to it.
The leftmost divider is always the always hidden one. Drag one past the other and their jobs swap, so there is nothing to configure and nothing that can end up disagreeing with what you see.
It costs one more slot in the menu bar, which is why it is off until you ask. The mechanism is the same as the first divider's, so it needs no permissions either.
Off by default. Turn them on in Settings, and only then does Cornice ask for Accessibility.
Put the pointer over a window's title bar and swipe two fingers on the trackpad. Title bars are the whole trigger surface, which is what keeps this from colliding with anything else: nothing scrolls a title bar.
| Gesture | Result |
|---|---|
| Swipe left or right | Left or right half |
| Swipe up | Fill the screen |
| Swipe down | Put the window back where it was |
| Swipe again, straight after | Narrows to a third, then two thirds |
| Swipe up or down after that | The quarter above or below |
| Pinch in | Send the window to the Dock |
Four movements, twenty-one positions. A second swipe within a second and a half refines the first rather than replacing it; pause, and the next swipe starts over.
Cornice only ever watches these events. It cannot swallow one, so a gesture read wrong still reaches the application under your pointer exactly as it would have.
The divider is drawn, not an image, so its thickness and height are yours to set, and the preview is at real size because two points is a visible difference in a menu bar. With the always hidden zone switched on the preview shows both marks, since the double line follows the same two sliders.
Open Cornice.dmg from the latest release
and drag the app onto the Applications shortcut.
macOS will refuse to open it the first time. The builds are signed for development and not notarised, which needs a paid Apple Developer account. Right-click the app in Applications, choose Open, then Open again in the warning. Once is enough.
The same limitation has a second effect, and only if you use the gestures: because the builds are ad-hoc signed, macOS ties the Accessibility grant to that exact build, so updating means granting it again. The menu bar half is unaffected, since it never needed the permission in the first place.
Requires macOS 26 (Tahoe) or later on Apple Silicon.
Settings has a Check for Updates button, and a switch for asking once at launch that is off until you turn it on. Either way it is one anonymous request to GitHub's public list of releases, carrying nothing about you, and Cornice makes no network request at any other time. If something newer exists it says so in Settings and in the right-click menu, and the link opens the release page.
It stops there on purpose. See below.
Cornice does not move other applications' icons for you, so there is no checklist of things to hide. The only way to do that is a synthesised ⌘-drag, which is unreliable on macOS 26 and which macOS 27 hands to Mission Control. Placing the divider is a one-off you do by hand.
No second menu bar, no screen capture, no widgets, no triggers, no profiles, no menu bar styling, no per-icon hotkeys. Those are what make the other tools large, and they are the first things to break.
The gesture module stops at moving windows around one screen. No thirty-gesture catalogue, no per-application rules, no gesture for closing a window: a trackpad is not precise enough to be trusted with something that can take unsaved work with it.
Cornice does not install updates over itself. Replacing a running application with something just downloaded means first proving the download is genuine, and these builds are ad-hoc signed on the runner, so there is no stable identity to check it against. This is a process that holds Accessibility and an event tap once you turn gestures on, and borrowing it would mean borrowing those. It finds the release and hands you the link.
Apple provides no public API for managing other applications' menu bar items. Every tool in this category is built on accessibility APIs and undocumented behaviour, and every macOS release moves the ground.
- Ice (29k stars): last stable release October 2024, repository untouched since September 2025, with two unfinished dev builds after it.
- Thaw (9.7k stars): an active fork of Ice, on Homebrew, in twenty languages, shipping release candidates this month. If you want the full feature set, use it. It reads the menu bar continuously and rearranges items for you, which is what makes it powerful and what makes Accessibility non-optional for it.
- SaneBar: relicensed to MIT on 1 July 2026, when its author announced he was winding it down over macOS 27. Development has continued since, so read that as a change of footing rather than an ending.
- Bartender: commercial, and its macOS 27 build is an early technical preview with most features not yet restored.
Cornice's answer is to need almost none of it. The thing you do every day, hide and reveal, touches nothing Apple has signalled it will change, and asks for no permission at all. The cost is that Cornice will not arrange your icons for you: you place the divider yourself, once, and that is the whole of it.
Cornice speaks sixteen, switched from the settings window without restarting.
| Language | Flag | Code | Language | Flag | Code | |
|---|---|---|---|---|---|---|
| English | 🇬🇧 | en |
Русский | 🇷🇺 | ru |
|
| Українська | 🇺🇦 | uk |
Deutsch | 🇩🇪 | de |
|
| Français | 🇫🇷 | fr |
Español | 🇪🇸 | es |
|
| Português | 🇵🇹 | pt |
Italiano | 🇮🇹 | it |
|
| Nederlands | 🇳🇱 | nl |
Polski | 🇵🇱 | pl |
|
| Čeština | 🇨🇿 | cs |
Svenska | 🇸🇪 | sv |
|
| Türkçe | 🇹🇷 | tr |
日本語 | 🇯🇵 | ja |
|
| 한국어 | 🇰🇷 | ko |
简体中文 | 🇨🇳 | zh |
English is the source: every string in the code is its English text, so nothing can go
missing from it. The other fifteen are machine-made and want a native reader's eye. They are
plain dictionaries in Cornice/Localization.swift, keyed by that English text, so correcting
a translation is a one-line change and needs no tooling, no string catalogue and no account
anywhere.
Fixing a translation is the most useful thing you can do here, and the cheapest: find the
English key in Cornice/Localization.swift, change the string beside it in your language,
open a pull request.
git clone https://github.com/SnowDrit/Cornice.git
cd Cornice
open Cornice.xcodeprojSet your own signing team in the target settings. The app must not be sandboxed: Xcode's template enables the sandbox, and a sandboxed build sees only its own status item while reporting no error at all.
GPL-3.0. See LICENSE.
Cornice studies Ice (GPL-3.0) as a reference for menu bar item manipulation. GPL-3.0 keeps that relationship unambiguous.


