web-dev-qa-db-fra.com

Obtention des applications Mac OS X fermer après la dernière fenêtre fermée

Je sais que c'est juste une bête noire, mais je déteste que Preview.app de Mac OS X reste ouvert même s'il n'y a pas de fenêtre ouverte. Y a-t-il un moyen de le fermer quand sa dernière fenêtre est fermée?

Étant donné que je ne vois aucune option dans Preview pour y arriver, j'imagine que la réponse pourrait s'appliquer à d'autres programmes présentant des… idiosyncrasies similaires.

Je me rends compte que ce n'est pas en dehors des directives d'interface du système d'exploitation. C'est-à-dire que je reconnais que ce n'est pas un bogue qui sera corrigé. Je me demande s'il existe un moyen de fermer automatiquement certaines applications à interface graphique sans fenêtre ouverte.

43
wfaulk

Essayez RedQuits:

RedQuits est là pour vous aider si vous avez déjà essayé de fermer une application avec son bouton rouge et vous vous demandez pourquoi elle est toujours ouverte. Avec RedQuits, tous les programmes sont maintenant arrêtés s’il ne reste plus qu’une fenêtre. Si vous souhaitez quitter et fermer toutes les fenêtres ouvertes d'un programme, décochez simplement "Quitter uniquement lorsqu'il ne reste qu'une fenêtre pour cette application". dans les préférences.

21
msaied

En bref: non.

- La réponse s'arrête ici. Tout ce qui suit n’est que ma tentative d’expliquer pourquoi.

Ce que vous vivez, c’est la philosophie Mac sur le comportement des applications. Ceux qui sont fermés après la disparition de la dernière fenêtre ne respectent pas les règles d'interface Mac (bien qu'il y en ait beaucoup). // Edit: Ce n'est pas tout à fait correct, voir les messages ci-dessous.

C’est ainsi depuis le tout premier système Mac (en 1984). Je suppose que cela restera avec nous pendant encore 25 ans. Peut-être que les développeurs d'applications nous permettront de définir cela dans les préférences.

Jusque-là, il est utile de s’habituer à Command-Q (la touche Pomme et q) pour quitter chaque application, et à Command-W pour la fenêtre active uniquement.

23
Wolf

J'ai écrit une application AppleScript pour le faire pour vous.

En bref, il vérifie quelles applications sont ouvertes, vous offre la possibilité d’inscrire la liste blanche des applications à exclure de la fermeture automatique, puis toutes les 60 secondes, ferme toutes les applications (qu’il peut, en raison de limitations).

Pour modifier la liste blanche pendant son exécution, cliquez sur l'icône dans le dock pour que la boîte de dialogue de sélection réapparaisse.

Pour quitter, cliquez avec le bouton droit sur l'icône du Dock et choisissez "Quitter".

Source AppleScript et application: http://files.me.com/kioarthurdane/6kjl9k

3
dotHTM

La fonctionnalité de terminaison automatique introduite dans 10.7 répond partiellement à cela pour certaines applications.

Si vous ouvrez Aperçu, si vous ouvrez au moins une fenêtre, fermez toutes les fenêtres et passez à une autre application, Aperçu est masqué du Dock et du commutateur d’applications. Si vous regardez Activity Monitor, le processus est toujours en cours d'exécution et utilise de la mémoire, mais il pourrait y avoir des changements dans la façon dont le processus est géré.

Le Guide de programmation de l'application Mac indique que les processus sont en réalité terminés. Il se peut donc que quelque chose me manque.

  • La fermeture automatique élimine le besoin pour les utilisateurs de quitter une application. Au lieu de cela, le système gère les terminaisons d'applications de manière transparente en coulisse, mettant fin aux applications qui ne sont pas utilisées pour récupérer les ressources nécessaires, telles que la mémoire.

[...]

La terminaison automatique transfère le travail de gestion des processus de l'utilisateur au système, qui est mieux équipé pour gérer le travail. Les utilisateurs n'ont de toute façon pas besoin de gérer les processus manuellement. Tout ce dont ils ont besoin, c’est d’exécuter des applications et d’avoir ces applications disponibles quand elles en ont besoin. La résiliation automatique rend cela possible tout en garantissant que les performances du système ne sont pas affectées.

3
Lri

Une autre petite application simple et gratuite, Quitter , affiche une icône en forme de X dans la barre des tâches qui agit comme le bouton de fermeture de Windows.

2
Andreas

Remplacez la méthode suivante dans NSApplicationDelegate (qui renvoie normalement NO):

-(BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSapplication*)sender
{
return YES;
}
0
Pierre Dufresne