X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/c580e13015554a32dbc93173b5b40dd1dec1ea78..c251f2844bbbe95f2c0cc2bf97008aa981fcfc85:/util/init.lua

diff --git a/util/init.lua b/util/init.lua
index d99f007..70d8e52 100644
--- a/util/init.lua
+++ b/util/init.lua
@@ -74,32 +74,37 @@ function util.menu_clients_current_tags(menu, args)
 end
 
 -- Magnify a client: Set it to "float" and resize it.
+local magnified_client = nil
 function util.magnify_client(c)
-    if not awful.client.floating.get(c) then
-        awful.client.floating.set(c, true)
-
-        local mg = screen[mouse.screen].geometry
-        local tag = awful.tag.selected(mouse.screen)
-        local mwfact = awful.tag.getmwfact(tag)
-        local g = {}
-        g.width = math.sqrt(mwfact) * mg.width
-        g.height = math.sqrt(mwfact) * mg.height
-        g.x = mg.x + (mg.width - g.width) / 2
-        g.y = mg.y + (mg.height - g.height) / 2
-        c:geometry(g)
+    if c and not awful.client.floating.get(c) then
+        util.mc(c)
+        magnified_client = c
     else
         awful.client.floating.set(c, false)
+        magnified_client = nil
     end
 end
 
+-- https://github.com/copycat-killer/lain/issues/195
+function util.mc(c)
+    c = c or magnified_client
+    if not c then return end
+    awful.client.floating.set(c, true)
+    local mg = screen[mouse.screen].geometry
+    local tag = awful.tag.selected(mouse.screen)
+    local mwfact = awful.tag.getmwfact(tag)
+    local g = {}
+    g.width = math.sqrt(mwfact) * mg.width
+    g.height = math.sqrt(mwfact) * mg.height
+    g.x = mg.x + (mg.width - g.width) / 2
+    g.y = mg.y + (mg.height - g.height) / 2
+    c:geometry(g)
+end
+
 -- Read the nice value of pid from /proc.
 local function get_nice_value(pid)
     local n = first_line('/proc/' .. pid .. '/stat')
-    if n == nil
-    then
-        -- This should not happen. But I don't want to crash, either.
-        return 0
-    end
+    if not n then return 0 end
 
     -- Remove pid and tcomm. This is necessary because tcomm may contain
     -- nasty stuff such as whitespace or additional parentheses...
@@ -210,6 +215,12 @@ function util.useless_gaps_resize(thatmuch)
     awful.layout.arrange(mouse.screen)
 end
 
+-- On the fly global border change
+function util.global_border_resize(thatmuch)
+    beautiful.global_border_width = tonumber(beautiful.global_border_width) + thatmuch
+    awful.layout.arrange(mouse.screen)
+end
+
 -- Check if an element exist on a table
 function util.element_in_table(element, tbl)
     for _, i in pairs(tbl) do