2016-08-30 23 views
0

最近使用されたタブの切り替えがChromeでうまくいくと感じました。これを行うには、CLUT Chromeのブラウザ拡張機能をインストールしました。これは現在、alt-wを最後のタブに切り替え、Hammerspoonをインストールして、システムのキーストロークを傍受することができます。 init.luaでHammerspoon(Lua + Mac版)でMRUブラウザのタブを切り替える

私はこのコードを持っている:

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...) 

私は検索が、このエラーが何を意味するかを理解できませんでした。

EDIT - 誰がMRUタブは、Mac上で切り替えたい場合はここでは、最終的な解決策である:

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() 

答えて

1

あなたが最初の行に「hs.hotkey.new」を使用する必要があります。

また、hokey関数の前にnil引数を追加することをお勧めします。現在、Ctrlキーを押しながらキーストロークを瞬時にバインドしています。 OSはこれらのキーのすべてを一度に見るでしょう。関数の前にnilを渡すと、ctrl-tabを放すとホットキーがトリガーされ、alt-wだけが解釈されます。

+0

ありがとうございました。出来た! – Otto

関連する問題