aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--init.lua30
1 files changed, 29 insertions, 1 deletions
diff --git a/init.lua b/init.lua
index aa1d934..c61046d 100644
--- a/init.lua
+++ b/init.lua
@@ -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()