why
mac多显示器的情况下,由于习惯用spotlight(alfred) 之类的软件切换应用,导致经常出现的情况下,我跳转(激活)到了另一个显示器上的一个应用,但是鼠标还停留在原显示器上,我想点一下,还得再移动下鼠标过来。多屏幕操作的时候的鼠标移动又挺浪费时间的。
How
在网上搜索后发现了一个很好用的方法,参考:How to quickly move mouse cursor between monitors 下面ipatch的回答。
方法如下
- 下载 hammerspoon
- 下载它的插件 spoon MouseFollowsFocus(如果觉得不适应的可以下载我的脚本,做了一些优化MyMouseFollowsFocus )
- vim ~/.hammerspoon/init.lua
1 | mouse_follows_focus = hs.loadSpoon("MouseFollowsFocus") |
优化
默认的脚本存在一些对我使用体验较差的问题,所以我做了一些优化
不想看原理的可以直接下载我的脚本即可:MyMouseFollowsFocus
如果需要定制化,可以在修改脚本后,重新加载就可以了。脚本默认加载后的位置在~/.hammerspoon/Spoons/MouseFollowsFocus.spoon/init.lua
- xnip截图软件会自动激活所有桌面,导致鼠标重复跳转。
解决方法:直接禁用掉xnip
1 | if hs.application.frontmostApplication():name() ~= "Xnip Helper" then |
同个显示器下鼠标也自动跳转了。这个很困扰我,因为同个显示器下移动有点错愕感,而且也没什么必要。因为距离很小了
解决方法:不同显示器下才跳转。判断的位置由应用变成显示器。