Obtendo aplicativos do Mac OS X para fechar após a última janela fechada

40

Eu sei que é apenas uma implicância, mas eu odeio que o Preview.app do Mac OS X fique aberto quando não há janelas abertas. Existe alguma maneira de fazê-lo fechar quando sua última janela está fechada?

Como não vejo nenhuma opção dentro da Visualização para que isso aconteça, imagino que a resposta possa ser aplicável a outros programas com idiossincrasias semelhantes.

Eu percebo que isso não está fora das diretrizes de interface do sistema operacional. Ou seja, reconheço que isso não é um bug que será corrigido. Eu estou querendo saber se existe alguma maneira de fechar automaticamente os aplicativos GUI selecionados que não possuem janelas abertas.

    
por wfaulk 11.10.2009 / 17:44

6 respostas

21

Tente RedQuits:

RedQuits is there to help if you have ever tried to close an application with its red button and wondered why it is still open. With RedQuits, all programs now quit when there's only one window left for that program. If you want to quit and close all open windows of a program, just uncheck "Quit only when 1 window is left for that app." in the preferences.

    
por 27.12.2011 / 07:33
23

Em suma: não.

- A resposta para aqui. Tudo o que se segue é apenas a minha tentativa de explicar porquê.

O que você está experimentando é a filosofia Mac de como os aplicativos devem se comportar. Aqueles que estão fechados após a última janela desaparecem não estão se comportando com o Mac Interface Guidelines (embora existam muitas coisas por aí). // Edit: Isso não está totalmente correto, veja as postagens abaixo.

Tem sido assim desde o primeiro Mac System (em 1984). Eu acho que vai ficar conosco por mais 25 anos para vir. Talvez o app devs nos permita definir isso nas preferências.

Até lá, ajuda a se acostumar com Command-Q (a tecla Apple eq) para sair de cada aplicativo - e Command-W apenas para a janela ativa.

    
por 11.10.2009 / 18:19
3

Eu escrevi um aplicativo AppleScript para fazer isso por você.

Em resumo, ele verifica quais aplicativos estão abertos, oferece a opção de excluir aplicativos da exclusão automática e, em seguida, a cada 60 segundos, encerra todos os aplicativos (que podem, devido a limitações).

Para alterar a lista de desbloqueio enquanto ele estiver em execução, clique no ícone no encaixe para que a caixa de diálogo de seleção reapareça.

Para sair, clique com o botão direito do mouse no ícone do Dock e escolha "Sair"

Fonte e aplicativo AppleScript: link

    
por 26.10.2009 / 18:31
3

O recurso de terminação automática introduzido no 10.7 aborda parcialmente isso para algumas aplicações.

Se você abrir a Visualização, abrir pelo menos uma janela, fechar todas as janelas e alternar para outro aplicativo, a Visualização ficará oculta no Dock e no alternador de aplicativos. Se você observar o Activity Monitor, o processo ainda estará em execução e usará a memória, mas poderá haver algumas mudanças em como o processo é gerenciado.

O Guia de programação do Mac App diz que os processos estão realmente terminados, então pode haver algo que está faltando.

  • 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.

[...]

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.

    
por 18.12.2012 / 06:51
2

Outro aplicativo pequeno e simples gratuito, Quitter , exibe um ícone X na barra de ferramentas que funciona exatamente como o fechamento botão no Windows.

    
por 17.12.2012 / 16:42
-1

Substitua o seguinte método em NSApplicationDelegate (que normalmente retorna NO ):

-(BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSapplication*)sender
{
return YES;
}
    
por 23.06.2016 / 22:49