X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/9c4f28d0dd224998dfdbce36fe94dc142d390c22..dc0e2a9d8fa2598ab948e687027151a9156ef33d:/awesome/rc.lua diff --git a/awesome/rc.lua b/awesome/rc.lua index a8d2440..b7def3e 100644 --- a/awesome/rc.lua +++ b/awesome/rc.lua @@ -1,17 +1,15 @@ --- Standard awesome library +-- Awesome libraries {{{1 gears = require("gears") awful = require("awful") awful.rules = require("awful.rules") require("awful.autofocus") --- Theme handling library beautiful = require("beautiful") --- Notification library naughty = require("naughty") menubar = require("menubar") --- Pulseaudio widget ---local APW = require("apw/widget") +lain = require("lain") +require("awful.remote") --- {{{ Error handling +-- Error handling {{{1 -- Check if awesome encountered an error during startup and fell back to -- another config (This code will only ever execute for the fallback config) if awesome.startup_errors then @@ -30,86 +28,44 @@ 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 --- Themes define colours, icons, and wallpapers +-- Variable definitions {{{1 +-- 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. -terminal = "urxvt" +terminal = "urxvtc" editor = os.getenv("EDITOR") or "vim" editor_cmd = terminal .. " -e " .. editor --- Default modkey. --- Usually, Mod4 is the key with a logo between Control and Alt. --- If you do not like this or do not have such a key, --- I suggest you to remap Mod4 to another key using xmodmap or other tools. --- However, you can use another modifier like Mod1, but it may interact with others. -modkey = "Mod4" - --- Tags -require("tags") --- }}} - --- {{{ Wallpaper -if beautiful.wallpaper then - for s = 1, screen.count() do - gears.wallpaper.maximized(beautiful.wallpaper, s, true) +-- Wallpaper {{{1 +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 --- }}} ---Menu -require("menu") +-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution) +screen.connect_signal("property::geometry", set_wallpaper) --- Topbar -require("topbar") - --- Mouse/Key Bindings +-- Require files {{{1 require("bindings") - --- Rules +require("tags") +require("menu") +require("topbar") require("rules") - --- conky -require("conky") - --- {{{ Signals --- 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) - --- {{{ Autostart applications -require("autostart") --- }}}