X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/172cfbb4b15794f9dd12a4531e6ba6b8f0edbb2a..b47ffe60e244c9165f40371736079320ea2d848b:/awesome/utils.lua diff --git a/awesome/utils.lua b/awesome/utils.lua index 070cb3e..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") @@ -79,11 +110,11 @@ function utils.joinTables(t1, t2) 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()