diff options
| author | Teddy Wing | 2019-06-10 22:43:07 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2019-06-15 20:30:59 +0200 | 
| commit | 125d0c8fa0f619687ebb0b61f9b504ee336142a3 (patch) | |
| tree | 48425bf602a81b3cc06f6e4c5313fd5ddedf70f4 | |
| parent | 644cdb4d9fd40d32248f7f5faabbf3be9704b5fe (diff) | |
| download | dothammerspoon-125d0c8fa0f619687ebb0b61f9b504ee336142a3.tar.bz2 | |
window.lua: Add window resize hotkeys
New shortcuts to resize windows, again in medium and small increments.
| -rw-r--r-- | window.lua | 79 | 
1 files changed, 79 insertions, 0 deletions
| @@ -9,6 +9,18 @@ units = {  	down_med  = { x = 0,   y = 20 },  	left_med  = { x = -20, y = 0 }, +	increase_right = { w = 5, h = 0 }, +	increase_down  = { w = 0, h = 5 }, + +	decrease_up   = { w = 0,  h = -5 }, +	decrease_left = { w = -5, h = 0 }, + +	increase_right_med = { w = 20, h = 0 }, +	increase_down_med  = { w = 0,  h = 20 }, + +	decrease_up_med   = { w = 0,   h = -20 }, +	decrease_left_med = { w = -20,  h = 0 }, +  	maximum = { x = 0.00, y = 0.00, w = 1.00, h = 1.00 }  } @@ -46,6 +58,63 @@ function window.left_med()  end +function window.relative_size(window, relative_size) +	local size = window:size() +	size.w = size.w + relative_size.w +	size.h = size.h + relative_size.h + +	return size +end + +function window.increase_right() +	hs.window.focusedWindow():setSize( +		window.relative_size(hs.window.focusedWindow(), units.increase_right) +	) +end + +function window.increase_down() +	hs.window.focusedWindow():setSize( +		window.relative_size(hs.window.focusedWindow(), units.increase_down) +	) +end + +function window.decrease_up() +	hs.window.focusedWindow():setSize( +		window.relative_size(hs.window.focusedWindow(), units.decrease_up) +	) +end + +function window.decrease_left() +	hs.window.focusedWindow():setSize( +		window.relative_size(hs.window.focusedWindow(), units.decrease_left) +	) +end + +function window.increase_right_med() +	hs.window.focusedWindow():setSize( +		window.relative_size(hs.window.focusedWindow(), units.increase_right_med) +	) +end + +function window.increase_down_med() +	hs.window.focusedWindow():setSize( +		window.relative_size(hs.window.focusedWindow(), units.increase_down_med) +	) +end + +function window.decrease_up_med() +	hs.window.focusedWindow():setSize( +		window.relative_size(hs.window.focusedWindow(), units.decrease_up_med) +	) +end + +function window.decrease_left_med() +	hs.window.focusedWindow():setSize( +		window.relative_size(hs.window.focusedWindow(), units.decrease_left_med) +	) +end + +  window_mode = hs.hotkey.modal.new({'ctrl', 'option', 'shift'}, 'w', 'Window')  window_mode:bind({'ctrl', 'option', 'shift'}, 'w', 'Window Off', function()  	window_mode:exit() @@ -63,3 +132,13 @@ window_mode:bind({}, 'h', window.left_med,  nil, window.left_med)  window_mode:bind({}, ']', nil, nil, function() hs.window.focusedWindow():moveOneScreenEast() end)  window_mode:bind({}, '[', nil, nil, function() hs.window.focusedWindow():moveOneScreenWest() end) + +window_mode:bind({'shift'}, 'e', window.decrease_up,    nil, window.decrease_up) +window_mode:bind({'shift'}, 'd', window.increase_down,  nil, window.increase_down) +window_mode:bind({'shift'}, 'f', window.increase_right, nil, window.increase_right) +window_mode:bind({'shift'}, 's', window.decrease_left,  nil, window.decrease_left) + +window_mode:bind({}, 'e', window.decrease_up_med,    nil, window.decrease_up_med) +window_mode:bind({}, 'd', window.increase_down_med,  nil, window.increase_down_med) +window_mode:bind({}, 'f', window.increase_right_med, nil, window.increase_right_med) +window_mode:bind({}, 's', window.decrease_left_med,  nil, window.decrease_left_med) | 
