]> git.rmz.io Git - dotfiles.git/blobdiff - awesome/rc.lua
awesome: spawn kdeconnect-indicator on startup
[dotfiles.git] / awesome / rc.lua
index 9a113241b474b5b3b69779f730258741d4ed0171..9381277275c0b99e538deee2e21bdbb265cc2103 100644 (file)
@@ -6,7 +6,6 @@ require("awful.autofocus")
 beautiful = require("beautiful")
 naughty = require("naughty")
 menubar = require("menubar")
-lain = require("lain")
 require("awful.remote")
 
 -- Error handling {{{1
@@ -35,12 +34,27 @@ end
 
 -- Variable definitions {{{1
 -- Themes define colours, icons, font and wallpapers.
-beautiful.init(awful.util.getdir("config").."/themes/mlp/theme.lua")
+local gfs = require("gears.filesystem")
+local theme = os.getenv("THEME")
+local theme_path = gfs.get_dir("config").."/themes/"..theme.."/theme.lua"
 
--- This is used later as the default terminal and editor to run.
-terminal = "urxvtc"
-editor = os.getenv("EDITOR") or "vim"
-editor_cmd = terminal .. " -e " .. editor
+if not beautiful.init(theme_path) then
+    -- we failed to load the theme, load default instead
+    naughty.notify({ preset = naughty.config.presets.warning,
+                     title = "Could not load theme, fallback to default",
+                     text = "theme_path = '"..theme_path.."'" })
+    beautiful.init(gfs.get_themes_dir() .. "default/theme.lua")
+end
+
+-- This is used later as the default terminal to run.
+terminal = os.getenv("TERMINAL") or "xterm"
+terminal_class = (function()
+    local map = { urxvt  = "URxvt"
+                , urxvtc = "URxvt"
+                , xterm  = "XTerm"
+                }
+    return map[terminal] or terminal
+end)()
 
 -- Require files {{{1
 require("bindings")
@@ -51,5 +65,21 @@ require("rules")
 -- require("conky")
 require("signals")
 
--- Set keys
+-- Set keys {{{1
 root.keys(globalkeys)
+
+-- Autostart {{{1
+local utils = require("utils")
+awful.spawn.once("kdeconnect-indicator")
+-- 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 })