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 <[email protected]> +-- @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].
