]> git.rmz.io Git - dotfiles.git/blobdiff - awesome/rc.lua
vim: do not set pastetoggle in nvim
[dotfiles.git] / awesome / rc.lua
index 6ba97494237f53ec397d834166cdb3dfa5b87aeb..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
@@ -28,27 +27,35 @@ do
 
         naughty.notify({ preset = naughty.config.presets.critical,
                          title = "Oops, an error happened!",
-                         text = err })
+                         text = tostring(err) })
         in_error = false
     end)
 end
 
 -- Variable definitions {{{1
--- Themes define colours, icons, and wallpapers
-beautiful.init(awful.util.getdir("config").."/themes/mlp/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
-
--- Wallpaper {{{1
-if beautiful.wallpaper then
-    for s = 1, screen.count() do
-        gears.wallpaper.maximized(beautiful.wallpaper, s, true)
-    end
+-- Themes define colours, icons, font and wallpapers.
+local gfs = require("gears.filesystem")
+local theme = os.getenv("THEME")
+local theme_path = gfs.get_dir("config").."/themes/"..theme.."/theme.lua"
+
+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")
 require("tags")
@@ -58,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 })