在 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 直接执行此操作而无需中间脚本,这仍然非常有用。
我正在尝试制作一个 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 直接执行此操作而无需中间脚本,这仍然非常有用。