X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/fb2d049199df6b6585cf4e97b7d012dad846964d..c33dd2f7ee1f547cee66a922995ff4bceb19f82b:/awesome/rc.lua diff --git a/awesome/rc.lua b/awesome/rc.lua index d29c628..c4f3d62 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") @@ -7,6 +7,7 @@ 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 @@ -42,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)