I would like to give names to different Mission Control Spaces; currently a new Space gets the default name
Desktop n where
n is a number.
Desktop 1 | Desktop 2 | Desktop 3
How can I give each space a custom meaningful name?
Ask Different is a question and answer site for power users of Apple hardware and software. It only takes a minute to sign up.Sign up to join this community
The commercial app TotalSpaces by binaryage allows you to name Spaces.
You may need to partially disable SIP in order to use TotalSpaces, see:
Nope, there is no way to do that =/
But you can put an application into fullscreen and the Desktop will take the application's name.
There IS, actually, a way to name your spaces. SORT OF.
That is, you can't change the name that appears under them when you use Mission Control (which I will go on record saying is one of Apple's biggest mistakes--Spaces was a million times better, even though it too was crippled in some respects), but you can assign names to them and make it easier to tell them apart.
The trick is that you can assign different desktop images to each 'space' (now called a Desktop). This will help make them easier to tell apart. As far as naming, this will be a huge pain, and definitely not ideal. But a kludgey solution is all Apple leaves open to us. You have to put the name on the image. Yup, open an image editor and add some text on top of those lily pads, or that lion's head, or whatever.
Yes, that sucks if you'd like to regularly name and rename your spaces. But if you have a few that you use most of the time, you can create a few desktop images with the names on them, and just live with it. I wish I could give a better solution, but it's out of my control obviously. This is, unless someone discovers an as yet hidden setting somewhere in OS X, or until Apple realizes their mistake and fixes Mission Control, the best we can do.
This is something that I wanted for ages, so I finally got around and built an open source solution!
It behaves similarly to TotalSpaces in that it uses SIMBL to hook into the display functionality, and uses an application with a top menu bar button to rename the desktops. To install it, just head over to my GitHub and follow the installation instructions!
Screenshots: Edited Names
A very low technology but quite direct solution is to assign keystrokes to each desktop (Preferences -> keyboard -> shortcuts -> Mission Control : allows you to assign ^1 to Desktop 1 and so on). Then write your desired Desktop Names on a small stickie note (a physical one!) and stick it near the number keys. All your Desktop names are constantly in view, and each is just a single keystroke away...
I am using the built-in Stickies app. I've created a sticky for each space on the top left corner. Just set the sticky window to Floating which keeps it on top of every other window.
This way you get a nice label for each Space which is visible while you are working.
To see all your Spaces just select the Stickies app, click Control + ↓ and you see the stickies in a row which represent your Spaces and also clickable:
Plus desktop can be selected from a list as asgardian07's answer shows.
I came up with a better hack inspired by Karl's answer. Open up the Stickies app. Right click on it on the Dock and select Options -> All Desktops.
Create one sticky. In it create a list like this:
Desktop 1 - Email Desktop 2 - Gaming Desktop 3 - Home Business
Make it tall enough and the font large enough so that it is legible when in Command Center.
Now, when you go into Command Center, your "legend" will be available on all Desktops so you can quickly see which one to switch to.
Here's another hack. Open TextEdit and create a new document. Change the font size to something like 175 points and reshape the window to be very short and very wide. Type in the name you want for that desktop. Then duplicate the document, move it to a new desktop and change the name visible there.
As a result you can usually read the names in Mission Control (as long as a window isn't obscuring it) and you can easily switch to a Desktop by name by showing all TextEdit windows and selecting the correct one.
[Update: creator here 👋 - I have pulled this app from the App Store because it's a free app that I currently don't have a great way to test on Monterey, as I don't own hardware that can run it (I have a 2014 MBP). That said, users have emailed me still wanting it, and I have selectively put it in the store every week or two for a short amount of time so they can grab it. If you are interested in knowing when those windows are, shoot me an email via the support tab on the homepage https://currentkey.com through an email or twitter DM. But also, Apple should just go ahead and support named Desktops natively, they're inevitably going to do so eventually - as all other OS platforms do, and it should be sooner rather than later. Thanks!]
There's an app (in the Mac App Store) that lets you name Spaces via the menubar. It also lets you give each Space a unique icon, and tells you how you spend time across your Spaces (and the apps within them). Because macOS APIs are limited, the names stay in the app and don't show up in Mission Control. But they are persistent.
The app also lets you jump directly to another (named) Space via its dropdown menu. B/c Apple lets you have up to 16 Spaces per screen, this is handy in navigating between them.
Free in the App Store -- CurrentKey Stats. I made it, and it launched about a week before this comment was made. For additional stats (30-day view and exportable reports) you can buy an upgrade, but all the above stuff is free.
I'm currently in a position where I want to define a Desktop by a task I'm currently working on; one desktop per task. This makes solutions like using a full screen app or assigning an image unsuitable for me, since I often use more than a single app to fulfill a task and my to do list changes so often that creating custom desktop backgrounds or writing out a legend is not efficient.
What I've been doing is, since I usually need several terminals at a time, I just name each one based on what I'm doing. That helps me remember what all my terminals are for, and then I can just right-click on the terminal icon to get a sort of on-the-fly legend.
I tried this solution and it worked perfectly with Catalina so it should work for everything before that