Desactivar Resume en macOS 10.7

Desactivar la función Resume para una aplicación o para todo el sistema

macOS Lion tiene una función llamada Resume que se encarga de guardar el estado de las ventanas de las aplicaciones (documentos abiertos, posición y tamaño de las ventanas, etc.) y las restaura al arrancar de nuevo la aplicación. Esto puede ser un inconveniente en determinadas circunstancias. Este comportamiento se puede desactivar para aplicaciones seleccionadas o de forma global para todas las aplicaciones.

Desactivar Resume por aplicación

Se puede realizar con el comando defaults que modifica las preferencias de las aplicaciones actuando sobre los archivos plist de la carpeta ~/Library/Preferences. Es necesario conocer el nombre del archivo plist (lo que se llama el dominio de la aplicación), por ejemplo es com.apple.TextEdit para  TextEdit (el nombre del archivo sin la extensión plist), en este caso concreto el comando sería éste:

defaults write com.apple.TextEdit NSQuitAlwaysKeepsWindows -bool FALSE

Comandos para aplicaciones de uso frecuente (puedes configurar las tuyas propias):

defaults write com.apple.iWork.Numbers NSQuitAlwaysKeepsWindows -bool FALSE
defaults write com.apple.iWork.Pages NSQuitAlwaysKeepsWindows -bool FALSE
defaults write com.apple.iWork.Keynote NSQuitAlwaysKeepsWindows -bool FALSE
defaults write com.apple.Preview NSQuitAlwaysKeepsWindows -bool FALSE
defaults write com.apple.TextEdit NSQuitAlwaysKeepsWindows -bool FALSE
defaults write com.apple.Xcode NSQuitAlwaysKeepsWindows -bool FALSE
defaults write com.apple.dt.Xcode NSQuitAlwaysKeepsWindows -bool FALSE
defaults write com.apple.QuickTimePlayerX NSQuitAlwaysKeepsWindows -bool FALSE
defaults write com.pixelmatorteam.pixelmator NSQuitAlwaysKeepsWindows -bool FALSE
defaults write com.pixelmatorteam.pixelmator.LSSharedFileList NSQuitAlwaysKeepsWindows -bool FALSE

Después conviene reiniciar sesión.

Desactivar Resume globalmente con defaults

El comando que desactiva esta función para todas las aplicaciones es:

defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool FALSE

Después conviene reiniciar sesión.

Desactivar Resume globalmente actuando sobre la carpeta Saved Application State

Hay una forma más drástica de inhabilitar esta función para todo el sistema. Si tenemos en cuenta que los estados de las aplicaciones se guardan en la carpeta ~/Library/Saved Application State, si vaciamos la carpeta e inmediatamente después cambiamos sus propiedades con el botón derecho del ratón > Obtener información > marcar la casilla Bloqueado, la carpeta no podrá sufrir modificaciones por lo que no se guardarán los estados de las aplicaciones.

Nota: aparte de lo comentado en este artículo, cuando cerramos la aplicación con las teclas Comando+Opción+Q (en lugar del Comando+Q habitual) no se guardará el estado de las ventanas de la aplicación.