推荐一个 MacOS 上用了就无法自拔的 App
Hammerspoon!
Hammerspoon 是 MacOS 上的自动化工具,许多介绍 Hammerspoon 的文章都主要介绍了它是一个窗口管理工具,但是 Hammerspoon 能做到的远远不仅如此。
Hammerspoon 开源、免费和支持插件,将大多数系统层面的接口封装成了 Lua API,这就让这把小锤子在 MacOS 上近乎无所不能,可玩性极高。
剪切板历史记录
音量调节快捷键
当我使用外接键盘时,自定义快捷键 cmd + up/down
调节系统音量
窗口管理
Wi-Fi 自动脚本
蓝牙耳机自动连接
输入法自动切换
定时自动提交代码
hs.timer
定时器,定时自动推送我的笔记和下载的电子书到 Github 仓库。USB 设备连接记录
消息推送
TTS 发声
say hello world
合成 TTS,模拟真人发音,让 Mac 会说话。更多... (完全停不下来啊)
Hammerspoon 已经将与 MacOS 之间的系统交互封装成了 Lua 的 API,配置 ~/.hammerspoon/init.lua
脚本可以与系统进行交互,只需要了解一些基本的 Lua 语法,就可以 Happy Hacking 了。
如果你懒得配置,可以参考我的配置,
已经完全停不下来了,Hammerspoon 每天至少省下了 30 分钟的时间 😀⏱
1
jiangbingo 2019-04-09 10:37:51 +08:00
看起来不错
|
2
daben1990 2019-04-09 10:39:15 +08:00
厉害了,
|
3
holy_sin 2019-04-09 10:42:46 +08:00
有点像 Alfred
|
4
Mirage09 2019-04-09 10:44:18 +08:00 via iPhone 1
用很久了,根据不同软件自动切换输入法。
|
5
easternslope OP @holy_sin Alfred 和 Hammerspoon 都在重度使用,个人使用下来感觉,Alfred 更适合主动触发和查询事件,而 Hammerspoon 更适合定时任务和注册事件回调触发一些自动脚本
|
6
fyooo 2019-04-09 10:47:31 +08:00
收藏+感谢
|
7
yangg 2019-04-09 10:53:42 +08:00
想系统休眠时退出 微信不知道能做到么?因为电脑端登录时关了手机端的提醒,导致手机上收不到提醒。
|
8
easternslope OP @yangg
当然可以 参考我这段代码 https://github.com/wangshub/hammerspoon-config/tree/master/headphone 休眠或者锁屏状态自动退出和启动应用 |
9
jpdev 2019-04-09 10:58:46 +08:00 via iPhone
感觉功能很类似一款正准备买的 app,能禁止待机不呢?
|
10
FunnyCodingXu 2019-04-09 11:00:54 +08:00
看起来不错
|
11
easternslope OP @jpdev 哈哈,可以禁止待机,参考官方文档的这里 https://www.hammerspoon.org/docs/hs.caffeinate.html
|
12
lzs5240 2019-04-09 11:16:35 +08:00
楼主的 zsh 美化好漂亮, 发一下?
|
13
ffkjjj 2019-04-09 11:19:06 +08:00
不错不错
|
14
OrangeM21 2019-04-09 11:20:18 +08:00
收藏 感谢
|
15
jsondog 2019-04-09 11:21:37 +08:00
炫酷
|
16
MuscleOf2016 2019-04-09 11:23:59 +08:00
那么 win 上有类似的吗
|
17
Tomorrowxxy 2019-04-09 11:28:27 +08:00 1
好牛逼的样子,我先去买个 mac
|
18
easternslope OP @lzs5240 满足你! 刚开源了 https://github.com/wangshub/dotfile
|
19
easternslope OP @Tomorrowxxy 我在这儿等你
|
20
yangg 2019-04-09 11:33:20 +08:00
|
21
RuiQu 2019-04-09 11:33:47 +08:00
哇哦 炫酷青年
|
22
youngitachi 2019-04-09 11:33:54 +08:00 via Android
看起来不错
|
23
sarlanori 2019-04-09 11:35:08 +08:00 1
@MuscleOf2016 AutoHotkey 吧
|
24
scukmh 2019-04-09 11:35:23 +08:00 via iPhone
刚刚一直想着用 alfred 实现相同的功能,因为不想装两个软件,但好像确实 alfred 不适合做这个。
|
25
Hilong 2019-04-09 11:37:44 +08:00 via Android
之前研究了下,自己写了一点小脚本,感觉发挥不了它的功能,就卸载了,看到楼主的分享,又想搞起来了
|
26
easing 2019-04-09 11:40:45 +08:00
我其实并不需要这些功能,但我还是点进来赞一下
|
27
easternslope OP @yangg
有两种方式都可以 1. hammerspoon 应用管理 api https://www.hammerspoon.org/docs/hs.application.html 2. hanmerspoon 去调用 applescript,再 applescript 里面调用 shell |
28
yangg 2019-04-09 11:43:04 +08:00
osascript -e 'tell application "WeChat" to quit' 用这个可以了,多谢,就是要花好久,不知道能不能行
|
29
mosesyou 2019-04-09 11:44:14 +08:00
天气怎么切换城市呢,我这里使用你的脚本还是深圳的天气
|
30
hhyvs111 2019-04-09 11:44:48 +08:00 via iPhone
不错,马克了
|
31
easternslope OP @mosesyou 不用切换,api 根据请求的 ip 地址自动识别城市,你 curl 试试~
|
32
thet 2019-04-09 11:48:59 +08:00 via Android
看起来不错 回头试试看
|
33
sunocean 2019-04-09 11:51:03 +08:00 via iPhone
楼主我能转载到我的博客吗?
|
34
sunocean 2019-04-09 11:52:41 +08:00 via iPhone
话说楼主录屏用的什么软件啊?
|
35
easternslope OP @scukmh 之前和你也有同样的困惑,但是后来发现 Alfred + Hammersoon 一起才是双剑合璧
|
36
lishv2 2019-04-09 12:47:23 +08:00
插眼
|
38
ATiGr 2019-04-09 13:16:38 +08:00 via iPhone
很早以前就发现了这个神器,然而因为自己太菜鸡,没有写出来什么有用的东西,不得不放弃…… 看到 LZ …… 膜拜一下
|
39
gkiwi 2019-04-09 13:19:36 +08:00
已经用起来了,楼主 clipboard 就是我最想要的~3ks !
|
40
18k 2019-04-09 13:34:37 +08:00
现在在用
Alfred 的 clipboard 管剪切板 manico 管窗口 万年历做日历和天气 滴答做番茄 LZ 这个一个打十个。。。 |
41
hihikm 2019-04-09 13:44:35 +08:00 via Android
确实方便
|
42
easternslope OP @18k 哈哈哈,习惯用脚本解决问题了 😂
|
43
cxtrinityy 2019-04-09 13:44:50 +08:00
买了一个显示器后,写了几个脚本,外接屏的时候快速拖屏到另外一个屏幕,鼠标快速屏幕切换和外屏分辨率切换
|
44
easternslope OP |
45
magic3584 2019-04-09 13:47:21 +08:00
貌似类似 bitbar ? 不过这得用 lua 吗?
|
46
easternslope OP |
47
cxtrinityy 2019-04-09 13:55:41 +08:00
@easternslope 没有,mac 的,自己 xjb 写的,看了下官方文档折腾几下就出来了,写的时候还不知道是 lua,后来工作的时候用到 lua 才发现
|
48
kwGao 2019-04-09 14:41:07 +08:00
@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 2019-04-09 14:51:15 +08:00
准备试试,好像能解决一个痛点:
合盖睡眠后自动退出 Mac 微信,这样手机就会恢复推送 |
50
RockPoetTodd 2019-04-09 15:05:38 +08:00
不错 收藏了
|
51
easternslope OP @kwGao 这个和本主题无关,你在 https://github.com/wangshub/dotfile/issues 开个 Issue 吧 ~
|
53
easternslope OP @tyhunter
- 这个倒是可以在 Hammerspoon 里面检测屏幕状态实现,参考 https://github.com/wangshub/hammerspoon-config/blob/master/headphone/headphone.lua - 不过这个痛点我没注意,手机电脑同时登陆,微信里关闭手机静音,应该可以同时收到推送呀 |
54
Heavytiger 2019-04-09 15:22:45 +08:00
这个真心不错。
|
55
loading 2019-04-09 15:26:04 +08:00 via Android
似乎很不错,有时间看看。
|
56
byasm32 2019-04-09 15:26:18 +08:00
看起来很强大的样子,研究研究。。
|
57
blacklee 2019-04-09 15:27:59 +08:00
|
58
ultimate010 2019-04-09 15:39:19 +08:00
非常好用,顺便安利下一个好的 repo https://github.com/ashfinal/awesome-hammerspoon
|
59
dullwit 2019-04-09 15:43:06 +08:00
有获取当前时间的 api 吗?
|
60
g190875565 2019-04-09 15:43:37 +08:00
有点心动~
|
61
easternslope OP @dullwit 获取时间 api 接口 https://www.hammerspoon.org/docs/hs.timer.html
|
62
crbee 2019-04-09 15:53:08 +08:00
插眼
|
63
stevenhawking 2019-04-09 15:57:04 +08:00
没有女朋友的你多 30 分钟有什么用
|
64
fsafdasfsdafsd 2019-04-09 16:00:26 +08:00
@stevenhawking
扎心了 |
65
QMore 2019-04-09 16:02:43 +08:00
很方便的样子,这有点类似于 iOS 上的捷径吧。
|
66
goodryb 2019-04-09 16:23:46 +08:00
天气 Mac 就自带了,剪切板还是 alfred 比较厉害,支持文件和图片
这个拿来做一些自动化或者事件触发脚本比较有用,比如来公司连上 WiFi 后就静音 |
67
freeznet 2019-04-09 16:37:17 +08:00
插眼感谢
|
68
hubahuba 2019-04-09 16:41:00 +08:00
插眼感谢
|
69
Ginray 2019-04-09 16:42:47 +08:00
马……马来人.jpg
|
70
allonli 2019-04-09 16:50:28 +08:00
会玩,zsh 主题效果真不错。
|
71
lzs5240 2019-04-09 16:53:27 +08:00
@easternslope
字体好像安装有点问题, 所有图标全是 ? 是这个没安装好吗? https://github.com/gabrielelana/awesome-terminal-fonts 安装说明安装了还是没弄好 |
72
godgc 2019-04-09 16:55:01 +08:00
这个确实不错,定制化很强
|
73
cheeto 2019-04-09 16:56:00 +08:00
装完这个 zsh 之后我的 terminal 就挂掉了,现在正在疯狂 google 如何恢复 terminal
|
74
easternslope OP @lzs5240 配置 iterm 字体 Preference>profiles>Text>font
我的配置截图见 https://raw.githubusercontent.com/wangshub/image-hosting/master/img/20190409165546.png |
75
easternslope OP @cheeto 别慌兄弟,里面有很多我使用第三方插件,你把 ~/.zshrc 里面你不需要的功能删掉就行,如果只是对主题配色感兴趣的话,可以参考我的方案
|
76
kylix 2019-04-09 17:02:08 +08:00
首先,得有一台 mac
|
77
hackpro 2019-04-09 17:02:56 +08:00
Python 撸个脚本配合 Alfred Workflow 爽歪歪
|
79
missdeer 2019-04-09 17:11:49 +08:00
感谢推荐
|
80
easternslope OP @hackpro Alfred + Hammerspoon 一起用才是爽,哈哈,俩个正好互补
|
81
lzs5240 2019-04-09 17:24:34 +08:00
@easternslope
安装你这个字体后搞定了,多谢 |
82
tyhunter 2019-04-09 17:30:13 +08:00
@easternslope #53 感谢,我看下,如果手机也开启推送的话,两个地方的推送一起过来,会把其他推送都给淹没了
|
83
leesymbol 2019-04-09 17:40:19 +08:00
不错 收藏了
|
84
Yien 2019-04-09 17:45:52 +08:00 via iPhone
赞👍感谢分享
|
85
iiusky 2019-04-09 17:59:19 +08:00
玩玩看
|
87
ruooooooli 2019-04-09 18:08:37 +08:00
不错不错
|
88
Wicked 2019-04-09 18:11:46 +08:00 via iPhone
看起来不错
|
89
fazero 2019-04-09 18:49:29 +08:00
感谢,那个输入切换正需要
|
90
rafa 2019-04-09 19:21:39 +08:00
标记一下,回家试试
|
91
swsh007 2019-04-09 19:29:47 +08:00 via Android
用这个有送 mac ?
|
92
easternslope OP @swsh007 送你 5 元优惠券一张 🍺
|
93
yuthelloworld 2019-04-09 21:19:19 +08:00 via Android
马克
|
94
OfJCQ35M0N9ZD98T 2019-04-09 21:21:05 +08:00
Hammerspoon 下载好难
|
95
haon 2019-04-09 21:24:00 +08:00
借楼问一下 macos 能不能实现同一时刻只有一个声音播放?例如听语音时自动停止播放音乐
|
96
gouflv 2019-04-09 21:25:42 +08:00 via Android
做窗口管理真的很棒,完全能根据自己的需求实现,比记住一堆快捷键舒服多了
|
97
entimm 2019-04-09 21:26:05 +08:00 via Android
能不能搞个看股票的插件
|
99
scukmh 2019-04-09 21:43:25 +08:00
@yuanmiexinghai 没梯子嘛?不是挺方便的嘛?下个 zip 包,解压,拖进去就完事了。
|
100
OfJCQ35M0N9ZD98T 2019-04-09 21:53:58 +08:00
@scukmh 主要就是没梯子。
|