AwesomeFiles/config/awesome/helpers/run.lua
2022-07-11 20:06:55 -05:00

51 lines
1.2 KiB
Lua
Executable file

local awful = require("awful")
local tostring = tostring
local string = string
local ipairs = ipairs
local math = math
local os = os
local _run = {}
function _run.run_once_pgrep(cmd)
local findme = cmd
local firstspace = cmd:find(" ")
if firstspace then
findme = cmd:sub(0, firstspace - 1)
end
awful.spawn.easy_async_with_shell(string.format("pgrep -u $USER -x %s > /dev/null || (%s)", findme, cmd))
end
function _run.run_once_ps(findme, cmd)
awful.spawn.easy_async_with_shell(string.format("ps -C %s|wc -l", findme), function(stdout)
if tonumber(stdout) ~= 2 then
awful.spawn(cmd, false)
end
end)
end
function _run.run_once_grep(command)
awful.spawn.easy_async_with_shell(string.format("ps aux | grep '%s' | grep -v 'grep'", command), function(stdout)
if stdout == "" or stdout == nil then
awful.spawn(command, false)
end
end)
end
function _run.check_if_running(command, running_callback, not_running_callback)
awful.spawn.easy_async_with_shell(string.format("ps aux | grep '%s' | grep -v 'grep'", command), function(stdout)
if stdout == "" or stdout == nil then
if not_running_callback ~= nil then
not_running_callback()
end
else
if running_callback ~= nil then
running_callback()
end
end
end)
end
return _run