mac上在Emacs中如何调用hammerspoon里的函数?

越来越发现hammerspoon的强大, 能否在emacs中调用hammerspoon里面的函数呢?

1 个赞

– 在命令行下调用

open -g "hammerspoon://someAlert?message=hello"
hs.urlevent.bind("someAlert", function(eventName, params)
                    if params["message"] then
                       hs.alert.show(params["message"])
                    end
end)
4 个赞

看着相当严谨正规, 回去试试

终于看到有 HammerSpoon 用户了,有没有个人的小 hack 分享分享

toggleMaximized 一键窗口最大化我觉得还挺好用,可以参考 https://github.com/jixiuf/dotfiles/blob/main/mac/hammerspoon/windows_toggle_max.lua#L1

hs -c "cmd"

谢谢,这个功能我有了

我是把 hammerspoon 当做窗口管理器用,也有一些操作 emacs 的功能:比如调起 org-capture

我用它切换输入法, 挺好用, 既可以在全局切app的时候切换输入法, 也可以在app里面(比如emacs里)根据情况切换(2楼的方法挺好用, 无延迟).

迄今有一个功能不知道怎么实现: 用hammerspoon切换虚拟桌面, 没找到相关接口

这个方法也挺合理

裝 yabai 吧

是ctrl加左右箭头那个切换桌面吗?不知道是不是动画的问题,这个桌面切换是真的慢。

是四指或五指左右滑动这个切换, 我都是手势切换, 不用键盘切换桌面, 不知道快捷键是什么.

非常喜欢这个切换动画, 非常自然, 也不感觉卡顿.

一个虚拟桌面对应一个工作区, 效率非常高, 我最多的时候用三个桌面, 现在用两个. 一个用来上网聊天查资料终端, 另一个专门给emacs用, 可以专心开发.

看了下这个挺强大, 不过我不怎么用平铺式桌面, 不喜欢用大屏, 大部分时间都是笔记本的13/14寸小屏幕, 灵活, 方便到处移动办公. 常用app切换都配置了快捷键一键切换, 效率还可以.

那你可以用 Karabiner-Elements做改键处理,或者干脆用原生快捷键就可以切换桌面了,也不一定要用hammerspoon。用触摸板确实还挺丝滑自然的;但是你如果用快捷键来做同一件事,就显得慢。

如果你不想要动画效果, 可以关掉, 突然想起来前两天试着关过一次, 关了之后就没有动画了, 包括任务切换, 桌面切换, 都是瞬间完成.

选项位置好像在系统配置->辅助功能->显示

我用hammerspoon切换桌面, 不是纯粹的切换桌面, 切换桌面只是一个大功能里的一部分. 比如找到某个特定条件的窗口, 切换过去, 窗口在当前桌面还可以, 在其他桌面就很难切换过去

关闭之后有淡入淡出效果,不过跟手多了,感谢。

yabai 可以关掉平铺式 只用来切桌面 我个人也没用平铺式