4 local bindKey = hs.hotkey.bind |
4 local bindKey = hs.hotkey.bind |
5 local cmd = hs.fnutils.partial(bindKey, {"cmd"}) |
5 local cmd = hs.fnutils.partial(bindKey, {"cmd"}) |
6 local cmdShift = hs.fnutils.partial(bindKey, {"cmd", "shift"}) |
6 local cmdShift = hs.fnutils.partial(bindKey, {"cmd", "shift"}) |
7 local cmdCtrl = hs.fnutils.partial(bindKey, {"cmd", "ctrl"}) |
7 local cmdCtrl = hs.fnutils.partial(bindKey, {"cmd", "ctrl"}) |
8 |
8 |
9 function focusedWindow() return hs.window.focusedWindow() or hs.window.desktop() end |
9 function focusedWindow() |
10 function focusTo(direction) hs.window['focusWindow' .. direction](focusedWindow()) end |
10 return hs.window.focusedWindow() or hs.window.desktop() |
|
11 end |
|
12 |
|
13 function focusTo(direction) |
|
14 local fn = hs.getObjectMetatable('hs.window')['focusWindow' .. direction] |
|
15 return function () |
|
16 fn(focusedWindow(), nil, nil, true) |
|
17 end |
|
18 end |
11 |
19 |
12 -- and the key bindings |
20 -- and the key bindings |
13 cmdShift('r', hs.reload) |
21 cmdShift('r', hs.reload) |
14 |
22 |
15 cmd('k', function () focusTo('North') end) |
23 cmd('k', focusTo('North')) |
16 cmd('up', function () focusTo('North') end) |
24 cmd('up', focusTo('North')) |
17 |
25 |
18 cmd('j', function () focusTo('South') end) |
26 cmd('j', focusTo('South')) |
19 cmd('down', function () focusTo('South') end) |
27 cmd('down', focusTo('South')) |
20 |
28 |
21 cmd('h', function () focusTo('West') end) |
29 cmd('h', focusTo('West')) |
22 cmd('left', function () focusTo('West') end) |
30 cmd('left', focusTo('West')) |
23 |
31 |
24 cmd('l', function () focusTo('East') end) |
32 cmd('l', focusTo('East')) |
25 cmd('right', function () focusTo('East') end) |
33 cmd('right', focusTo('East')) |
26 |
34 |
27 cmdShift('up', function () focusedWindow():maximize() end) |
35 cmdShift('up', function () focusedWindow():maximize() end) |
28 |
36 |
29 cmdShift('down', function () focusedWindow():minimize() end) |
37 cmdShift('down', function () focusedWindow():minimize() end) |
30 |
38 |