aboutsummaryrefslogtreecommitdiffstats
path: root/awesome/layouts
diff options
context:
space:
mode:
authorErik Sandström <erik@kyriasis.com>2015-08-26 18:21:42 +0200
committerErik Sandström <erik@kyriasis.com>2015-08-26 18:21:42 +0200
commitb6cadf65e5e91c5f26ce7dd4c3a20330de560bec (patch)
tree8e5791ac11e3b0235b0b5b81f23e2a3772a77db2 /awesome/layouts
parent56e61d3abf2be52f48ca39035e9968edf600f740 (diff)
downloaddotfiles-b6cadf65e5e91c5f26ce7dd4c3a20330de560bec.tar.xz
Added my awesomeWM configsHEADmaster
Diffstat (limited to 'awesome/layouts')
-rw-r--r--awesome/layouts/init.lua7
-rw-r--r--awesome/layouts/twily.lua91
2 files changed, 98 insertions, 0 deletions
diff --git a/awesome/layouts/init.lua b/awesome/layouts/init.lua
new file mode 100644
index 0000000..4cfbddb
--- /dev/null
+++ b/awesome/layouts/init.lua
@@ -0,0 +1,7 @@
+package.loaded.layouts = nil
+
+local layouts = {
+ twily = require("layouts.twily")
+}
+
+return layouts
diff --git a/awesome/layouts/twily.lua b/awesome/layouts/twily.lua
new file mode 100644
index 0000000..3544afe
--- /dev/null
+++ b/awesome/layouts/twily.lua
@@ -0,0 +1,91 @@
+---------------------------------------------------------------
+-- Author: DWV aka Twily 2013
+-- Awesome -v 3.5
+---------------------------------------------------------------
+-- Grab environment
+local tonumber = tonumber
+local beautiful = require('beautiful')
+local awful = awful
+local math = math
+
+module("layouts.twily")
+
+name = "twily"
+
+
+bottom_left = 0
+bottom_right = 1
+
+function arrange(p)
+ -- Screen
+ local wa = p.workarea
+ local cls = p.clients
+
+ local border = tonumber(beautiful.border_width)
+ --local gap = tonumber(beautiful.useless_gap_width)
+ local gap = 8 -- px (pixels normal gap (between windows))
+ local fixed_gap = 10 -- px (pixels large gap (top/bottom))
+
+ local main_wid = 98 -- % (percent of screen width (main window width))
+ local main_hei = 60 -- % (percent of screen height (main window height))
+
+ if #cls > 0 then
+ -- Center window
+ local c = cls[#cls]
+ local g = {}
+ local mainwid = math.floor((main_wid * wa.width) / 100)
+ local mainhei = math.floor((main_hei * (wa.height + wa.y)) / 100) + wa.y
+ local slavewid = math.floor((mainwid / 2) - (gap / 2)) - border
+ local slavehei = math.floor(wa.height - mainhei - (fixed_gap * 2) - gap - (border * 4))
+
+ g.width = mainwid
+ g.height = mainhei
+ g.x = math.floor(wa.width / 2 - (mainwid / 2)) - border
+ g.y = wa.y + fixed_gap
+
+ --g.width = g.width + (fixed_gap * 2)
+ --g.x = g.x - fixed_gap
+
+ c:geometry(g)
+
+ -- Auxiliary windows
+ if #cls > 1 then
+ local at = 0
+ for i = (#cls - 1),1,-1 do
+ if at == 3 then
+ break
+ end
+
+ c = cls[i]
+ g = {}
+
+ local cw_scale = 20
+
+ if at == bottom_left then
+ --g.x = math.floor((wa.width / 2) - (slavewid + border) - gap + (gap / 2)) - border - 1
+ g.x = math.floor(wa.width - ((main_wid * wa.width) / 100) - ((((100 - main_wid) * wa.width) / 100) / 2)) - border
+ g.width = slavewid
+ elseif at == bottom_right then
+ --g.x = math.floor((wa.width / 2) + border + gap - (gap / 2)) - border
+ g.x = math.floor(wa.width - ((((100 - main_wid) * wa.width) / 100) / 2) - slavewid) - border
+ g.width = slavewid
+ end
+
+ g.height = slavehei
+
+ g.y = math.floor(wa.y + fixed_gap + gap + mainhei + (border * 2))
+
+ c:geometry(g)
+
+ at = at + 1
+ end
+
+ -- Set remaining client to floating
+ for i = (#cls - 1 - 2),1,-1 do
+ c = cls[i]
+ awful.client.floating.set(c, true)
+ end
+ end
+ end
+end
+