手边常用的番茄工具有:滴答清单和专注清单。都不能支持自定义背景乐,而我又是网易云音乐的重度用户。一时不爽,索性用applescript+shell自己撸了个脚本。
下面直接上代码
#!/bin/bash
killall NeteaseMusic
# 倒计时5s
echo kill 5
for i in {5..1} ; do
echo $i
sleep 1
done
#打开
open /Applications/NeteaseMusic.app
# 倒计时10s
echo open 10
for i in {10..1} ; do
echo $i
sleep 1
done
start=25
playtime=$(($start*60))
#计算工作时长
echo $playtime
stop=5
pausetime=$(($stop*60))
#计算休息时长
echo $pausetime
#默认4次循环
for((i=1;i<=4;i++)); do
echo $i loop
#播放或暂停,用applescript模拟键盘发送
osascript -e 'tell application "System Events"' -e 'key code {58, 55, 35}' -e 'end tell'
echo play ${start}min
for j in $(seq $playtime 1) ; do
echo $j
sleep 1
done
wait
osascript -e 'tell application "System Events"' -e 'key code {58, 55, 35}' -e 'end tell'
echo pause ${stop}min
for k in $(seq $pausetime 1) ; do
echo $k
sleep 1
done
wait
done
需要特别注意的地方
-
网易云音乐要选中"启用全局快捷键",位于"设置"-->"快捷键"
-
上图中"播放/暂停"的"全局快捷键"默认设置因为产生冲突,被我改成了图中的配置。相应的,脚本中的模拟按键代码也要随之变更,对应的代码对照表,放在下面。
可以扩展的其他玩法
- 可以用mac自带的"自动操作"生成一个应用程序;
- 可以把脚本中的番茄时间改成参数,调用sh脚本时,传递进去;
- 可以打开mac自带播放器,甚至指定播放列表
- 可以用两个不同的播放器切换
- 等等
总结
基本思路是利用applecript的模拟按键功能,控制app。
目前满足于自用,仅适用于mac环境。
记录一下。
本作品由 IvyWooo 采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可,转载请注明出处。 本文链接