X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/cfa0b7c3a6056ae43fc1bcf60a4d832e7dacd932..b47ffe60e244c9165f40371736079320ea2d848b:/awesome/utils.lua diff --git a/awesome/utils.lua b/awesome/utils.lua index b8dd97f..1385633 100644 --- a/awesome/utils.lua +++ b/awesome/utils.lua @@ -13,6 +13,37 @@ function utils.is_dir(path) 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 @@ -68,7 +99,7 @@ function utils.run_once(prg,arg_string,pname,screen) 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")