]> git.rmz.io Git - dotfiles.git/blobdiff - awesome/utils.lua
dwb: update github css
[dotfiles.git] / awesome / utils.lua
index 0ec93aa355f14c5abd5dfd22df7486bf29b01576..7519473cb5d513321c4df379b72fcb7b5c02bb9e 100644 (file)
@@ -1,4 +1,8 @@
-local utils = { }
+local utils  = { }
+local io     = { popen = io.popen }
+local string = { match = string.match,
+                 lower = string.lower}
+
 utils.rules = { }
 utils.globalkeys = { }
 
@@ -23,6 +27,30 @@ function utils.run_or_kill(command)
     awful.util.spawn(command)
 end
 
+-- http://awesome.naquadah.org/wiki/Autostart#Simple_way
+function utils.run_once(prg,arg_string,pname,screen)
+    if not prg then
+        do return nil end
+    end
+
+    if not pname then
+       pname = prg
+    end
+
+    if not arg_string then 
+        awful.util.spawn_with_shell("pgrep -f -u $USER -x '" .. pname .. "' || (" .. prg .. ")",screen)
+    else
+        awful.util.spawn_with_shell("pgrep -f -u $USER -x '" .. pname .. " ".. arg_string .."' || (" .. prg .. " " .. arg_string .. ")",screen)
+    end
+end
+
+function utils.get_default_sink()
+    local f = io.popen('ponymix defaults --short')
+    line = f:read('*l')
+    f:close()
+    return string.match(line, "^sink%s*%d*%s*(.-)%s")
+end
+
 function utils.joinTables(t1, t2)
     for k,v in ipairs(t2) do table.insert(t1, v) end return t1
 end