-
Notifications
You must be signed in to change notification settings - Fork 1
/
windows.lua
70 lines (59 loc) · 1.54 KB
/
windows.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
local windows = {}
function windows:start(modifier)
-- top
hs.hotkey.bind(modifier, "4", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local max = win:screen():frame()
f.x = max.x
f.y = max.y + (max.y / 2)
f.w = max.w
f.h = max.h / 2
win:setFrame(f)
end)
-- bottom
hs.hotkey.bind(modifier, "5", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local max = win:screen():frame()
f.x = max.x
f.y = max.y / 2
f.w = max.w
f.h = max.h / 2
win:setFrame(f)
end)
-- left
hs.hotkey.bind(modifier, "6", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local max = win:screen():frame()
f.x = max.x
f.y = max.y
f.w = max.w / 2
f.h = max.h
win:setFrame(f)
end)
-- right
hs.hotkey.bind(modifier, "7", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local max = win: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)
-- fullscreen
hs.hotkey.bind(modifier, "8", function()
local win = hs.window.focusedWindow()
local f = win:frame()
local max = win:screen():frame()
f.x = max.x
f.y = max.y
f.w = max.w
f.h = max.h
win:setFrame(f)
end)
end
return windows