Hi
The attached patch file fixes a small bug and adds padding handling (got
from tile management and not tested)
This works for me.
Many thanks for your work.
If needed, please send answer to my addr.
- Xavier
--- drop.lua.orig 2010-02-26 19:37:23.000000000 +0100
+++ drop.lua 2010-02-26 19:36:43.000000000 +0100
@@ -27,6 +27,7 @@
local pairs = pairs
local awful = require("awful")
local setmetatable = setmetatable
+local ascreen = require("awful.screen")
local capi = {
mouse = mouse,
client = client,
@@ -71,6 +72,15 @@
-- Client geometry and placement
local screengeom = capi.screen[screen].workarea
+ -- Handle padding
+ local padding = ascreen.padding(capi.screen[screen])
+ if padding then
+ screengeom.x = screengeom.x + (padding.left or 0)
+ screengeom.y = screengeom.y + (padding.top or 0)
+ screengeom.width = screengeom.width - ((padding.left or 0 ) + (padding.right or 0))
+ screengeom.height = screengeom.height - ((padding.top or 0) + (padding.bottom or 0))
+ end
+
if width <= 1 then width = screengeom.width * width end
if height <= 1 then height = screengeom.height * height end
@@ -80,7 +90,7 @@
if vert == "bottom" then y = screengeom.height + screengeom.y - height
elseif vert == "center" then y = screengeom.y+(screengeom.height-height)/2
- else y = screengeom.y - screengeom.y end
+ else y = screengeom.y end
-- Client properties
c:geometry({ x = x, y = y, width = width, height = height })