在 Hammerspoon 中,如何打开应用程序并传入启动参数

In Hammerspoon, how to open an app and pass in startup params

我正在尝试制作一个 Hammerspoon 热键来打开并开始 Google Meet 中的日常会议。

因为我有超过 1 个 google 配置文件,我需要在调用时使用 Chrome command-line 参数将所需的配置文件传递给 Chrome。

在启动字符串中添加这些额外参数时,正常的 Hammerspoon 应用程序启动方法都会失败。

更具体地说,以下从命令行运行并具有我想要的效果: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --app=https://meet.google.com/some-meeting-id --profile-directory='Profile 1'

但是在 hs.application.open、hs.application.launchOrFocus 或 hs.urlevent.openURL 中使用该字符串都会失败。

如何让 Hammerspoon 打开包含像这样的额外参数的应用程序启动命令?

我想出了一个不错的解决方法:

我使用 do shell script 将长命令行与参数捆绑在 AppleScript 中,然后将其保存为应用程序(例如 StartMeetup.app)。之后,Hammerspoon 可以启动:

hs.application.open("StartMeetup")

但是,如果知道如何让 Hammerspoon 直接执行此操作而无需中间脚本,这仍然非常有用。