(local fun (require :lib.fun)) (local awful (require :awful)) (require :awful.autofocus) (local naughty (require :naughty)) (local beautiful (require :beautiful)) (beautiful.init (require :conf.theme)) (require :module.decorate) (require :module.sidebar) (require :conf.client) (require :conf.tags) (_G.root.keys (require :conf.keys)) ;; TEMP Next release should support this through `beautiful'. (set naughty.config.defaults.border_width beautiful.notification_border_width) (set naughty.config.defaults.icon_size beautiful.notification_icon_size) ;;; ;; Post-config -- wiring it all up (->> {:manage (lambda [c] nil (when (and awesome.startup (not c.size_hints.user_position) (not c.size_hints.program_position)) ;; Prevent clients from being unreachable after screen count changes. (awful.placement.no_offscreen c))) :mouse::enter (lambda [c] (when (and (~= (awful.layout.get c.screen) awful.layout.suit.magnifier) (awful.client.focus.filter c)) (set client.focus c))) :focus (lambda [c] (set c.border_color beautiful.border_focus)) :unfocus (lambda [c] (set c.border_color beautiful.border_normal))} (fun.each (fn [event callback] (client.connect_signal event callback)))) (awful.spawn.with_shell "~/.config/awesome/autostart") ;; Empty return {}