.hammerspoon/init.lua

changeset 495
31fc84fa156c
parent 493
165f65e47a3c
child 500
efce0f59ef14
equal deleted inserted replaced
494:d6d298c93437 495:31fc84fa156c
6 hs.pathwatcher.new(os.getenv("HOME") .. "/.hammerspoon/", reloadConfig):start() 6 hs.pathwatcher.new(os.getenv("HOME") .. "/.hammerspoon/", reloadConfig):start()
7 7
8 local bindKey = hs.hotkey.bind 8 local bindKey = hs.hotkey.bind
9 local cmd = hs.fnutils.partial(bindKey, {"cmd"}) 9 local cmd = hs.fnutils.partial(bindKey, {"cmd"})
10 local cmdShift = hs.fnutils.partial(bindKey, {"cmd", "shift"}) 10 local cmdShift = hs.fnutils.partial(bindKey, {"cmd", "shift"})
11 local cmdCtrl = hs.fnutils.partial(bindKey, {"cmd", "ctrl"})
11 12
12 cmdShift('r', reloadConfig) 13 cmdShift('r', reloadConfig)
13 14
14 function focusTo(direction) 15 function focusedWindow() return hs.window.focusedWindow() or hs.window.desktop() end
15 hs.window['focusWindow' .. direction](hs.window.focusedWindow() or hs.window.desktop()) 16 function focusTo(direction) hs.window['focusWindow' .. direction](focusedWindow()) end
16 end
17 17
18 cmd('k', function () focusTo('North') end) 18 cmd('k', function () focusTo('North') end)
19 cmd('up', function () focusTo('North') end) 19 cmd('up', function () focusTo('North') end)
20 20
21 cmd('j', function () focusTo('South') end) 21 cmd('j', function () focusTo('South') end)
25 cmd('left', function () focusTo('West') end) 25 cmd('left', function () focusTo('West') end)
26 26
27 cmd('l', function () focusTo('East') end) 27 cmd('l', function () focusTo('East') end)
28 cmd('right', function () focusTo('East') end) 28 cmd('right', function () focusTo('East') end)
29 29
30 cmdShift('up', function () hs.window.focusedWindow():maximize() end) 30 cmdShift('up', function () focusedWindow():maximize() end)
31 31
32 cmdShift('down', function () focusedWindow():minimize() end)
33
34 cmdShift('left', function () focusedWindow():moveToUnit(hs.layout.left50) end)
35 cmdShift('right', function () focusedWindow():moveToUnit(hs.layout.right50) end)
36
37 cmdCtrl('left', function () focusedWindow():moveOneScreenWest() end)
38 cmdCtrl('right', function () focusedWindow():moveOneScreenEast() end)
39
40 cmd('return', function ()
41 hs.applescript.applescript([[
42 tell application "iTerm2"
43 create window with default profile
44 end tell
45 ]])
46 end)
47

mercurial