我觉得我下定决心要让最近最常用的标签切换功能在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()发布于 2016-08-31 06:31:13
您应该在第一行使用"hs.hotkey.new“。
此外,我建议您在hokey函数之前添加一个nil参数-您当前绑定到按下ctrl-tab的时刻,然后发出击键。操作系统将看到所有这些密钥同时发生。如果你在函数前传递一个nil,你的热键将在你释放ctrl-tab时触发,并且只会被解释为alt-w。
https://stackoverflow.com/questions/39233870
复制相似问题