X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/00a2951166f61cbbfe1d6e042fe0e53427c001cd..acece6c05439884cfd2ecd2e658a63d6f42f44b9:/layout/cascade.lua?ds=sidebyside

diff --git a/layout/cascade.lua b/layout/cascade.lua
index cabacef..999c599 100644
--- a/layout/cascade.lua
+++ b/layout/cascade.lua
@@ -2,12 +2,14 @@
 --[[
                                                   
      Licensed under GNU General Public License v2 
+      * (c) 2014,      projektile                 
       * (c) 2013,      Luke Bonham                
       * (c) 2010-2012, Peter Hofmann              
                                                   
 --]]
 
-local tag = require("awful.tag")
+local tag       = require("awful.tag")
+local beautiful = require("beautiful")
 
 local cascade =
 {
@@ -21,10 +23,23 @@ function cascade.arrange(p)
 
     -- Cascade windows.
 
+    -- A global border can be defined with
+    -- beautiful.global_border_width.
+    local global_border = tonumber(beautiful.global_border_width) or 0
+    if global_border < 0 then global_border = 0 end
+
+    -- Themes border width requires an offset.
+    local bw = tonumber(beautiful.border_width) or 0
+
     -- Screen.
     local wa = p.workarea
     local cls = p.clients
 
+    wa.height = wa.height - ((global_border * 2) + (bw * 2))
+    wa.width = wa.width - ((global_border * 2) + (bw * 2))
+    wa.x = wa.x + global_border
+    wa.y = wa.y + global_border
+
     -- Opening a new window will usually force all existing windows to
     -- get resized. This wastes a lot of CPU time. So let's set a lower
     -- bound to "how_many": This wastes a little screen space but you'll