Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

Is there a way to hide certain apps from cmd+tab?

The problem I'm facing is that I have some apps (like iTunes and of course Finder) always open. But when I'm working and switching between apps that are relevant for me (Chrome, Sublime, Terminal) with cmd+tab I'll always see these 'irrelevant' apps in the menu.

Thanks

share|improve this question

2 Answers 2

up vote 4 down vote accepted

Yes, it is possible, however the only way I know of doing it also hides the dock icon.

you must modify the file named 'Info.plist' inside the Application's package (i.e. Sherlock.app/Contents/Info.plist). Open this file in your favorite text editor and add the following section (if it's already present simply change the 0 to a 1 in the string tag:

[KEY]NSUIElement[/KEY]
[STRING]1[/STRING]

Source


In OS X 10.8+, use this instead:

<key>LSUIElement</key>
<string>1</string>
share|improve this answer
    
holy smokes that worked better than expected thanks a lot! –  wpp May 21 '13 at 20:50
    
Two comments. First, the above [STRING] format will not work in 10.8 -- you need to use a boolean type. Second, besides hiding the app from the application switcher, modifying the NSUIElement will also hide the menu bar, so using the "hidden" applications becomes quite difficult. –  Kent May 21 '13 at 23:56
    
Have you had any luck with LSUIElement in Mavericks? –  atreat Oct 24 '13 at 3:09
1  
Yep, I downloaded the update, they now support it natively with their v1.4.2 release. github.com/binaryage/totalterminal/issues/… –  atreat Oct 27 '13 at 18:18
2  
In Mavericks, this crashes for me. I've tried a couple of different applications. –  sandover Feb 18 at 18:50

You can set LSUIElement to 1 as string in the Info.plist:

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

It removes applications from the application switcher, Dock, and the force quit window. It also removes the menu bar, so it's not really usable with Finder or iTunes.

Editing an Info.plist makes some applications like TextEdit and Chess crash on launch in 10.8. It also invalidates the code signatures of signed applications, so they are not allowed to access keychains automatically.

http://www.cocoabuilder.com/archive/cocoa/141753-lsuielement-and-lsbackgroundonly.html:

NSUIElement is depreciated. However, I remember clearly from working at Apple (Apple DTS) a few years back that NSUIElement and LSUIElement map to the same thing (at least it did back when I was there and I doubt that would have changed). Though NSUIElement is depreciated (NS stands for next step of course! and LS stands for launch services), they are exactly the same thing for all intents and purposes.

Both LSUIElement and NSUIElement still work, and both can also be set to true or 1 as integer.

grep -A1 [LN]SUIElement /Applications/*/Contents/Info.plist

Information Property List Key Reference: Launch Services Keys:

LSUIElement (String - OS X) specifies whether the app runs as an agent app. If this key is set to “1”, Launch Services runs the app as an agent app. Agent apps do not appear in the Dock or in the Force Quit window. Although they typically run as background apps, they can come to the foreground to present a user interface if desired. A click on a window belonging to an agent app brings that app forward to handle events.

The Dock and loginwindow are two apps that run as agent apps.

Witch has an option to ignore applications:

I have just disabled the application switcher and Dock though. I mainly use keyboard shortcuts and Alfred to switch applications.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.