diff options
author | Teddy Wing | 2019-06-19 23:21:03 +0200 |
---|---|---|
committer | Teddy Wing | 2019-06-19 23:21:51 +0200 |
commit | 11a077d48f0246a98f71465a9f3c54d8a7fcc3a3 (patch) | |
tree | 3b1a5ccab9797559844ce5ab7f87478bd66822af | |
parent | 9738c3db7682e67cdeb146753be1a5ffc33d20d5 (diff) | |
download | dothammerspoon-11a077d48f0246a98f71465a9f3c54d8a7fcc3a3.tar.bz2 |
init: Move Terminal tab shortcuts to a new file
Now that there's a lot more code for this, extract it to a separate
file.
-rw-r--r-- | init.lua | 46 | ||||
-rw-r--r-- | terminal_tab_hotkeys.lua | 59 |
2 files changed, 60 insertions, 45 deletions
@@ -19,56 +19,12 @@ require("hs.ipc") require('application_switch') require('mouse') +require('terminal_tab_hotkeys') hs.loadSpoon('WindowMode') 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 - 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 - tab_index = 10 - end - - hs.window.frontmostWindow():focusTab(tab_index) - end - 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() local win = hs.window.frontmostWindow() diff --git a/terminal_tab_hotkeys.lua b/terminal_tab_hotkeys.lua new file mode 100644 index 0000000..44dd633 --- /dev/null +++ b/terminal_tab_hotkeys.lua @@ -0,0 +1,59 @@ +-- Copyright (c) 2019 Teddy Wing +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <https://www.gnu.org/licenses/>. + + +-- Shortcuts to focus tabs in Terminal +terminal_app = hs.application.applicationsForBundleID('com.apple.Terminal')[1] + +terminal_tab_hotkeys = {} + +for i=0,9 do + 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 + tab_index = 10 + end + + hs.window.frontmostWindow():focusTab(tab_index) + end + 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() |