X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/efff8f40122239edd3d34e95512a6d73c86d8930..554d206f5fbc1e04e8863b07b7e2448163857050:/layout/centerwork.lua?ds=sidebyside

diff --git a/layout/centerwork.lua b/layout/centerwork.lua
index fa53274..954826e 100644
--- a/layout/centerwork.lua
+++ b/layout/centerwork.lua
@@ -39,6 +39,8 @@ function centerwork.arrange(p)
     -- Borders are factored in.
     wa.height = wa.height - (global_border * 2)
     wa.width = wa.width - (global_border * 2)
+    wa.x = wa.x + global_border
+    wa.y = wa.y + global_border
 
     -- Width of main column?
     local t = awful.tag.selected(p.screen)
@@ -55,12 +57,16 @@ function centerwork.arrange(p)
         local slaveRwid = slavewid - slaveLwid
         local slaveThei = math.floor(wa.height / 2)
         local slaveBhei = wa.height - slaveThei
+        local Thalfgap = math.floor(useless_gap / 2)
+        local Bhalfgap = useless_gap - Thalfgap
 
         g.height = wa.height - 2*useless_gap - 2*c.border_width
         g.width = mainwid - 2*c.border_width
-        g.x = wa.x + slaveLwid + global_border
-        g.y = wa.y + useless_gap + global_border
+        g.x = wa.x + slaveLwid
+        g.y = wa.y + useless_gap
 
+        if g.width < 1 then g.width = 1 end
+        if g.height < 1 then g.height = 1 end
         c:geometry(g)
 
         -- Auxiliary windows.
@@ -83,33 +89,35 @@ function centerwork.arrange(p)
                 if i - 2 == centerwork.top_left
                 then
                     -- top left
-                    g.x = wa.x + useless_gap + global_border
-                    g.y = wa.y + useless_gap + global_border
+                    g.x = wa.x + useless_gap
+                    g.y = wa.y + useless_gap
                     g.width = slaveLwid - 2*useless_gap - 2*c.border_width
-                    g.height = slaveThei - useless_gap - 2*c.border_width
+                    g.height = slaveThei - useless_gap - Thalfgap - 2*c.border_width
                 elseif i - 2 == centerwork.top_right
                 then
                     -- top right
-                    g.x = wa.x + slaveLwid + mainwid + useless_gap + global_border
-                    g.y = wa.y + useless_gap + global_border
+                    g.x = wa.x + slaveLwid + mainwid + useless_gap
+                    g.y = wa.y + useless_gap
                     g.width = slaveRwid - 2*useless_gap - 2*c.border_width
-                    g.height = slaveThei - useless_gap - 2*c.border_width
+                    g.height = slaveThei - useless_gap - Thalfgap - 2*c.border_width
                 elseif i - 2 == centerwork.bottom_left
                 then
                     -- bottom left
-                    g.x = wa.x + useless_gap + global_border
-                    g.y = wa.y + slaveThei + useless_gap + global_border
+                    g.x = wa.x + useless_gap
+                    g.y = wa.y + slaveThei + Bhalfgap
                     g.width = slaveLwid - 2*useless_gap - 2*c.border_width
-                    g.height = slaveBhei - 2*useless_gap - 2*c.border_width
+                    g.height = slaveBhei - useless_gap - Bhalfgap - 2*c.border_width
                 elseif i - 2 == centerwork.bottom_right
                 then
                     -- bottom right
-                    g.x = wa.x + slaveLwid + mainwid + useless_gap + global_border
-                    g.y = wa.y + slaveThei + useless_gap + global_border
+                    g.x = wa.x + slaveLwid + mainwid + useless_gap
+                    g.y = wa.y + slaveThei + Bhalfgap
                     g.width = slaveRwid - 2*useless_gap - 2*c.border_width
-                    g.height = slaveBhei - 2*useless_gap - 2*c.border_width
+                    g.height = slaveBhei - useless_gap - Bhalfgap - 2*c.border_width
                 end
 
+                if g.width < 1 then g.width = 1 end
+                if g.height < 1 then g.height = 1 end
                 c:geometry(g)
 
                 at = at + 1