-- require("conky")
require("signals")
--- Set keys
+-- Set keys {{{1
root.keys(globalkeys)
+
+-- Autostart {{{1
+local utils = require("utils")
+-- This seems to not keep awesome as parent of these processes
+utils.spawn_terminal_once("ncmpcpp", { instance = "ncmpcpp"
+ , tag = mediatag
+ })
+utils.spawn_terminal_once("neomutt",
+ { instance = "mutt" , tag = wwwtag })
+utils.spawn_terminal_once("weechat", { instance = "weechat"
+ , tag = imtag
+ , function (c) awful.client.setmaster(c) end
+ })
+-- can't get this to work propery, restarting awesowe will respawn a new qutebrowser
+awful.spawn.single_instance("qutebrowser", { instance = "qutebrowser", tag = wwwtag })
properties = { floating = true } },
{ rule = { class = terminal_class },
properties = { opacity = 0.8 } },
- { rule = { class = terminal_class, instance = "mutt" },
- properties = { tag = wwwtag,
- function (c) awful.client.setslave(c) end } },
- { rule = { class = terminal_class, instance = "ncmpcpp" },
- properties = { tag = mediatag,
- function (c) awful.client.setmaster(c) end } },
- { rule = { class = terminal_class, instance = "weechat" },
- properties = { tag = imtag,
- function (c) awful.client.setmaster(c) end } },
{ rule_any = { class = { "Steam", "steam" } },
properties = { tag = tags[1][9] } },
}
return os.execute(('[ -d "%s" ]'):format(path))
end
-function utils.spawn_terminal(prg, cprop, cb)
+local function terminal_cmd(prg, name)
local join = require("gears.table").join
local term_cmd = {terminal}
- if cprop and cprop.instance then
+ if name then
if terminal:match("rxvt") then
- term_cmd = join(term_cmd, {"-name", cprop.instance})
+ term_cmd = join(term_cmd, {"-name", name})
end
end
- awful.spawn(join(term_cmd, {"-e", prg}), cprop, cb)
+ return join(term_cmd, {"-e", 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)
export URXVT_PERL_LIB
urxvtd -q -o -f
-hash ncmpcpp && urxvtc -name ncmpcpp -icon ~/src/dotfiles/icons/bmp.png -e ncmpcpp
-hash weechat && urxvtc -name weechat -icon ~/src/dotfiles/icons/im-irc.png -e weechat
-hash neomutt && urxvtc -name mutt -icon ~/src/dotfiles/icons/internet-mail.png -e neomutt
-
compton --config ~/.config/compton.conf &
unclutter --timeout 1 &
xcape -e "Control_L=Escape;Control_R=Escape"
-
-qutebrowser &