X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/4666dc1fa2364cb7628ef70d17f40b29189dbacf..dc0e2a9d8fa2598ab948e687027151a9156ef33d:/awesome/rc.lua diff --git a/awesome/rc.lua b/awesome/rc.lua index 826b908..b7def3e 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,8 @@ require("awful.autofocus") beautiful = require("beautiful") naughty = require("naughty") menubar = require("menubar") +lain = require("lain") +require("awful.remote") -- Error handling {{{1 -- Check if awesome encountered an error during startup and fell back to @@ -26,13 +28,13 @@ 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 +-- Themes define colours, icons, font and wallpapers. beautiful.init(awful.util.getdir("config").."/themes/mlp/theme.lua") -- This is used later as the default terminal and editor to run. @@ -41,47 +43,29 @@ 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) +local function set_wallpaper(s) + -- Wallpaper + if beautiful.wallpaper then + local wallpaper = beautiful.wallpaper + -- If wallpaper is a function, call it with the screen + if type(wallpaper) == "function" then + wallpaper = wallpaper(s) + end + gears.wallpaper.maximized(wallpaper, s, true) end end +-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) +screen.connect_signal("property::geometry", set_wallpaper) + -- 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) - -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) +-- require("conky") +require("signals") -- Set keys root.keys(globalkeys)