42

Я знаю, что это просто любимая мозоль, но я ненавижу, что Preview.app Mac OS X остается открытым, когда у него нет открытых окон. Есть ли способ закрыть его, когда закрыто его последнее окно?

Поскольку я не вижу никакой возможности в Preview, чтобы это произошло, я полагаю, что ответ может быть применим к другим программам, которые имеют аналогичные ... особенности.

Я понимаю, что это не выходит за рамки интерфейса ОС. То есть я признаю, что это не ошибка, которая будет исправлена. Мне интересно, есть ли способ автоматически закрывать выбранные приложения с графическим интерфейсом, у которых нет открытых окон.

6 ответов6

23

Короче говоря: нет.

- Ответ останавливается здесь. Все последующее - просто моя попытка объяснить почему.

Что вы испытываете, так это философия Mac о том, как должны вести себя приложения. Те , кто будут закрыты после последнего окна пропадает не ведут к Руководству интерфейса Mac (хотя есть много там). // Редактировать: это не совсем правильно, см. Сообщения ниже.

Так было с самой первой системы Mac (в 1984 году). Я думаю, это останется с нами еще на 25 лет. Возможно, разработчики приложений позволят нам установить это в настройках.

До тех пор это помогает привыкнуть к Command-Q (клавиша Apple и q), чтобы закрыть все приложения, и Command-W только для активного окна.

21

Попробуйте RedQuits:

RedQuits поможет вам, если вы когда-нибудь пытались закрыть приложение с помощью красной кнопки и задавались вопросом, почему оно все еще открыто. С RedQuits все программы теперь закрываются, когда для этой программы остается только одно окно. Если вы хотите выйти и закрыть все открытые окна программы, просто снимите флажок «Выход только тогда, когда для этого приложения осталось 1 окно». в настройках.

3

Я написал приложение AppleScript, чтобы сделать это для вас.

Короче говоря, он проверяет, какие приложения открыты, дает вам возможность исключить приложения из белого списка из автоматического выхода, а затем каждые 60 секунд завершает работу всех приложений (что может, из-за ограничений).

Чтобы изменить белый список во время его работы, щелкните значок в доке, чтобы снова появилось диалоговое окно выбора.

Чтобы выйти, щелкните правой кнопкой мыши значок Dock и выберите "Выход"

AppleScript источник и приложение: http://files.me.com/kioarthurdane/6kjl9k

3

Функция автоматического завершения, представленная в 10.7, частично предназначена для некоторых приложений.

Если вы откроете Preview, откроете хотя бы одно окно, закроете все окна и переключитесь на другое приложение, Preview будет скрыто от переключателя Dock и приложения. Если вы посмотрите на Activity Monitor, процесс все еще работает и использует память, но могут быть некоторые изменения в управлении процессом.

В Руководстве по программированию для Mac App сказано, что процессы на самом деле завершены, поэтому я могу что-то упустить.

  • Автоматическое завершение устраняет необходимость для пользователей выходить из приложения. Вместо этого система прозрачно управляет завершением приложений за кулисами, завершая приложения, которые не используются, чтобы вернуть необходимые ресурсы, такие как память.

[...]

Автоматическое завершение переносит работу по управлению процессами от пользователя к системе, которая лучше приспособлена для выполнения этой работы. В любом случае пользователям не нужно вручную управлять процессами. Все, что им действительно нужно, это запускать приложения и иметь эти приложения доступными, когда они им нужны. Автоматическое завершение делает это возможным, гарантируя, что производительность системы не пострадает.

2

Другое бесплатное маленькое и простое приложение, Quitter, отображает значок X на панели задач, который действует как кнопка закрытия в Windows.

0

Переопределите следующий метод в NSApplicationDelegate (который обычно возвращает NO):

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .