It maximizes all client height to workarea height and splits the width
equally between each other.
Since nowadays those full HD screens are comming as a standart, I find
this layout extremly usefull when wanting to keep 80 character width
and full height terminals.
I asked about such layout in irc and got +1, hope you will like it.

Signed-off-by: Arvydas Sidorenko <[email protected]>
---
 awesomerc.lua.in                   |    3 ++-
 lib/awful/layout/suit/init.lua.in  |    1 +
 lib/awful/layout/suit/plumb.lua.in |   30 ++++++++++++++++++++++++++++++
 3 files changed, 33 insertions(+), 1 deletions(-)
 create mode 100644 lib/awful/layout/suit/plumb.lua.in

diff --git a/awesomerc.lua.in b/awesomerc.lua.in
index c48aa13..ec8ae2d 100644
--- a/awesomerc.lua.in
+++ b/awesomerc.lua.in
@@ -62,7 +62,8 @@ layouts =
     awful.layout.suit.spiral.dwindle,
     awful.layout.suit.max,
     awful.layout.suit.max.fullscreen,
-    awful.layout.suit.magnifier
+    awful.layout.suit.magnifier,
+       awful.layout.suit.plumb
 }
 -- }}}
 
diff --git a/lib/awful/layout/suit/init.lua.in 
b/lib/awful/layout/suit/init.lua.in
index d5d4e3f..b454fdd 100644
--- a/lib/awful/layout/suit/init.lua.in
+++ b/lib/awful/layout/suit/init.lua.in
@@ -4,6 +4,7 @@ require("awful.layout.suit.fair")
 require("awful.layout.suit.floating")
 require("awful.layout.suit.magnifier")
 require("awful.layout.suit.spiral")
+require("awful.layout.suit.plumb")
 
 --- Suits for awful
 module("awful.layout.suit")
diff --git a/lib/awful/layout/suit/plumb.lua.in 
b/lib/awful/layout/suit/plumb.lua.in
new file mode 100644
index 0000000..deaab38
--- /dev/null
+++ b/lib/awful/layout/suit/plumb.lua.in
@@ -0,0 +1,30 @@
+---------------------------------------------------------------------------
+-- @author Arvydas Sidorenko &lt;[email protected]&gt;
+-- @copyright 2011 Arvydas Sidorenko
+-- @release @AWESOME_VERSION@
+---------------------------------------------------------------------------
+
+-- Grab environment we need
+local pairs = pairs
+
+--- Plumb layout module for awful
+module("awful.layout.suit.plumb")
+
+function arrange(p)
+       local area = p.workarea
+       local c_share = area.width / #p.clients
+
+       for k, c in pairs(p.clients) do
+               local geom = {
+                       x = area.x + c_share * (k-1),
+                       y = area.y,
+                       width = c_share,
+                       height = area.height
+               }
+
+               c:geometry(geom)
+       end
+end
+
+name = "plumb"
+
-- 
1.7.8.1


-- 
To unsubscribe, send mail to [email protected].

Reply via email to