推荐一个 MacOS 上用了就无法自拔的神器 [Hammerspoon] - V2EX
2019-04-09 18:42:36 Author: www.v2ex.com(查看原文) 阅读量:618 收藏

推荐一个 MacOS 上用了就无法自拔的 App

Hammerspoon

Hammerspoon 是 MacOS 上的自动化工具,许多介绍 Hammerspoon 的文章都主要介绍了它是一个窗口管理工具,但是 Hammerspoon 能做到的远远不仅如此。

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

我都用 Hammerspoon 做了些什么?

  • 菜单栏显示最近几天天气情况
    • 参考示例
    • 请求免费的天气 API,在深圳这个多雨的城市里提醒我别忘记带伞。

  • 剪切板历史记录

    • 参考示例
    • 记录剪贴板历史,点击某一项再重新复制。

  • 音量调节快捷键

    • 参考示例

    • 当我使用外接键盘时,自定义快捷键 cmd + up/down 调节系统音量

  • 窗口管理

    • 参考示例
    • 快捷键实现二分屏、三分屏和全屏

  • Wi-Fi 自动脚本

    • 参考示例
    • 根据 Wi-Fi SSID 判断是否在公司还是在家,例如在家里自动挂载 NAS 服务器,如果在公司 sshfs 挂载服务器目录等。

  • 蓝牙耳机自动连接

  • 输入法自动切换

    • 参考示例
    • 在每个 App 界面自动切换成搜狗输入法,配合搜狗输入法自动中英文切换,再也不用在系统默认的英文输入法和搜狗输入法之间来回切换了。
  • 定时自动提交代码

    • 参考示例
    • 使用 hs.timer 定时器,定时自动推送我的笔记和下载的电子书到 Github 仓库。
  • USB 设备连接记录

    • 参考示例
    • 记录插上你电脑的每一个 USB 设备信息,凡插过必留记录。
  • 消息推送

  • TTS 发声

    • 参考示例
    • 调用 say hello world 合成 TTS,模拟真人发音,让 Mac 会说话。
  • 更多... (完全停不下来啊)

其他插件思路

  • 番茄钟
  • 应用搜索
  • 桌面小部件
  • ...

使用入门

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

我的参考配置

如果你懒得配置,可以参考我的配置,

wangshub/hammerspoon-config

最后

已经完全停不下来了,Hammerspoon 每天至少省下了 30 分钟的时间 😀⏱

4

Mirage09   7 小时 56 分钟前 via iPhone

用很久了,根据不同软件自动切换输入法。

5

easternslope   7 小时 53 分钟前

@holy_sin Alfred 和 Hammerspoon 都在重度使用,个人使用下来感觉,Alfred 更适合主动触发和查询事件,而 Hammerspoon 更适合定时任务和注册事件回调触发一些自动脚本

6

fyooo   7 小时 53 分钟前

收藏+感谢

7

yangg   7 小时 47 分钟前

想系统休眠时退出 微信不知道能做到么?因为电脑端登录时关了手机端的提醒,导致手机上收不到提醒。

9

jpdev   7 小时 41 分钟前 via iPhone

感觉功能很类似一款正准备买的 app,能禁止待机不呢?

12

lzs5240   7 小时 24 分钟前

楼主的 zsh 美化好漂亮, 发一下?

20

yangg   7 小时 7 分钟前

@easternslope 不知道微信怎么退出 ,之前试过结束进程,微信登录不会掉。
tell application "WeChat"
quit
end tell
这个也找不到。

21

RuiQu   7 小时 6 分钟前

哇哦 炫酷青年

24

scukmh   7 小时 5 分钟前 via iPhone

刚刚一直想着用 alfred 实现相同的功能,因为不想装两个软件,但好像确实 alfred 不适合做这个。

25

Hilong   7 小时 3 分钟前 via Android

之前研究了下,自己写了一点小脚本,感觉发挥不了它的功能,就卸载了,看到楼主的分享,又想搞起来了

26

easing   6 小时 59 分钟前

我其实并不需要这些功能,但我还是点进来赞一下

28

yangg   6 小时 57 分钟前

osascript -e 'tell application "WeChat" to quit' 用这个可以了,多谢,就是要花好久,不知道能不能行

29

mosesyou   6 小时 56 分钟前

天气怎么切换城市呢,我这里使用你的脚本还是深圳的天气

30

hhyvs111   6 小时 55 分钟前 via iPhone

不错,马克了

32

thet   6 小时 51 分钟前 via Android

看起来不错 回头试试看

33

sunocean   6 小时 49 分钟前 via iPhone

楼主我能转载到我的博客吗?

34

sunocean   6 小时 48 分钟前 via iPhone

话说楼主录屏用的什么软件啊?

35

easternslope   6 小时 39 分钟前 via Android

@scukmh 之前和你也有同样的困惑,但是后来发现 Alfred + Hammersoon 一起才是双剑合璧

38

ATiGr   5 小时 24 分钟前 via iPhone

很早以前就发现了这个神器,然而因为自己太菜鸡,没有写出来什么有用的东西,不得不放弃…… 看到 LZ …… 膜拜一下

39

gkiwi   5 小时 21 分钟前

已经用起来了,楼主 clipboard 就是我最想要的~3ks !

40

18k   5 小时 6 分钟前

现在在用

Alfred 的 clipboard 管剪切板
manico 管窗口
万年历做日历和天气
滴答做番茄

LZ 这个一个打十个。。。

41

hihikm   4 小时 56 分钟前 via Android

确实方便

43

cxtrinityy   4 小时 55 分钟前

买了一个显示器后,写了几个脚本,外接屏的时候快速拖屏到另外一个屏幕,鼠标快速屏幕切换和外屏分辨率切换

45

magic3584   4 小时 53 分钟前

貌似类似 bitbar ? 不过这得用 lua 吗?

46

easternslope   4 小时 50 分钟前

@magic3584

1. 可以实现 bitbar 的全部功能,得用 lua 来写插件,
2. 但是别担心,lua 的语法很简单,很值得一试,你可以先用我的配置,慢慢改
3. 我也是刚开始写 lua

48

kwGao   3 小时 59 分钟前

@easternslope 大神,我执行你给的 zsh 主题之后,zsh 报这个错误:
/Users/gao/.zshrc:source:28: no such file or directory: /Users/kaboom/.oh-my-zsh/oh-my-zsh.sh
ERROR: Can't find Ruby library file or shared library colorls
/Users/gao/.zshrc:source:33: no such file or directory: /tab_complete.sh
/Users/gao/.zshrc:source:51: no such file or directory: /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
/Users/gao/.zshrc:source:53: no such file or directory: /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
/Users/gao/.zshrc:77: command not found: pyenv
/Users/gao/.zshrc:78: command not found: pyenv
/Users/gao/.zshrc:80: command not found: fortune
这还有治不~

49

tyhunter   3 小时 49 分钟前

准备试试,好像能解决一个痛点:
合盖睡眠后自动退出 Mac 微信,这样手机就会恢复推送

55

loading   3 小时 14 分钟前 via Android

似乎很不错,有时间看看。

56

byasm32   3 小时 14 分钟前

看起来很强大的样子,研究研究。。

59

dullwit   2 小时 57 分钟前

有获取当前时间的 api 吗?

62

crbee   2 小时 47 分钟前

插眼

65

QMore   2 小时 38 分钟前

很方便的样子,这有点类似于 iOS 上的捷径吧。

66

goodryb   2 小时 16 分钟前

天气 Mac 就自带了,剪切板还是 alfred 比较厉害,支持文件和图片

这个拿来做一些自动化或者事件触发脚本比较有用,比如来公司连上 WiFi 后就静音

69

Ginray   1 小时 57 分钟前

马……马来人.jpg

70

allonli   1 小时 50 分钟前

会玩,zsh 主题效果真不错。

72

godgc   1 小时 45 分钟前

这个确实不错,定制化很强

73

cheeto   1 小时 44 分钟前

装完这个 zsh 之后我的 terminal 就挂掉了,现在正在疯狂 google 如何恢复 terminal

75

easternslope   1 小时 41 分钟前

@cheeto 别慌兄弟,里面有很多我使用第三方插件,你把 ~/.zshrc 里面你不需要的功能删掉就行,如果只是对主题配色感兴趣的话,可以参考我的方案

76

kylix   1 小时 38 分钟前

首先,得有一台 mac

77

hackpro   1 小时 37 分钟前

Python 撸个脚本配合 Alfred Workflow 爽歪歪

78

allonli   1 小时 34 分钟前

@cheeto 哪个插件报错就安装哪个。全装完改一下 nerd 字体就 ok 了

84

Yien   54 分钟前 via iPhone

赞👍感谢分享

88

Wicked   28 分钟前 via iPhone

看起来不错


文章来源: https://www.v2ex.com/t/553241#reply88
如有侵权请联系:admin#unsafe.sh