难道是使用人数太少的缘故?😖 个人感觉挺好的软件啊…… 既然没人写我就随便写点什么吧,虽然本人也很菜……
因为前一段时间搞了awesome hammerspoon,对 Hammerspoon 自然多了一些关注。此次发布的 0.9.51 (从 0.9.50 ⇡) 版本还是比较给力的,很值得关注。 Bug 修复和 API 改动就不说了,只说下增加的新特性:
- 增加 hs.spotlight 模块。能读取 spotlight 数据了,配合 hs.chooser 模块就能实现类似 spotlight 的功能;不过个人对系统自带的 spotlight 挺满意,所以这块文档没细看;
- 增加 hs.network.ping 模块。用于确定网络状况、延迟等。
- 增加 hs.deezer 模块。一个音乐播放器的自动控制,和咱无关。
- 增加 hs.watchable 模块。实现对文件变动或者变量的监控,很容易在此基础上做基于事件的自动化。
- 增加 hs.canvas 模块。 hs.drawing 模块的升级版,增加了众多吸引人的特性。比如组合操作,把多个绘图元素组合统一操作,也方便在不同分辨率屏幕上自动伸缩;支持 sourceIn/sourceOut 等集合操作,方便解决图层层叠处理的问题;支持多级渐变和径向渐变,之前 hs.drawing 只支持两级和方向渐变(之前想创建个色盘来着,发现这个限制悻悻作罢);可以创建图像给其它模块使用,比如绘制完直接作为 menubar 的状态栏;支持鼠标进入/退出/点击等事件的识别,可以有更多交互类的玩法了,一堆 Geektool 、 Ubersicht 、 Anybar 等去一边歇着吧;一定程度上支持了动画,比如直接把例子里的几行代码复制到终端,就能看到转动的电风扇和波峰图了,没事绘制绘制 CPU 负载、网络流量等也是挺好的事儿;对了,这模块对 hs.drawing 完全向下兼容,老代码不需任何修改,最终是要完全取代 hs.drawing 模块的。
- 增加 hs.caffeinate.sessionProperties API 。 hs.caffeinate 可以代替 caffeinate 、 Vatamin 等 app ,新增加的好像是让 Hammerspoon 重载配置也能读取之前状态?
- hs.chooser 模块读取被选行内容还有右键鼠标事件,更好看了一点。其实我对 hs.chooser 模块有更大的期待。作为 Hammerspoon 几乎唯一一处支持用户输入的宝贝疙瘩(当然直接调 hs.applescript 模块也能有输入框),只要不局限于单行输入,配合 hs.markdown 模块就能实现 md 文档的实时预览,配合 hs.styledText 模块就能实现 snippet 片段预览和管理。。。当然维护者也在逐渐增强这个模块的功能,目前只能慢慢等。
以上,就是本次小版本更新我粗看文档后了解到的内容。 不知不觉写的还挺多……也算给自己的一个备忘吧。🐶
写以上内容的时候,打开官方的 release notes 对照来看。发现又发布了 0.9.52 版本,瞅了一眼,说修复了 hs.chooser 的一处死循环 bug 。 这么说,我昨天费劲半天修复 awesome hammerspoon 的 hsearch 模块,原来是你们的锅?!(๑ó﹏ò๑) 每次按键都潮水般向服务器发送至少 200 次请求,害得我有道词典的 API key 都被封了!
不管咋样,昨天我最终在 0.9.51 版本下成功让每次按键只发送一次请求。 0.9.52 版本应该也没啥问题(吧?),写完这帖子就去下载。
最后说下 awesome hammerspoon,当时也是一边看 lua + hammerspoon 文档一边写的。代码可能不规整,但用到现在好像也没啥大 bug (?)。
目前提供了桌面 widgets 、窗口管理、应用启动、词典/ Safari 搜索、计时器、快捷键 Cheatsheet 、剪贴板读取等功能。反正个人用的还是蛮爽的,针对上次有人提出的自定义快捷键等的问题,也改进了很多。写个小功能模块门槛还是很低的( 100 行左右),期待有人写出更好用的脚本来。
嗯,先这样。