我下定决心要让最近使用的选项卡切换适用于 Chrome。为此,我安装了 CLUT Chrome 浏览器扩展程序,它当前映射 alt-w 以切换到最后一个选项卡,并安装了 Hammerspoon,它允许拦截系统击键。
在 init.lua 我有这个代码:
local ctrlTab = hotkey.new({"ctrl"}, "tab", function()
hs.eventtap.keyStroke({"alt"}, "w")
end)
chromeWatcher = hs.application.watcher.new(function(name, eventType, app)
if eventType ~= hs.application.watcher.activated then return end
if name == "Google Chrome" then
ctrlTab:enable()
else
ctrlTab:disable()
end
end)
chromeWatcher:start()
但是,我在 Hammerspoon 中收到此错误:
attempt to index a nil value (global 'hotkey')
stack traceback:
/Users/vonwao/.hammerspoon/init.lua:1: in main chunk
[C]: in function 'xpcall'
...app/Contents/Resources/extensions/hs/_coresetup/init.lua:410: in function 'hs._coresetup.setup'
(...tail calls...)
我搜索了,但无法弄清楚这个错误是什么意思。
编辑 - 这是最终解决方案,如果其他人想要在 Mac 上切换 MRU 选项卡:
local ctrlTab = hs.hotkey.new({"ctrl"}, "tab", nil, function()
hs.eventtap.keyStroke({"alt"}, "w")
end)
chromeWatcher = hs.application.watcher.new(function(name, eventType, app)
if eventType ~= hs.application.watcher.activated then return end
if name == "Google Chrome" then
ctrlTab:enable()
else
ctrlTab:disable()
end
end)
chromeWatcher:start()