How can i remove an app icon on mac's application switcher (cmd+tab menu)?

On Mac's application switcher I want to hide particular applications such as adium and terminal (especially terminal). Because I use them with global shortcuts and they're always running.

Is there a way to do that other than using third party software?


To do this, you can modify the Application's Info.plist file. To get to this file, either cd into the Application (Apps are just directories) or, in Finder, right click on the app icon and choose "Show Package Contents". Then edit the Info.plist file in your favorite text editor (Or the Property List Editor if you have it installed) and add the following text (or add in the appropriate key/value in Property List Editor).

 <key>LSUIElement</key>
 <string>1</string>

Note that not only does this hide the dock icon, but it also hides the menu bar. Unfortunately I don't know of a way to only hide the dock icon.

Source, yes, it's old, but presumably it still works. Let me know if it doesn't.


Modifying the Info.plist is not really practical most of the time. It also removes the menu bar of the application. If the application is signed, editing the Info.plist usually breaks the code signature, so that for example the application won't be allowed to access items from the login keychain automatically. Some applications like TextEdit and Chess crash on launch if their Info.plist has been modified. The Info.plist might also get replaced if you upgrade the application.

(If you have seen different variants of <key>LSUIElement</key><string>1</string>, both LSUIElement and NSUIElement work, and <string>1</string> can also be replaced with <integer>1</integer> or <true/>. See grep -A1 [LN]SUIElement /Applications/*/Contents/Info.plist.)

Witch has an option to exclude applications by name:

I mostly switch between applications by using keyboard shortcuts or with Alfred. I have disabled ⌘⇥ and ⇧⌘⇥ with KeyRemap4MacBook:

<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | ModifierFlag::NONE,
KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | VK_SHIFT |
ModifierFlag::NONE, KeyCode::VK_NONE</autogen>