Files
dotfiles/hammerspoon/ext/grid.lua.patch
Jim Myhrberg 7bd9f0d9f2 Major update to Hammerspoon config
- Use Spoons (installed via Makefile targets):
  - RoundedCorners
  - HeadphoneAutoPause (with AutoResume patch)
- Move windows management into separate file
2017-08-05 13:44:00 +01:00

36 lines
1.2 KiB
Diff

--- ext/grid.lua 2017-08-05 01:44:03.000000000 +0100
+++ ext/grid.patched.lua 2017-08-05 01:43:43.000000000 +0100
@@ -319,6 +319,32 @@ function grid.set(win, cell, scr)
w = cell.w * cellw - (margins.w * 2),
h = cell.h * cellh - (margins.h * 2),
}
+
+ -- calculate proper margins - this fixes doubled margins betweeen windows
+ -- shamelessly borrowed from:
+ -- https://github.com/szymonkaliski/Dotfiles/blob/8f2bbf973fa31e001e183de03b65fae408877f00/Dotfiles/hammerspoon/overrides.lua#L79-L106
+ if cell.h < screengrid.h and cell.h % 1 == 0 then
+ if cell.y ~= 0 then
+ newframe.h = newframe.h + margins.h / 2
+ newframe.y = newframe.y - margins.h / 2
+ end
+
+ if cell.y + cell.h ~= screengrid.h then
+ newframe.h = newframe.h + margins.h / 2
+ end
+ end
+
+ if cell.w < screengrid.w and cell.w % 1 == 0 then
+ if cell.x ~= 0 then
+ newframe.w = newframe.w + margins.w / 2
+ newframe.x = newframe.x - margins.w / 2
+ end
+
+ if cell.x + cell.w ~= screengrid.w then
+ newframe.w = newframe.w + margins.w / 2
+ end
+ end
+
win:setFrameInScreenBounds(newframe) --TODO check this (against screen bottom stickiness)
return grid
end