X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/4666dc1fa2364cb7628ef70d17f40b29189dbacf..HEAD:/awesome/rc.lua?ds=inline diff --git a/awesome/rc.lua b/awesome/rc.lua index 826b908..9381277 100644 --- a/awesome/rc.lua +++ b/awesome/rc.lua @@ -1,4 +1,4 @@ --- Standard awesome library {{{1 +-- Awesome libraries {{{1 gears = require("gears") awful = require("awful") awful.rules = require("awful.rules") @@ -6,6 +6,7 @@ require("awful.autofocus") beautiful = require("beautiful") naughty = require("naughty") menubar = require("menubar") +require("awful.remote") -- Error handling {{{1 -- Check if awesome encountered an error during startup and fell back to @@ -26,62 +27,59 @@ 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") +-- 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" --- 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 +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") require("menu") require("topbar") -require("bindings") require("rules") -require("conky") -require("autostart") - --- Signals {{{1 --- Signal function to execute when a new client appears. -client.connect_signal("manage", function (c, startup) - -- Enable sloppy focus - c:connect_signal("mouse::enter", function(c) - if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier - and awful.client.focus.filter(c) then - client.focus = c - end - end) - - if not startup then - -- Set the windows at the slave, - -- i.e. put it at the end of others instead of setting it master. - awful.client.setslave(c) - - -- Put windows in a smart way, only if they does not set an initial position. - if not c.size_hints.user_position and not c.size_hints.program_position then - awful.placement.no_overlap(c) - awful.placement.no_offscreen(c) - end - end -end) +-- require("conky") +require("signals") -client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) -client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) - --- 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 })