Возможно ли «Бросить других»?


5

Если кто-то удерживает вариант а также контроль щелкнув значок в Dock, полученное меню содержит Скрыть других команда, такая, что только выбранное приложение видно на экране. Это полезно при создании презентации, записи экрана или при других обстоятельствах. Одна проблема заключается в том, что программы, работающие в фоновом режиме, могут по-прежнему генерировать ошибки и т. Д., Которые могут неловко вызывать их повторное появление во время показа экрана, презентации и т. Д.

Возможно ли создать какую-либо команду (или службу, или что-то еще) для «выхода из других», то есть команду, которая будет завершать все приложения, кроме самой передней?

Ответы:


5

С использованием Так ответь ссылается на Диаго Возможно, что-то вроде следующей модификации может исключить текущее активное приложение:

tell application "System Events"
    set the visible of every process to true
    set app_name to name of the first process whose frontmost is true
end tell
set white_list to {"Finder", app_name}
try
    tell application "Finder"
        set process_list to the name of every process whose visible is true
    end tell
    repeat with i from 1 to (number of items in process_list)
        set this_process to item i of the process_list
        if this_process is not in white_list then
            tell application this_process
                quit
            end tell
        end if
    end repeat
on error
    tell the current application to display dialog "An error has occurred!" & return & "This script will now quit" buttons {"Quit"} default button 1 with icon 0
end try

Затем вы можете добавить это как службу с помощью Automator и назначить для нее сочетание клавиш в разделе «Клавиатура» в Системных настройках.


@ Matt Swain, вы только что собрали этот пост, или есть ошибка где-то в системе? Поскольку я просто пытался ответить на свой собственный вопрос, следуя указаниям Диаго, и когда я нажал кнопку «Отправить», этот ответ появился, но приписался вам. Но либо мы написали то же самое, что вполне возможно, я полагаю, либо каким-то образом мой пост был приписан кому-то другому.
— Daniel

@DanielL Да, я написал это сообщение - не вижу вашего сообщения, но если, как вы говорите, оно очень похоже на это, то, возможно, оно было автоматически отфильтровано? Weird.
— Matt Swain

Хорошо, вау, вы использовали другое имя переменной, чем я. Что ты назвал appname я звонил current_process, Мы просто имели ту же идею. Ну, молодец.
— Daniel

3

Есть ответ на ТАК по этому поводу Выйти из всех приложений, используя Applescript? с кодом для AppleScript, который может выйти из всех приложений. Я думаю, его просто нужно изменить, чтобы проверить, что такое активное приложение, а затем установить его в качестве службы на Mac. Есть статья о последнем доступном Вот ,

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.