Guides › Mac
Customising your Mac: icons, shortcuts, links and scheduled jobs
macOS lets you change more than System Settings shows: any folder or app can have its own icon, any menu command a shortcut, and any script can run on a timer. Each needs a file in a particular format, and these tools make them in your browser.
This guide is a collection of four separate changes, not one job done in steps. Each section stands on its own, so skip to the one you want:
- Your own icon for a folder, app or script.
- A keyboard shortcut for any menu command.
- Links in the Dock or on the desktop to a website.
- A script on a schedule, with launchd.
1. Your own icon for a folder, app or script
In the Mac Icon Maker, choose a square picture (PNG or SVG, 1024 pixels or more). For a folder or a document icon, leave Shape on As it is; for something that should look like an app, choose macOS app icon and a Background colour. Save the .icns.
To use it, open the .icns in Preview, choose Edit › Select All and Copy, then select the folder or app
in the Finder, press ⌘I, click the small icon at the top left of the Info window and press ⌘V. To undo it, select
that icon again and press Delete. If you build apps, Save as an .iconset gives the PNGs Xcode and iconutil
expect.
2. A shortcut for any menu command
System Settings › Keyboard › Keyboard Shortcuts › App Shortcuts adds a shortcut to any menu item: give the
app, the menu item’s exact name, and press the keys. To set them from a script or share them with someone, macOS
stores them as codes such as ^~@z. Type the shortcut any way you know it (ctrl+option+cmd+z, ⌃⌥⌘Z,
Control-Option-Command-Z) in Mac Keyboard Symbols and it gives the App Shortcuts code, ready
for a command like this one, which gives the Zoom command in every app’s Window menu that shortcut:
defaults write -g NSUserKeyEquivalents -dict-add "Zoom" "^~@z"
Quit and reopen an app for it to notice. -g means all apps; for one app, use its ID instead, such as
com.apple.TextEdit. Safari’s and Mail’s settings are protected, so a command for them fails unless Terminal has
Full Disk Access: set their shortcuts in System Settings instead.
It also gives the AppleScript to press that shortcut and the symbols to write it in documentation, and translates a Windows shortcut from someone’s instructions into its Mac version.
3. Links you can keep in the Dock or on the desktop
Drag a link from Safari to the desktop and you get a .webloc file; from Windows you may be sent a .url
instead, which a Mac won’t open. In Web Link Files, open either to see the address inside, or make
one: type the Address and a Name, choose the Kind (Mac .webloc, Windows .url or Linux
.desktop) and Save the link file. Drag a .webloc to the right-hand end of the Dock to keep a website one
click away, or make a .url for a colleague on Windows.
4. Run something on a schedule
A backup script every night, a clean-up every hour, a sync when a folder changes: on a Mac, these are launchd jobs.
In the launchd Job Builder, give a Label such as com.yourname.backup, choose Agent for me
(runs while you’re logged in, with your permissions), put the program and its arguments one a line, and say
When it runs: Every N seconds, On a schedule, as a cron expression such as 0 2 * * * for 2 am, or
When any of these paths change. Set an Output log file so you can see what it did.
Save the .plist, then run the commands it gives you under Commands to install, run and remove it: they
copy it to ~/Library/LaunchAgents and load it. To remove it, run the remove commands; to check what an existing
job does, paste its plist into Plist ⇄ JSON to read it.
All 62 guides, grouped by what they help with.
Saved you a few minutes? Say thanks with a coffee.
Something wrong or unclear in this guide? Report it or suggest a guide.