mirror of https://github.com/lcpz/lain.git
Window border width issue fixes in uselessfair
This commit is contained in:
parent
bb5204a722
commit
1f02db5e24
|
@ -30,12 +30,17 @@ local function fair(p, orientation)
|
||||||
-- Themes border width requires an offset.
|
-- Themes border width requires an offset.
|
||||||
local bw = tonumber(beautiful.border_width) or 0
|
local bw = tonumber(beautiful.border_width) or 0
|
||||||
|
|
||||||
|
-- Total window size extend
|
||||||
|
local ext = 2 * bw + useless_gap
|
||||||
|
|
||||||
-- get our orientation right.
|
-- get our orientation right.
|
||||||
local wa = p.workarea
|
local wa = p.workarea
|
||||||
local cls = p.clients
|
local cls = p.clients
|
||||||
|
|
||||||
wa.height = wa.height - ((global_border * 2) + (bw * 2))
|
wa.height = wa.height - 2 * global_border - useless_gap
|
||||||
wa.width = wa.width - ((global_border * 2) + (bw * 2))
|
wa.width = wa.width - 2 * global_border - useless_gap
|
||||||
|
wa.x = wa.x + useless_gap + global_border
|
||||||
|
wa.y = wa.y + useless_gap + global_border
|
||||||
|
|
||||||
if #cls > 0 then
|
if #cls > 0 then
|
||||||
local cells = math.ceil(math.sqrt(#cls))
|
local cells = math.ceil(math.sqrt(#cls))
|
||||||
|
@ -45,10 +50,7 @@ local function fair(p, orientation)
|
||||||
local strip = 0
|
local strip = 0
|
||||||
for k, c in ipairs(cls) do
|
for k, c in ipairs(cls) do
|
||||||
local g = {}
|
local g = {}
|
||||||
-- Save actual grid index for use in the useless_gap
|
|
||||||
-- routine.
|
|
||||||
local this_x = 0
|
|
||||||
local this_y = 0
|
|
||||||
if ( orientation == "east" and #cls > 2 )
|
if ( orientation == "east" and #cls > 2 )
|
||||||
or ( orientation == "south" and #cls <= 2 ) then
|
or ( orientation == "south" and #cls <= 2 ) then
|
||||||
if #cls < (strips * cells) and strip == strips - 1 then
|
if #cls < (strips * cells) and strip == strips - 1 then
|
||||||
|
@ -58,11 +60,8 @@ local function fair(p, orientation)
|
||||||
end
|
end
|
||||||
g.height = wa.height / strips
|
g.height = wa.height / strips
|
||||||
|
|
||||||
this_x = cell
|
g.x = wa.x + cell * g.width
|
||||||
this_y = strip
|
g.y = wa.y + strip * g.height
|
||||||
|
|
||||||
g.x = wa.x + cell * g.width + global_border
|
|
||||||
g.y = wa.y + strip * g.height + global_border
|
|
||||||
|
|
||||||
else
|
else
|
||||||
if #cls < (strips * cells) and strip == strips - 1 then
|
if #cls < (strips * cells) and strip == strips - 1 then
|
||||||
|
@ -72,25 +71,13 @@ local function fair(p, orientation)
|
||||||
end
|
end
|
||||||
g.width = wa.width / strips
|
g.width = wa.width / strips
|
||||||
|
|
||||||
this_x = strip
|
g.x = wa.x + strip * g.width
|
||||||
this_y = cell
|
g.y = wa.y + cell * g.height
|
||||||
|
|
||||||
g.x = wa.x + strip * g.width + global_border
|
|
||||||
g.y = wa.y + cell * g.height + global_border
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Useless gap.
|
g.width = g.width - ext
|
||||||
if useless_gap > 0
|
g.height = g.height - ext
|
||||||
then
|
|
||||||
-- All clients tile evenly.
|
|
||||||
g.width = g.width - useless_gap
|
|
||||||
g.x = g.x + (useless_gap / 2)
|
|
||||||
g.height = g.height - useless_gap
|
|
||||||
g.y = g.y + (useless_gap / 2)
|
|
||||||
|
|
||||||
end
|
|
||||||
-- End of useless gap.
|
|
||||||
|
|
||||||
c:geometry(g)
|
c:geometry(g)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue