Hammerspoon 强力的自动化工具

用了 Hammerspoon 好久了,有点迫不及待想要安利给大家。

http://www.hammerspoon.org/

 

快速地看一遍它文档页 http://www.hammerspoon.org/docs/index.html

很快会发现这个小锤子简直太强大了,窗口管理、音乐播放、应用管理,甚至是网络请求……想像空间非常大。

个人觉得它有点像 zsh ——本身很强大,但刚接触的用户可能连它十分之一的好处都体会不到……

所以俺造了一个粗糙的轮子:

https://github.com/hit1024/oh-my-hammerspoon

说明一下,其中主要代码是来自 https://github.com/songchenwen/dotfiles/tree/master/hammerspoon

我主要是在这个项目的基础上,做了一点微小的贡献。

我的项目目前主要实现了:常用软件使用快捷键启动,当前窗口使用快捷键调整大小或移动,简单的音乐控制。

简单地说,

就是利用 Hammerspoon 封装好的 API 封装一些动作,比如把当前软件窗口放缩至屏幕面积的 1/4 并移动至屏幕左上角,之后给它绑定一个快捷键(比如: ctrl + option + cmd + u )。

作为一个窗口管理器来用,还是挺不错的,因为配置文件可编程, API 接口也很丰富,可以自己定制想要的效果。

从它刚在 github 发布的时候就一直在用了,这个软件最开始叫 hydra ,后来貌似因为重名问题改成了 mjolnir , hammerspoon 是 mjolnir 的一个 fork ,和官方版的区别是它倾向于集成各种插件到内核,而官方则是以外部软件包的形式提供,需要额外安装,还有就是 hammerspoon 的开发明显比 mjolnir 活跃的多,而且插件也更多。

我用它来自动切换 wifi 位置。
检测到某地的 wifi ssid 就切换到某地,都没检测到就自动。

 

一款好用的窗口管理器能够大幅提升工作效率,看完本文以后,你可以无需鼠标,完成窗口切换、移动、调整大小、预定义布局等操作。

先列举一下博主曾经用过至少半年以上的窗口管理器,如果你正在使用,是时候尝试一下本文介绍的工具了。

今天介绍的这款工具是 hammerspoon,窗口管理只是其中一个非常小的应用。

其能直接与应用、窗口、鼠标、文件、音频设备、电池、屏幕、底层键盘/鼠标事件等进行交互,配合这些功能,你甚至可以用 hammerspoon 直接操控程序,而无需切换(例如音乐播放器)。

The Only Limit Is Your Imagination!

 

 

Hammerspoon 开源、免费和支持插件,将大多数系统层面的接口封装成了 Lua API,这就让这把小锤子在 MacOS 上近乎无所不能,可玩性极高。

 

  • 菜单栏显示最近几天天气情况
    • 参考示例
    • 请求免费的天气 API,在深圳这个多雨的城市里提醒我别忘记带伞。
Hammerspoon——又一个用了就无法自拔的神器
  • 剪切板历史记录
    • 参考示例
    • 记录剪贴板历史,点击某一项再重新复制。
    Hammerspoon——又一个用了就无法自拔的神器
  • 音量调节快捷键
    • 参考示例
    • 当我使用外接键盘时,自定义快捷键 cmd + up/down 调节系统音量
    • Hammerspoon——又一个用了就无法自拔的神器
  • 窗口管理
    • 参考示例
    • 快捷键实现二分屏、三分屏和全屏
    Hammerspoon——又一个用了就无法自拔的神器
  • Wi-Fi 自动脚本
    • 参考示例
    • 根据 Wi-Fi SSID 判断是否在公司还是在家,例如在家里自动挂载 NAS 服务器,如果在公司 sshfs 挂载服务器目录等。
    Hammerspoon——又一个用了就无法自拔的神器
  • 蓝牙耳机自动连接
    • 参考示例
    • 电脑锁屏时,自动断开连接的蓝牙耳机。
  • 输入法自动切换
    • 参考示例
    • 在每个 App 界面自动切换成搜狗输入法,配合搜狗输入法自动中英文切换,再也不用在系统默认的英文输入法和搜狗输入法之间来回切换了。
  • 定时自动提交代码
    • 参考示例
    • 使用 hs.timer 定时器,定时自动推送我的笔记和下载的电子书到 Github 仓库。
  • USB 设备连接记录
    • 参考示例
    • 记录插上你电脑的每一个 USB 设备信息,凡插过必留记录。
  • TTS 发声
    • 参考示例
    • 调用 say hello world 合成 TTS,模拟真人发音,让 Mac 会说话。
  • 更多… (完全停不下来啊)

Hammerspoon 已经将与 MacOS 之间的系统交互封装成了 Lua 的 API,配置 ~/.hammerspoon/init.lua 脚本可以与系统进行交互,只需要了解一些基本的 Lua 语法,就可以 Happy Hacking 了。

 

原文链接:http://blog.csdn.net/mdl13412/article/details/50365201

发表回复