Mac如何关联多个应用生命周期,让启动Typora同时启动PicGO?

很多Mac用户都希望在使用Typora写作时能够自动启动PicGO来上传图片,这样可以提高写作效率。还能节约一直后台运行PicGO带来的电量性能损耗。本文将分享一种实现方式,通过Mac OS的AppleScript脚本来关联多个应用程序的生命周期,以实现启动Typora同时启动PicGO的功能。

您是否想要在使用Typora写作时能够自动启动PicGO来上传图片?本文将分享一种通过AppleScript脚本实现启动Typora同时启动PicGO的方法。

代码实现

这里提供了一份简单的AppleScript脚本,可用于启动Typora并检查其是否正在运行。如果Typora已关闭,则会退出PicGO。

global theApp

on quitTheApp()
    if theApp is running then
        quit theApp
    end if
end quitTheApp

set theApp to application "PicGo"
activate theApp

tell application "Typora"
    activate
end tell

# 每隔1秒钟检查一次Typora是否还在运行
repeat
    if not application "Typora" is running then
        quitTheApp()
        exit repeat
    end if
    delay 1
end repeat

该脚本首先将Typora应用程序激活,并将PicGO设置为theApp变量。然后,它使用一个循环来每隔1秒钟检查一次Typora是否还在运行。如果Typora已关闭,则脚本将退出PicGO。

保存到应用程序

打开Mac应用脚本编辑器编写脚本然后文件>储存 保存为应用程序

image-20230406153132984

默认图标太丑了,我们替换应用程序图标

image-20230406153632078

cp /Applications/Typora.app/Contents/Resources/AppIcon.icns /Applications/Typora-PicGO.app/Contents/Resources/applet.icns

这里直接使用命令可能会导致图标没有重新加载,应该需要清除缓存,不知道怎么清的可以重启下Mac

image-20230406155244742

启动后我们就能同时打开Typora和PicGO了,退出Typora也会同时退出PicGO。

定制化的脚本

您可以根据自己的需求来定制化这个脚本。比如,您可以将PicGO替换成您想要启动的其他应用程序,或者将检查间隔更改为其他时间间隔。

global theApp

on quitTheApp()
    if theApp is running then
        quit theApp
    end if
end quitTheApp

set theApp to application "Preview" # 这里将PicGO替换为了Preview
activate theApp

tell application "Typora"
    activate
end tell

# 每隔3秒钟检查一次Typora是否还在运行
repeat
    if not application "Typora" is running then
        quitTheApp()
        exit repeat
    end if
    delay 3 # 这里将检查间隔更改为了3秒钟
end repeat

总结

通过AppleScript脚本,我们可以实现在Mac上关联多个应用程序的生命周期。这对于那些需要同时使用多个应用程序的用户来说是非常有用的。虽然这个脚本很简单,但您可以通过修改其代码来实现更高级的功能。

最后,如果您尝试使用这个脚本时遇到问题,可以在Mac等脚本论坛中寻求帮助。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容