Hi people,
the attached two patches fix some little quirks introduced by the recent
introduction of wibox management in awful.
The first patch fixes a little bug I encountered while playing around
with wiboxes and it makes floating the position if something went
wrong (i.e. the user tried to set fnord as the position)
The second patch adapts awful.mouse.wibox.move to the new syntax for
handling wibox positions.
--
GCS/IT/M d- s+:- a--- C++ UL+++ US UB++ P+++ L+++ E--- W+ N+ o--
K- w--- O M-- V PS+ PE- Y+ PGP+++ t+ 5 X+ R tv+ b++ DI+++ D+++ G+
e- h! r y+
Gregor Best
From 68a1e0c74d4238b446e1ca85b7c7aa9237e43990 Mon Sep 17 00:00:00 2001
From: Gregor Best farha...@googlemail.com
Date: Fri, 5 Jun 2009 19:49:03 +0200
Subject: [PATCH 1/2] awful.wibox(): correctly handle position changes
This patch fixes a bug and changes the position handling for wiboxes:
The bug was that awful.wibox.set_position() didn't update the cached
wibox position, i.e. the wibox was moved, but the position value in the
wiboxes table stayed the same
The change in position handling was that unknown positions (i.e.
fnord) default to floating
Signed-off-by: Gregor Best farha...@googlemail.com
---
lib/awful/wibox.lua.in | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/lib/awful/wibox.lua.in b/lib/awful/wibox.lua.in
index 190caea..2a155c9 100644
--- a/lib/awful/wibox.lua.in
+++ b/lib/awful/wibox.lua.in
@@ -115,6 +115,13 @@ function set_position(wibox, position, screen)
wingeom.y = area.y
end
+for _, wprop in ipairs(wiboxes) do
+if wprop.wibox == wibox then
+wprop.position = position
+break
+end
+end
+
wibox:geometry(wingeom)
end
@@ -147,6 +154,10 @@ function attach(wibox, position)
end
end
+if position ~= top and position ~= bottom and position ~= right and
position ~= left then
+position = floating
+end
+
if not wibox_prop_table then
table.insert(wiboxes,
setmetatable({ wibox = wibox, position = position }, { __mode = 'v' }))
--
1.6.3.1
From ab18dfbe92ef64bdb854bc227597ad90fb9eefb3 Mon Sep 17 00:00:00 2001
From: Gregor Best farha...@googlemail.com
Date: Fri, 5 Jun 2009 19:51:33 +0200
Subject: [PATCH 2/2] awful.mouse: fix wibox.move()
Signed-off-by: Gregor Best farha...@googlemail.com
---
lib/awful/mouse.lua.in | 10 +-
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/awful/mouse.lua.in b/lib/awful/mouse.lua.in
index fc4cb90..b264576 100644
--- a/lib/awful/mouse.lua.in
+++ b/lib/awful/mouse.lua.in
@@ -284,7 +284,7 @@ function wibox.move(w)
capi.mousegrabber.run(function (mouse)
local button_down = false
-if w.position == floating then
+if awibox.get_position(w) == floating then
w:geometry({
x = capi.mouse.coords()[x] + offset[x],
y = capi.mouse.coords()[y] + offset[y],
@@ -293,13 +293,13 @@ function wibox.move(w)
local wa = awibox.get_workarea(capi.mouse.screen)
if capi.mouse.coords()[y] wa.y + wa.height - 10 then
-w.position = bottom
+awibox.set_position(w, bottom, w.screen)
elseif capi.mouse.coords()[y] wa.y + 10 then
-w.position = top
+awibox.set_position(w, top, w.screen)
elseif capi.mouse.coords()[x] wa.x + wa.width - 10 then
-w.position = right
+awibox.set_position(w, right, w.screen)
elseif capi.mouse.coords()[x] wa.x + 10 then
-w.position = left
+awibox.set_position(w, left, w.screen)
end
w.screen = capi.mouse.screen
end
--
1.6.3.1
pgpXFGBRAXkzy.pgp
Description: PGP signature