X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/ced8e6d8f7603892cd3ba3a2cd629e85b3c7ad91..04e310cb3d28037afa4a1a44324faafcb2b54b28:/layout/centerfair.lua?ds=inline

diff --git a/layout/centerfair.lua b/layout/centerfair.lua
index 01a2fe0..1e8915d 100644
--- a/layout/centerfair.lua
+++ b/layout/centerfair.lua
@@ -65,7 +65,6 @@ function centerfair.arrange(p)
     local num_x = centerfair.nmaster or tag.getnmaster(t)
     local ncol = centerfair.ncol or tag.getncol(t)
     if num_x <= 2 then num_x = 2 end
-    if num_x > #cls then num_x = #cls end
 
     local width = math.floor((wa.width-(num_x+1)*useless_gap) / num_x)
 
@@ -79,7 +78,7 @@ function centerfair.arrange(p)
         g.height = wa.height - 2*useless_gap - 2
         g.y = offset_y + global_border
         for i = 1, #cls do
-            g.x = offset_x + (i - 1) * (width + useless_gap + 2) + global_border
+            g.x = offset_x + (#cls - i) * (width + useless_gap + 2) + global_border
             cls[i]:geometry(g)
         end
     else
@@ -91,11 +90,12 @@ function centerfair.arrange(p)
 
         -- Master client deserves a special treatement
         local g = {}
-        g.width = wa.width - (num_x  - 1) * width - num_x * useless_gap
+        g.width = wa.width - (num_x  - 1) * width - num_x * 2*useless_gap - 2
         g.height = wa.height - 2*useless_gap - 2
         g.x = offset_x + useless_gap + global_border
         g.y = offset_y + global_border
-        cls[1]:geometry(g)
+
+        cls[#cls]:geometry(g)
 
         -- Treat the other clients
 
@@ -134,12 +134,12 @@ function centerfair.arrange(p)
         end
 
         -- Compute geometry of the other clients
-        local nclient = 2
+        local nclient = #cls-1 -- we start with the 2nd client
         g.x = g.x + g.width+useless_gap + 2
         g.width = width
 
         if useless_gap > 0 then
-            g.width = g.width - useless_gap/2 - 2
+            g.width = g.width + useless_gap - 2
         end
 
         for i = 1, (num_x-1) do
@@ -148,13 +148,13 @@ function centerfair.arrange(p)
             g.y = offset_y + global_border
             for j = 0, (num_y[i]-2) do
                 cls[nclient]:geometry(g)
-                nclient = nclient + 1
+                nclient = nclient - 1
                 g.y = g.y + g.height+useless_gap + 2
                 to_remove = to_remove + 2
             end
             g.height = wa.height - num_y[i]*useless_gap - (num_y[i]-1)*g.height - useless_gap - to_remove
             cls[nclient]:geometry(g)
-            nclient = nclient + 1
+            nclient = nclient - 1
             g.x = g.x+g.width+useless_gap + 2
         end
     end