How to Edit the Context Menu in macOS

Nov 7, 2018 4 min read
How to Edit the Context Menu in macOS

To edit the context menu the way Dropbox does, for example, you’ll  need to hack the Finder application itself. That’s outside the scope of  both our knowledge and this post, so we’ll stick to the ways that we can  control what appears in the context menu.

Add/remove services from the context menu in Mac

The  primary method for adding and removing context menu items from macOS’s  context menu is through services. The services appear under the  “Services” dropdown in the right-click menu at the bottom of the menu.  macOS offers a GUI-based method here for adding and removing context  menu items.

1. Open the System Preferences application from the Apple menu.

edit-context-menu-macos-5

2. Click on the “Keyboard” preference pane.

edit-context-menu-macos-3

3. Click the “Shortcuts” tab at the top of the window.

edit-context-menu-macos-2a

4. Select “Services” from the menu pane on the left.

edit-context-menu-macos-1a

5.  This will show a list of all available services, sorted into some  primary categories based on the input they take. Click on the checkboxes  to toggle the visibility of the associated services.

edit-context-menu-macos-7

6.  Applications can add their own services here. You’ll find them based on  what kind of item (file, folder, text) the context menu item takes as  input. For example, if a context menu item appears when you right-click  on selected text, you’ll find the service under the “Text” dropdown.

edit-context-menu-macos-8

Show Services in the primary Context Menu

If  you have a lot of services or use them frequently, it can be annoying  to constantly have to wait for the dropdown to open. You can make all  the services appear in the primary dropdown menu with a Terminal  command.

1. Open Terminal at “Applications -> Utilities -> Terminal.app.”

2. Paste the following command into Terminal:

defaults write -g NSServicesMinimumItemCountForContextSubmenu -int 999

edit-context-menu-macos-9

This  command will edit the defaults for the minimum services required to  create the Services submenu. The number at the end (999 in this example)  sets the number of items required to create the Services submenu. If  the number of services is less than this value, you won’t see the  Services submenu. In this situation 999 is not meaningfully different  from infinite, so you’ll always see every Services item.

3. Quit and relaunch Finder with the following Terminal command:

killall Finder

edit-context-menu-macos-6

Edit the “Open With” Menu

One  submenu in the context menu, the “Open With” menu, has a tendency to  get a little messy. You can deal with this in a few ways.

1. Remove duplicates from the “Open With” context menu

Sometimes the LauchServices database can get corrupted, causing massive duplication of the items in your “Open With” menu.

1. Run the Terminal command below to rebuild the LaunchServices database:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

edit-context-menu-macos-15

2. Kill and restart finder with killall Finder. You might need to wait a few minutes before you restart it while LaunchServices rebuilds.

2. Manually ban apps from specific extensions

You  can ban a specific application from associating with a specific file  extension in the Open With menu. Only proceed if you feel confident  editing plist files.

1. Right-click on the application whose entries you want to edit and click “Show Package Contents.”

edit-context-menu-macos-11

2. Open the “Contents” folder.

edit-context-menu-macos-14

3. Duplicate the “Info.plist” file and rename it something like “info-backup.plist” to create a backup file.

4. Open Info.plist in a text editor like TextEdit.

edit-context-menu-macos-10

5. Search the document with Command + F for the following: “CFBundleTypeExtensions.”

edit-context-menu-macos-12

6.  This will show a lot of information. For a complex application like  Photoshop, you’ll see one for every extension. Locate the  “<string>…</string>” that contains the filetype you want to  ban. For example, if I want to remove Photoshop from the Open With menu  on PNG files, I need to look for “<string>png</string>”  under CFBundleTypeExtensions.

7. Delete the relevant “<string>…</string>” entry. In this case we would delete “<string>png</string>.”

edit-context-menu-macos-13

8. Open Terminal and run killall Finder to apply the changes.

Conclusion

While  you don’t have as much control over the macOS context menu as you might  in Windows, you can still make some customizations to the menu. You can  add even more options to the Services menu by using macOS’ Automator application and creating Services.

Source: maketecheasier.com

Great! Next, complete checkout for full access to ArturoFM.
Welcome back! You've successfully signed in.
You've successfully subscribed to ArturoFM.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info has been updated.
Your billing was not updated.