Feature request: Managing layers

I’m at the initial stage of typeface design where the first few characters change a lot until I settle on a certain design. As a result, I accrue a lot of layers, most of which become obsolete and just clutter the layers window. Even worse, if I’m starting a new project based on the Glyphs file of an older project, I already have a bunch of obsolete layers lying around.

Now, deleting old layers is unfortunately not such a simple task because (1) you can’t select more than one layer, and (2) when you delete a layer, the selection jumps back up to the current master, so you have to scroll down and re-select an old layer to continue deleting. I suppose (1) is relatively difficult to change, since you can only show one layer at a time in the edit window, but at least (2) could be improved. Ideally, deleting a layer would select the layer immediately above or below the deleted one so you could continue clicking the delete button to get rid of whole batches of old layers.

Another solution would be to change the way layers are shown in the layer window so that a long history of old layers wouldn’t get in the way so much. For instance, if you could expand and collapse each master like a folder, you could keep the layers of all weights you’re not working on out of sight. It would also help if the layers were sorted with the newest ones on top so you wouldn’t have to scroll down to find your most recent layers.


Perfect task for a script. Take a look at Masters > Delete all Non-Master Layers in my repository, and adapt if necessary.

I would mostly love to be able to select and delete multiple layers at once.


Being able to choose multiple layers when deleting would definitely be very useful. And agree about deleting a single layer should put you to the layer above so you can delete continuously when cleaning up a file. Thanks for considering!

1 Like

Exactly what I was going to write a feature request for: Select multiple layers to delete alle in one step, and/or deleting one automatically selects the next one, not master.

Also for some reason I cannot change the height of the Layers palette. Would be nice if it were not fixed size.



You can change the hight of the layer palette. Just below the minus button you should get a resize cursor and it should let you drag up and down.

I see the resize icon with the arrows, but I cannot resize the palette. Is there a max size?

What version do you have? There was a problem in the localisations I fixed recently.

Just out of curiosity wandering why this hasn’t been implemented? Knowing how thoughtful you are I’m sure there must be a reason!

Have you tried the script I mentioned above?

Absolutely. Much like your other scripts it’s useful on a daily basis. What I’m talking about is selective deletion. Often find layers stacking up and wanting to hold on to latest bunch. It’s no biggy just find the one by one editing a bit fiddly.

Yes, I know… :-/ As a workaround until there is a better solution in place, a script could check for the newest added layer and just keep that one.

On a related matter, when I duplicated my Bold master to make the new Black master, the bracket layers that were subordinate to the Bold master get duplicated as well. The two identical bracket layers then interfere with each other, causing a glitch in the interpolation at the position of the bracket.

It would be great if bracket layers were treated as if they were separate masters, rather than being subordinate to another master. I guess that’s difficult to pull off, though.

I think about changing a small bit: That if you delete a layer, it would not jump to the master but the next layer will be selected. Then one could click the minus button repeatedly instead of moving the mouse to select the next layer.


would be much appreciated!

@GeorgSeifert Is there a reason this functionality was never added? The creative process means developing lots of layers you want to keep in play but equally a bunch you want to remove. Multiple select + delete would save SO much time. At the moment it’s one at a time or @mekkablue 's delete all non-master script.

Second that, I often get frustrated when the backup layers are all copied along when duplicating a master. The remove-non-master-layers-script would remove all of them, which isn’t what one want in that case.


I think that’s a simple. Add if layer.isMasterLayer or layer.isSpecialLayer: line or something along the line and send pull request.

That would mean to also add a UI to let the user choose if all no-masters or only a particular master’s (and if so which one’s) layers are gonna be removed …
I think selecting multiple items and be able to remove them is what a user expects to be possible.

That is a better general implementation, but I know my reply was for a specific case. The number 1 reason I want to delete multiple layers at once is exactly the same as yours.