mirror of
https://github.com/jimeh/dotfiles.git
synced 2026-02-19 10:26:42 +00:00
Move ChatGPT binding inline with other numbered hotkeys for consistent ordering. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
88 lines
2.9 KiB
Lua
88 lines
2.9 KiB
Lua
local obj = {}
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Global Hotkeys
|
|
--------------------------------------------------------------------------------
|
|
|
|
local apptoggle = require('app_toggle')
|
|
local apphider = require('app_hider')
|
|
|
|
local function init_hotkeys()
|
|
hs.hotkey.bind({ 'cmd', 'alt', 'ctrl' }, 'S', apptoggle.showAppInfo)
|
|
|
|
apptoggle:bind({ 'cmd', 'alt', 'ctrl' }, 'A', { 'Activity Monitor' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, '1', { 'Codex' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, '2', { 'Claude' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, '3', { 'Conductor' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, '4', { 'ChatGPT' }, { 'ChatGPT Atlas' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, 'A', { 'Messages' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, 'B', { 'TablePlus' }, { 'Sequel Pro' }, { 'Lens' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, 'D', { 'Mail+ for Gmail' }, { 'Mimestream' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, 'E', { 'Cursor' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, 'F', { 'GitButler' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, 'G', { 'Emacs', '/Applications/Emacs.app' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, 'T', { 'Discord PTB' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, 'X', { 'Notion' }, { 'Obsidian' })
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, 'Z', { 'WhatsApp' })
|
|
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, 'W',
|
|
{ 'Code', '/Applications/Visual Studio Code.app' },
|
|
{ 'Code - Insiders', '/Applications/Visual Studio Code - Insiders.app' }
|
|
)
|
|
|
|
apptoggle:bind({ 'cmd', 'ctrl' }, 'C',
|
|
{ 'Calendar' },
|
|
{ 'Google Calendar' },
|
|
{ 'Notion Calendar' }
|
|
)
|
|
|
|
-- -- Use Warp as my primary terminal application.
|
|
-- apptoggle:bind({ 'cmd', 'ctrl' }, 'R', { 'Warp' })
|
|
-- apphider:autoHide('Warp') -- auto-hide Warp when it loses focus
|
|
|
|
-- Use Ghostty as my primary terminal application.
|
|
-- apptoggle:bind({ 'cmd', 'ctrl' }, 'R', { 'Ghostty' })
|
|
-- apphider:autoHide('Ghostty') -- auto-hide Ghostty when it loses focus
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- URL Handling
|
|
--------------------------------------------------------------------------------
|
|
|
|
-- local uh = require('url_handler')
|
|
|
|
-- local function init_url_handler()
|
|
-- uh.default_handler = uh.browsers.arc
|
|
-- uh.url_patterns = {
|
|
-- {
|
|
-- { "%://meet.google.com/" }, uh.browsers.chrome, nil,
|
|
-- }
|
|
-- }
|
|
-- -- uh.url_redir_decoders = {
|
|
-- -- {
|
|
-- -- "MS Teams links",
|
|
-- -- function(_, _, params, fullUrl)
|
|
-- -- if params.url then
|
|
-- -- return params.url
|
|
-- -- else
|
|
-- -- return fullUrl
|
|
-- -- end
|
|
-- -- end,
|
|
-- -- nil, true, "Microsoft Teams"
|
|
-- -- },
|
|
-- -- }
|
|
|
|
-- uh:init()
|
|
-- end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--------------------------------------------------------------------------------
|
|
|
|
function obj.init()
|
|
init_hotkeys()
|
|
-- init_url_handler()
|
|
end
|
|
|
|
return obj
|