--[[
Licensed under GNU General Public License v2
- * (c) 2013, Luke Bonham
+ * (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 = {}
local function spiral(p, spiral)
-- A useless gap (like the dwm patch) can be defined with
-- beautiful.useless_gap_width.
- local useless_gap = tonumber(beautiful.useless_gap_width)
- if useless_gap == nil
- then
- useless_gap = 0
- end
+ 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
left = false
if wa2.y == static_wa.y then
- top = true
+ top = true
end
if wa2.x == static_wa.x then
- left = true
+ left = true
end
- if top then
- wa2.height = wa2.height - 2 * useless_gap
- wa2.y = wa2.y + useless_gap
+ if top then
+ wa2.height = wa2.height - useless_gap
+ wa2.y = wa2.y - (useless_gap / 2)
else
- wa2.height = wa2.height - useless_gap
- end
-
- if left then
- wa2.width = wa2.width - 2 * useless_gap
- wa2.x = wa2.x + useless_gap
- else
- wa2.width = wa2.width - useless_gap
- end
+ wa2.height = wa2.height - (useless_gap / 2)
+ end
+
+ if left then
+ wa2.width = wa2.width - useless_gap
+ wa2.x = wa2.x - (useless_gap / 2)
+ else
+ wa2.width = wa2.width - (useless_gap / 2)
+ end
end
-- End of useless gap.