util.magnify_client: toggle mode added

This commit is contained in:
luke bonham 2013-09-18 16:56:02 +02:00
parent c397afd0c7
commit 74f4507743
1 changed files with 14 additions and 10 deletions

View File

@ -84,17 +84,21 @@ end
-- Magnify a client: Set it to "float" and resize it. -- Magnify a client: Set it to "float" and resize it.
function util.magnify_client(c) function util.magnify_client(c)
awful.client.floating.set(c, true) if not awful.client.floating.get(c) then
awful.client.floating.set(c, true)
local mg = screen[mouse.screen].geometry local mg = screen[mouse.screen].geometry
local tag = awful.tag.selected(mouse.screen) local tag = awful.tag.selected(mouse.screen)
local mwfact = awful.tag.getmwfact(tag) local mwfact = awful.tag.getmwfact(tag)
local g = {} local g = {}
g.width = math.sqrt(mwfact) * mg.width g.width = math.sqrt(mwfact) * mg.width
g.height = math.sqrt(mwfact) * mg.height g.height = math.sqrt(mwfact) * mg.height
g.x = mg.x + (mg.width - g.width) / 2 g.x = mg.x + (mg.width - g.width) / 2
g.y = mg.y + (mg.height - g.height) / 2 g.y = mg.y + (mg.height - g.height) / 2
c:geometry(g) c:geometry(g)
else
awful.client.floating.set(c, false)
end
end end
-- Read the nice value of pid from /proc. -- Read the nice value of pid from /proc.