![Блокировка приложения/запуск AppleScript при открытии приложения](https://rvso.com/image/1646035/%D0%91%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%2F%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%20AppleScript%20%D0%BF%D1%80%D0%B8%20%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B8%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F.png)
Есть ли способ запустить простую команду завершения работы приложения при открытии определенного приложения?
Например, если я открываю Spotify, можно ли запустить скрипт для выхода из приложения?
Спасибо!
решение1
есть ли способ запустить простую команду tell application quit, когда открыто определенное приложение?
Короткий ответ: Да
Более развернутый ответ:
Вот несколько способов, которые приходят на ум...
Есть платныйприложениеназываетсяСобытияСкриптычто среди многихсобытияон может реагировать, одна категория -События приложениякоторый содержит, Application activated
, Application deactivated
, Application will launch
, Application launched
и Application quit
.
СобытияСкриптыработает с обоимиAppleScript скриптыискрипты оболочки.
Посмотри наEventScripts. На момент написания этого поста это$5.99 в App Store в США, но бесплатную демоверсию можно загрузить с сайта разработчиков.
Примечание:Я не связан с разработчиком EventScripts, а просто довольный пользователь продукта.
Пример AppleScript код:
on run eventArgs
set thisTrigger to (trigger of eventArgs)
if thisTrigger is "Application launched" then
set appName to |applicationName| of eventArgs
if appName is "Spotify" then
tell application appName to quit
end if
end if
end run
Бесплатная альтернатива -Хаммерспун, хотя может оказаться, что это не так просто реализовать и использовать, как, например,СобытияСкрипты.
Вотпримерпринадлежащийкодпривыкшийсмотретьдля целиприложениеимеетзапущена затем закройте его с помощьюAppleScript код:
Пример Луа код:
function applicationWatcher(appName, eventType)
if (eventType == hs.application.watcher.launched) then
if (appName == "Spotify") then
hs.applescript('tell application "Spotify" to quit')
end
end
end
appWatcher = hs.application.watcher.new(applicationWatcher)
appWatcher:start()
Это будет помещено в~/.hammerspoon/init.lua файли сХаммерспунработает в фоновом режиме, когда цельприложениеявляетсязапущен, сказано выйти черезAppleScript.
Примечание:Я не связан с разработчиком Hammerspoon, а просто довольный пользователь продукта.