diff options
Diffstat (limited to '.config/awesome/functions')
-rw-r--r-- | .config/awesome/functions/run_once.lua | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/.config/awesome/functions/run_once.lua b/.config/awesome/functions/run_once.lua deleted file mode 100644 index 7c57482..0000000 --- a/.config/awesome/functions/run_once.lua +++ /dev/null @@ -1,35 +0,0 @@ -local awful = require("awful") -local lfs = require("lfs") - -local function processwalker() - local function yieldprocess() - for dir in lfs.dir("/proc") do - if tonumber(dir) ~= nil then - local f, err = io.open("/proc/"..dir.."/cmdline") - if f then - local cmdline = f:read("*all") - f:close() - if cmdline ~= "" then - coroutine.yield(cmdline) - end - end - end - end - end - return coroutine.wrap(yieldprocess) -end - -function run_once(process, cmd) - assert(type(process) == "string") - local regex_killer = { - ["+"] = "%+", ["-"] = "%-", - ["*"] = "%*", ["?"] = "%?" } - - for p in processwalker() do - if p:find(process:gsub("[-+?*]", regex_killer)) then - return - end - end - return awful.spawn(cmd or process) -end --- run once END |