--[[
Licensed under GNU General Public License v2
- * (c) 2013, Luke Bonham
- * (c) 2009 Uli Schlachter
- * (c) 2008 Julien Danjolu
+ * (c) 2014, projektile
+ * (c) 2013, Luke Bonham
+ * (c) 2009, Uli Schlachter
+ * (c) 2008, Julien Danjolu
--]]
local beautiful = require("beautiful")
local ipairs = ipairs
local tonumber = tonumber
+local math = require("math")
local uselesspiral = {}
-- A useless gap (like the dwm patch) can be defined with
-- beautiful.useless_gap_width.
local useless_gap = tonumber(beautiful.useless_gap_width) or 0
+ if useless_gap < 0 then useless_gap = 0 end
+ -- A global border can be defined with
+ -- beautiful.global_border_width
+ local global_border = tonumber(beautiful.global_border_width) or 0
+ if global_border < 0 then global_border = 0 end
+
+ -- Themes border width requires an offset
+ local bw = tonumber(beautiful.border_width) or 0
+
+ -- get our orientation right
local wa = p.workarea
local cls = p.clients
- local n = #cls
+ local n = #cls -- number of windows total; k = which window number
+
+ wa.height = wa.height - ((global_border * 2) + (bw * 2))
+ wa.width = wa.width - ((global_border * 2) + (bw * 2))
local static_wa = wa
for k, c in ipairs(cls) do
if k < n then
if k % 2 == 0 then
- wa.height = wa.height / 2
+ wa.height = (wa.height / 2)
else
- wa.width = wa.width / 2
+ wa.width = (wa.width / 2)
end
end
end
local wa2 = {}
- wa2.x = wa.x
- wa2.y = wa.y
- wa2.height = wa.height
- wa2.width = wa.width
+ wa2.x = wa.x + (useless_gap / 2) + global_border
+ wa2.y = wa.y + (useless_gap / 2) + global_border
+ wa2.height = wa.height - (useless_gap / 2)
+ wa2.width = wa.width - (useless_gap / 2)
-- Useless gap.
if useless_gap > 0
top = false
left = false
- gap_factor = (useless_gap / 100) * 2
-
if wa2.y == static_wa.y then
top = true
end
end
if top then
- wa2.height = wa2.height - (2 + gap_factor) * useless_gap
- wa2.y = wa2.y + useless_gap
+ wa2.height = wa2.height - useless_gap
+ wa2.y = wa2.y - (useless_gap / 2)
else
- wa2.height = wa2.height - (1 + gap_factor) * useless_gap
+ wa2.height = wa2.height - (useless_gap / 2)
end
if left then
- wa2.width = wa2.width - (2 + gap_factor) * useless_gap
- wa2.x = wa2.x + useless_gap
+ wa2.width = wa2.width - useless_gap
+ wa2.x = wa2.x - (useless_gap / 2)
else
- wa2.width = wa2.width - (1 + gap_factor) * useless_gap
+ wa2.width = wa2.width - (useless_gap / 2)
end
end
-- End of useless gap.