I would like to give names to different spaces; currently a new space get the default name
Desktop n where
n is a number. How can I give it a meaningful name?
Nop, there is no way to do that =/ --> Now it's possible (EDIT)
By the way, you can put an application into fullscreen and the Desktop will take the application's name.
Related Questions :
The commercial TotalSpaces by binaryage allows you to name spaces.
May be worth noting that you need to partially disable SIP in order to use TotalSpaces, see http://totalspaces.binaryage.com/elcapitan
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.
EDIT (from redolent) :
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 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.
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:
I have found that opening one app per desktop names it after that. In my work that's really helpful because it allows me to have google gasmask open in one, terminal running my local server in another, atom in another and so on, very helpful that it names it after the app running!
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.
You could also make a screenshot of the application. Then set that as the desktop wallpaper for that space.
I had a thought. Why not just put a small sticky on the monitor above the desktop space with the description of that desktop.
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. It launched about a week before this comment. For additional stats (30-day view and exportable reports) you can buy an upgrade, but all the above stuff is free.