很多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应用脚本编辑器
编写脚本然后文件>储存 保存为应用程序
默认图标太丑了,我们替换应用程序图标
cp /Applications/Typora.app/Contents/Resources/AppIcon.icns /Applications/Typora-PicGO.app/Contents/Resources/applet.icns
这里直接使用命令可能会导致图标没有重新加载,应该需要清除缓存,不知道怎么清的可以重启下Mac
启动后我们就能同时打开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等脚本论坛中寻求帮助。
暂无评论内容