代码之家  ›  专栏  ›  技术社区  ›  rui

如何在Safari.app启动时自动运行AppleScript?

  •  0
  • rui  · 技术社区  · 7 年前

    基本上,我想确保每次打开Safari时都执行一个自定义的writed.applescript。

    我试图将脚本添加到“~/Library/Scripts/Applications/Safari”文件夹中,但这似乎不是自动完成的。

    1 回复  |  直到 7 年前
        1
  •  1
  •   red_menace    7 年前

    把东西放进 ~/LibraryScripts/应用程序 文件夹只在特定应用程序处于活动状态时使它们可用。

    除了运行脚本和Safari的别名之外,您还可以在注册了 在应用程序启动时获取其名称的通知。这还有一个好处,就是可以看到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: