Hammerspoon is a tool for powerful automation of OS X. You can write Lua code that interacts with OS X APIs for applications, windows, mouse pointers, filesystem objects, audio devices, batteries, screens, low-level keyboard/mouse events, clipboards, location services, wifi, and more.
Hammerspoon 是 macOS 上功能强大的自动化操作软件,可以通过 Lua 脚本语言方便地进行扩展。之前主要用它来对窗口实现快捷操作。近几天重新搜索整理了下,发现功能真是异常强大,哈哈~
目前已经有了以下模块:桌面 widget 、窗口操作、应用启动器、计时器、快捷键 cheatsheet 等等。看图说话:
感觉一下子将 Hammerspoon 的潜力挖掘了不少呢。发上来给大家看看,望轻拍~
还有别的脚本也请大家多多分享出来喽 ¯_(ツ)_/¯
1
gongziheng1995 2016-11-30 11:43:18 +08:00
非常棒…
|
2
laxapple 2016-11-30 11:56:25 +08:00 via iPhone
感谢,希望能干掉 cheatsheet 应用
|
4
sinker 2016-11-30 13:22:07 +08:00 via iPhone
|
6
SoloCompany 2016-11-30 13:54:40 +08:00
brew cask install hammerspoon
|
8
SoloCompany 2016-11-30 14:47:05 +08:00
速度有点慢啊
我主要是说,比如 OPT+V 切换到 VIEW MODE ,用 HJKL 导航的时候停滞缓冲很明显 |
9
ynyounuo 2016-11-30 15:05:26 +08:00
@SoloCompany 我在 View Mode 下一次跳两下
|
10
ynyounuo 2016-11-30 15:09:42 +08:00
感觉有点儿太重了,而且太多冲突键位了
只留下了 ⌥⇥ 改成了 ⌘⇧⌥⌃⇥ |
11
ynyounuo 2016-11-30 15:37:40 +08:00 1
@laxapple 你的 Alfred 是 ⌥S 触发的?到 modalmgr 里改成别的就好了,如果是 ⌥Space 那么改「 hs.hotkey.modal.new 」
|
12
SoloCompany 2016-11-30 16:04:30 +08:00
@sinker 谢谢,有空看看(后面划掉(这 15cm 的 github 用户名不得不让人有些联想啊
|
13
ashfinal OP @ynyounuo
@SoloCompany View 模式基本没怎么管,因为平时压根儿不用。😓 这两天我再优化下。 快捷键可以自己去改,实际上非常简单。 所有模式的入口(以 OPT 开头的快捷键)在 modemgr 文件里, resize 、 view 、 app 模式在 basemode 文件里。 |
14
ashfinal OP @laxapple Cheatsheet 我直接用的别人的代码。
我大概看了下,显示的时候开了个 webview 。我的意思是如果隐藏 webview 而不是直接关闭重开,应该速度会快很多。 甚至不用 webview 而是直接在屏幕上画出来,这样资源占用和反应时间都得到了解决。 说到底还是 cheatsheet 自己平时用的少,懒得深入优化 ʅ(。◔‸◔。)ʃ |
15
ashfinal OP @ynyounuo 要说内存占用,还是相当可以的。而且可以把自己不用的模块给关掉。
冲突键位那么多嘛?可以告知下都与哪些软件冲突呀? 当时就是希望 awesome-hammerspoon 能够替代一大票效率软件的。●__● |
16
laxapple 2016-11-30 23:28:04 +08:00
r#11 @ynyounuo No ,我指的 Mac 上一款快捷键提示应用也叫 Cheatsheet 的,冲突和 Alfred 启动键无关,而是经常在执行一个 Alfred Action 之后 Cheatsheet 被自动触发。
|
17
ashfinal OP @ynyounuo
@SoloCompany 晕死,刚发现 resize 和 view 模式下少写了一个参数,导致 repeat 没有被调用。 已经修复,也就是说现在你可以按住 H 、 J 、 K 、 L 键不放调整窗口大小了。 另外, view 模式下用滚轮代替击键,现在应该没什么卡顿感了。 Cheers ! |
18
ashfinal OP @laxapple 执行 Alfred Action 后 Cheatsheet 被自动触发?可以检查下 OPT+S 以及 CMD+CTRL+OPT+S 这两组快捷键占用
|
19
zander 2016-12-05 15:23:22 +08:00
有个 menubar_indicator 里中文日文什么的写什么? Pinyin - Simplified 不识别。
|
21
zander 2016-12-05 15:44:44 +08:00
@ashfinal 哦不是这个配置里的,是 oh-my-hs 里的。
https://github.com/zzamboni/oh-my-hammerspoon ShowyEdge - menu bar coloring to indicate the currently selected keyboard layout (again, only the indicators I use are implemented, but others are very easy to add). See menubar_indicator.lua. |
23
ashfinal OP @zander 刚大概看了下 应该是自己找下中文 /日文的 keyboard layout 名称,然后在文件开头 color table 里定义一下颜色。
|
26
ashfinal OP @brq417059 额 自己改的 paper 主题,其实还有些不太完善。 https://github.com/ashfinal/vim-colors-paper
vimrc 配置在这里 : https://github.com/ashfinal/vimrc-config |
27
Lattez 2016-12-05 18:29:06 +08:00 via Android
前几天刚有一朋友分享了自己的配置,看来可以准备开始重新捡起来用了
|
29
ashfinal OP 添加了新的模块 具体见附言
自个顶下 (˶‾᷄ ⁻̫ ‾᷅˵) 嗯 |
30
lonenol 2016-12-07 09:02:49 +08:00
计时器不生效....那个网速 时钟和日历要是默认隐藏的就好了..
|
31
ashfinal OP 都可以设置的。配置文件在 `~/.hammerspoon/private/awesomeconfig.lua`
网速: idle_to_which = "never/netspeed/hide ” 分别是只显示`DOCK MODE`字样、显示网速、**自动隐藏**; 时钟和日历: ``` module_list = { "basicmode", "widgets/netspeed ”, "widgets/calendar ”, — 删掉这行 "widgets/analogclock ”, —还有这行 "modes/indicator", "modes/clipshow", "modes/aria2", "modes/cheatsheet", } ``` 删掉上面的标记行后,同样也放到上面提到的配置文件里。 Reload, done. 可以具体看下文档后面的 Customation 部分。 计时器不生效什么意思? 最后,欢迎有问题提 issue ~ |
33
ming9083 2016-12-07 10:17:12 +08:00
mark
|
35
ossphil 2016-12-07 21:11:19 +08:00
建议在默认的配置里避开常用的一些组合键
|
36
ashfinal OP @ossphil 可以具体举些例子吗?
现在基本上都是 opt 键 + key 。 opt 键在我这里都是用作输入“∆¬˚Ω≈åœ∑µ” 这类特殊符号的,除了 opt + space ,冲突几率应该很小? |
37
ossphil 2016-12-08 15:49:08 +08:00
@ashfinal 我的就是 option+space ,用来切换输入法的。好像也是 macOS 默认的输入法切换键吧?其他的还没有,不知楼上各位说冲突多的还有什么键。
|
39
MartinWu 2017-02-23 16:18:54 +08:00
作者还镇守这里吗? 我想问下 cheatsheet 模式,是要安装 cheatsheet 这个应用吗? 我没有装,然后我用快捷键激活 cs 模式后,除了右下角显示 cs mode 外,并没有什么变化~~
|
40
ashfinal OP @MartinWu 不需要安装 cheatsheet 应用。
之前这个模块是好使的,但是最近确实报错没法用了。因为这模块代码当时是从别人那直接拿的,不太熟悉,需要深入读一遍找出问题出在哪。 个人基本不用这个模块,所以还是希望有人提 pull request 好一些。(偷点懒~ |
43
ech0x 2017-08-29 16:55:55 +08:00
哇,最近在看 awesome-hammerspoon 居然发现了原作者,配置写的很好啊
|
45
ech0x 2017-09-10 06:30:40 +08:00 via iPhone
@ashfinal 自己写的一直没你的快,我还纠结了好久。后来仔细看了文档才发现可以关闭动画😂。说起来,现在能不能实现自动的窗口布局啊,就像窗口管理器一样。。官方说 windowslayout 还不稳定。
|
46
ashfinal OP @ech0x 可以尝试一下。与此相关的两个模块大概是 hs.application.watcher 和 hs.window.layout。
不过,macOS 上已经有类似的平铺窗口管理器: https://github.com/koekeishiya/kwm。个人觉得就没有必要继续折腾了。 |
48
ech0x 2017-09-12 06:10:57 +08:00 via iPhone
@ashfinal 我觉得 tilling windows manage 就是一般人不知道有什么用,但用过一次就回不去的东西。最近少数派介绍窗口管理器的文章越来越多了,大概窗口管理器会是个新潮流吧。。
|
49
ashfinal OP |
50
ech0x 2017-09-12 13:38:14 +08:00 via iPhone
@ashfinal 我觉得现在的趋向是多屏了,对于多数人都不太追求效率,这时层叠式的明显更符合直觉。但是就效率而言,无疑是平铺式的更好。
|
52
zeefeng 2018-06-25 16:28:26 +08:00
终于发现一款满意的平铺式桌面了。自从 Arch 转到 macos 后就一直在寻找类似于 awesome 的软件了,谢谢分享。
|
53
zeefeng 2018-06-25 17:55:32 +08:00
刚在学习 lua,发现这篇文章的模块化设计思路挺不错的,个人感觉会便于后期的维护。
http://seanxp.com/2016/05/mac-hammerspoon/ |