Open source

Open source · macOS

SpaceNamer names your Spaces with SIP left on.

A free, open-source menu bar app that gives each of your Mac's desktops a real name, shows it in the menu bar and in Mission Control, and switches between them instantly. It only needs Accessibility access.

Licence
MIT. Free.
Runs on
macOS 13 Ventura and later
Needs
Accessibility access only
Links
GitHub
SwiftAppKitAccessibility APIApple silicon + Intel
FinderFileEdit ⌘ Code
  • Mail
  • Code
  • Design
  • Music
Code
Illustration

Desktop 1, Desktop 2, Desktop 3

macOS calls every desktop "Desktop 1", "Desktop 2" and so on, and renumbers them whenever you add, remove or reorder one. Keep one desktop for mail, one for code and one for a client, and you end up memorising numbers that keep moving.

There's no setting for it. Apple doesn't let apps rename desktops.

The SIP problem

The long-standing free fix, Spaces Renamer, works by loading code into the Dock. macOS only allows that with System Integrity Protection partly switched off, and SIP is the thing that stops other software tampering with system processes and files. Turning it off to rename a few desktops is a bad trade.

SpaceNamer takes a different route. It asks for Accessibility access and nothing more. System Integrity Protection stays on, nothing is injected into other apps, and no system files are modified.

What it does

How it works with SIP on

Reading Spaces

It asks the window server for the current layout of Spaces, the same information Mission Control uses, and only ever reads it.

Switching

It posts the same swipe events a trackpad sends to the Dock, asks it to skip the animation, and checks the switch arrived. If that ever fails it falls back to the Mission Control shortcuts.

Names in Mission Control

Apps can't rename desktops, so SpaceNamer draws the names itself in a click-through layer over the Dock's labels, found through the Accessibility API, and mirrors the Dock's animations.

Input

It listens for shortcut presses and trackpad gestures without changing or blocking them. Ordinary typing is ignored the moment it arrives, and nothing is recorded.

Privacy

SpaceNamer makes no network connections and collects nothing. Names and settings live in a preferences file on your Mac. It doesn't record your screen or your keystrokes.

Install

You need macOS 13 or later and the Xcode Command Line Tools (xcode-select --install).

git clone https://github.com/AlexanderCollins/spacenamer.git
cd spacenamer
make signing   # once: a local signing identity
make install   # builds a universal app into /Applications

make signing creates a self-signed certificate that never leaves your Mac, so macOS keeps the Accessibility permission across rebuilds. Skip it and the app is ad-hoc signed instead, which works the same apart from that.

Script it

open "spacenamer://go/3"              # desktop 3
open "spacenamer://go?name=Mail"      # the Space named Mail
open "spacenamer://back"              # the Space you were just on
open "spacenamer://rename?name=Inbox" # rename the current Space

Known limits

Get it on GitHub More open source

SpaceNamer is an independent project. It is not affiliated with, endorsed by or supported by Apple Inc. macOS, Mission Control and Spaces are trademarks of Apple Inc.