return os.execute(('[ -d "%s" ]'):format(path))
end
+local function terminal_cmd(prg, name)
+ local join = require("gears.table").join
+ local term_cmd = {terminal}
+ if terminal:match("rxvt") then
+ if name then
+ term_cmd = join(term_cmd, {"-name", name})
+ end
+ elseif terminal:match("wezterm") then
+ term_cmd = join(term_cmd, {"start"})
+ if name then
+ term_cmd = join(term_cmd, {"--class", name})
+ end
+ else
+ term_cmd = join(term_cmd, {"-e"})
+ end
+ return join(term_cmd, {prg})
+end
+
+function utils.spawn_terminal(prg, cprop, cb)
+ if not cprop then
+ cprop = {}
+ end
+ local name = cprop.instance
+ awful.spawn(terminal_cmd(prg, name), cprop, cb)
+end
+
+function utils.spawn_terminal_once(prg, rules, matcher, unique_id, cb)
+ local name = rules.instance
+ awful.spawn.once(terminal_cmd(prg, name), rules, matcher, unique_id, cb)
+end
+
function utils.run_or_kill(prg, cprop, screen)
if not prg then
do return nil end
end
function utils.get_default_sink()
- local f = io.popen('ponymix defaults --short')
+ local f = io.popen('pactl get-default-sink')
line = f:read('*l')
f:close()
return string.match(line, "^sink%s*%d*%s*(.-)%s")
end
function utils.rules.append(rules)
- awful.rules.rules = awful.util.table.join(awful.rules.rules, rules)
+ awful.rules.rules = gears.table.join(awful.rules.rules, rules)
end
function utils.globalkeys.append(keys)
- globalkeys = awful.util.table.join(globalkeys, keys)
+ globalkeys = gears.table.join(globalkeys, keys)
end
function utils.has_battery()