diff options
Diffstat (limited to 'init.lua')
-rw-r--r-- | init.lua | 30 |
1 files changed, 29 insertions, 1 deletions
@@ -27,8 +27,12 @@ spoon.WindowMode:bindHotkeys({ mode = {{'ctrl', 'option'}, 'w'} }) -- Shortcuts to focus tabs in Terminal terminal_app = hs.application.applicationsForBundleID('com.apple.Terminal')[1] +terminal_tab_hotkeys = {} + for i=0,9 do - hs.hotkey.bind({"cmd", "alt"}, tostring(i), function() + local key = tostring(i) + + terminal_tab_hotkeys[i] = hs.hotkey.bind({"cmd", "alt"}, key, function() if terminal_app:isFrontmost() then local tab_index = i if i == 0 then @@ -40,6 +44,30 @@ for i=0,9 do end) end +function terminal_tab_hotkeys:enable() + for _, v in pairs(terminal_tab_hotkeys) do + v:enable() + end +end + +function terminal_tab_hotkeys:disable() + for _, v in pairs(terminal_tab_hotkeys) do + v:disable() + end +end + +application_watcher = hs.application.watcher.new(function(app_name, event_type, app) + if app ~= nil and app_name == 'Terminal' then + if event_type == hs.application.watcher.activated then + terminal_tab_hotkeys:enable() + elseif event_type == hs.application.watcher.deactivated then + terminal_tab_hotkeys:disable() + end + end +end) + +application_watcher:start() + -- Maximise window height hs.hotkey.bind({'ctrl', 'alt'}, 'z', function() |