|
|
|
local mash = {"cmd", "alt", "ctrl"}
|
|
|
|
local mash = {"cmd", "alt", "ctrl", "shift"}
|
|
|
|
|
|
|
|
-- Application shortcuts
|
|
|
|
|
|
|
|
local wf = hs.window.filter
|
|
|
|
local safari_esc = hs.hotkey.new({}, "escape", function() end, function()
|
|
|
|
if current_app():name() == "Safari" then
|
|
|
|
hs.eventtap.keyStroke({"alt"}, "escape")
|
|
|
|
end
|
|
|
|
end)
|
|
|
|
|
|
|
|
wf.new("Safari"):subscribe(wf.windowFocused, function()
|
|
|
|
safari_esc:enable()
|
|
|
|
end):subscribe(wf.windowUnfocused, function()
|
|
|
|
safari_esc:disable()
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
-- hs.hotkey.bind({"cmd", "shift"}, "[", function()
|
|
|
|
-- current_app():selectMenuItem({"Window", "Select Previous Tab"})
|
|
|
|
-- end)
|
|
|
|
|
|
|
|
-- hs.hotkey.bind({"cmd", "shift"}, "]", function()
|
|
|
|
-- current_app():selectMenuItem({"Window", "Select Next Tab"})
|
|
|
|
-- end)
|
|
|
|
|
|
|
|
-- Window management
|
|
|
|
|
|
|
|
-- hs.hotkey.bind(mash, "h", function()
|
|
|
|
-- local win = hs.window.focusedWindow()
|
|
|
|
-- local f = win:frame()
|
|
|
|
-- local screen = win:screen()
|
|
|
|
-- local max = screen:frame()
|
|
|
|
|
|
|
|
-- f.x = max.x
|
|
|
|
-- f.y = max.y
|
|
|
|
-- f.w = max.w / 2
|
|
|
|
-- f.h = max.h
|
|
|
|
-- win:setFrame(f)
|
|
|
|
-- end)
|
|
|
|
|
|
|
|
-- hs.hotkey.bind(mash, "l", function()
|
|
|
|
-- local win = hs.window.focusedWindow()
|
|
|
|
-- local f = win:frame()
|
|
|
|
-- local screen = win:screen()
|
|
|
|
-- local max = screen:frame()
|
|
|
|
|
|
|
|
-- f.x = max.x + (max.w / 2)
|
|
|
|
-- f.y = max.y
|
|
|
|
-- f.w = max.w / 2
|
|
|
|
-- f.h = max.h
|
|
|
|
-- win:setFrame(f)
|
|
|
|
-- end)
|
|
|
|
|
|
|
|
function current_app()
|
|
|
|
return hs.application.frontmostApplication()
|
|
|
|
end
|
|
|
|
|
|
|
|
function reload_config(files)
|
|
|
|
hs.reload()
|
|
|
|
end
|
|
|
|
|
|
|
|
hs.pathwatcher.new(os.getenv("HOME") .. "/.hammerspoon/", reload_config):start()
|
|
|
|
hs.alert.show("Config loaded")
|