Make it invisible!


Hi! Is there any way to set an application to run without being visible? My first concern about this question is that the Dock gets filled by icons that are always open from the beginning untill the end of my session. I know they are running, so could they simply diseappear and live more space in the Dock? Take the Clock for example. At least it would be usefull if we could have the time BOTH on the Dock and Desktop. But when it is set up to be on the Desktop, it's icon in the Dock is useless...

I don't care to have to modify apps. as long as it is secure....



Here's how I think it is done. (From sourceforge's openstrip developer mailing list archive and my own experimentation).

Control click on the desired application. If it is a .app bundle (like most OS X native apps) there will be an option to "show contents." Do this, and open the Info.plist file (in TextEdit or in the plist editor that comes from the dev tools. If you open in TextEdit, be sure to save it as a text file, or better yet, oepn it from the terminal in pico to be sure the line breaks are the right style.)

Anyhow, in a text editor, add the lines

before these lines at the end

(I think the tab before <string> is just for formatting... not necessary)

Or try the key/string combination NSUIElement and 1 (same format as above).
From the plist editor, just add a new key/value combination, and choose string as the data, and type NSUIElement or NSBGOnly in the key and 1 as the string data.

If none of these work, or if the app isn't a bundle app (no contents), try typing defaults write appname NSBGOnly 1 from the terminal (you can also try NSUIElement).

I think one of these things should work. I would try, but I am away from my OS X box for the holidays. Please post any success/failure with these methods!


PS. Does command-tab cycle through faceless (no dock icon) apps? How eles would you foreground a faceless app if all of its windows are closed? Does the dialog that command-option-escape brings up allow you to foreground a faceless app?


Thanks for your help, it will serve in other cases, but I didn't askk for a way to make the app invisible, but it's icon in the Dock only!!!

If you take the example of the clock, it is unusefull if it is hidden onthe Desktop and it's icon stuck at midnight in the Dock.

I tried the two first things, and it worked: I could only saw the apps in the process viewer.

So I don't know if you misunderstood, or if you tought it yould work, but it's not exactly what I expected...


latourfl -- I know what you were asking for. This would be a useful thing to do and I am trying to help you. (Just making an app disappear is also useful, but less so for end users and more so for developers.)

So tell me, which things worked?

The NSBGOnly and NSUIElement in the Info.plist?
And what precisely did they do? Did the application and all its windows go away? And the dock icon too?

I gathered these bits from developer threads and the plists for openstrip, PTHClock/volume and wClock, all of which have no dock icon but do have windows, so I thought the hacks would be generally applicable. Perhaps one nneeds to modify a .nib file some?

Of course if the app you start doesn't automatically pop up a window, it might be hard to find it without a dock icon... is that the problem?
How about foregrounding the app from the command-option-escape dialog? Does that work?

I'll try to help as much as I can, but you're going to have to be a lot more exact with your language.


[Edited by zpincus on 12-18-2000 at 04:09 PM]