1

When I use Grab, if ever I close all its windows and then take focus away from it by clicking somewhere else it disappears from the dock.

Grab hides from the dock even if the Grab window I close is the "About Grab" window. Grab doesn't hide from the dock if I open it and then take away focus before opening and closing a Grab window.

I can see the Grab process is still running when I check from Terminal and when I "reopen" it to get it back into the dock it's the same PID and only one copy is running.

Does anyone know how to stop Grab from hiding? I don't want Grab permanently in the dock even when it's closed, I just want it to stop hiding while I'm using it. I'm using MacOS 10.10.5 MBP 11,3.

screenshot

Thanks in advance!

2

This is called "Automatic Termination" and is also implemented for QuickTime Player and others. The processes stay open in the background, so they re-open quickly, but with enough memory pressure (for other processes or applications for example) they will be forced to terminate.

To disable it, open Terminal (in /Applications/Utilities, or search via Spotlight) and type:

defaults write com.apple.Grab NSDisableAutomaticTermination -bool yes

Then hit enter.
Make sure to properly quit and relaunch Grab after running this defaults write command.

To restore the original settings, run the following command:

defaults delete com.apple.Grab NSDisableAutomaticTermination

From the Apple Developers site:

Automatic and Sudden Termination of Apps Improve the User Experience In OS X v10.7 and later, the use of the Quit command to terminate an app is diminished in favor of more user-centric techniques. Specifically, Cocoa supports two techniques that make the termination of an app transparent and fast:

Automatic termination eliminates the need for users to quit an app. Instead, the system manages app termination transparently behind the scenes, terminating apps that are not in use to reclaim needed resources such as memory. Sudden termination allows the system to kill an app’s process immediately without waiting for it to perform any final actions. The system uses this technique to improve the speed of operations such as logging out of, restarting, or shutting down the computer. Automatic termination and sudden termination are independent techniques, although both are designed to improve the user experience of app termination. Although Apple recommends that apps support both, an app can support one technique and not the other. Apps that support both techniques can be terminated by the system without the app being involved at all. On the other hand, if an app supports sudden termination but not automatic termination, then it must be sent a Quit event, which it needs to process without displaying any user interface dialogs.

Automatic termination transfers the job of managing processes from the user to the system, which is better equipped to handle the job. Users do not need to manage processes manually anyway. All they really need is to run apps and have those apps available when they need them. Automatic termination makes that possible while ensuring that system performance is not adversely affected.

Apps must opt in to both automatic termination and sudden termination and implement appropriate support for them. In both cases, the app must ensure that any user data is saved well before termination can happen. And because the user does not quit an autoterminable app, such an app should also save the state of its user interface using the built-in Cocoa support. Saving and restoring the interface state provides the user with a sense of continuity between app launches.

For information on how to support for automatic termination in your app, see Automatic Termination. For information on how to support sudden termination, see Sudden Termination.

Automatic and Sudden Termination of Apps Improve the User Experience

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .