基本上,我想确保每次打开Safari时都执行自定义的.applescript。
我尝试将脚本添加到“〜/ Library / Scripts / Applications / Safari”文件夹中,但这似乎并不会自动执行。
作为一种解决方法,我可能只需要编写一个既可以启动Safari又可以运行自定义内容的AppleScript。我只是想检查是否有更清洁的方法。
答案 0 :(得分:1)
将内容放入〜/ LibraryScripts / Applications 文件夹中只会使它们在特定应用程序处于活动状态时可用。
除了运行脚本和Safari的别名之外,您还可以在后台应用程序中使用某些AppleScriptObj-C(可能通过登录项运行),该应用程序注册了 NSWorkspaceDidLaunchApplicationNotification 通知以获取名称。启动应用程序。这样还具有查看Safari何时从您的别名以外启动的优势,例如通过各种文档链接(邮件,PDF等)
use framework "Foundation"
my addObserver:me selector:"appLaunchNotification:" |name|:(current application's NSWorkspaceDidLaunchApplicationNotification) object:(missing value)
on appLaunchNotification:notification -- an application was launched
# notification's userInfo contains the application that was launched
set applicationInfo to NSWorkspaceApplicationKey of notification's userInfo -- NSRunningApplication
set appName to (localizedName of applicationInfo) as text
-- do your thing depending on appName
end appLaunchNotification: