To me, I think it was cleaner to have a parameter with the current display. This way, the session is specific to the current display. It seems BindsTo doesn't think this way.
2.6 KiB
Vincent Bernat's awesome configuration
This is my awesome configuration. It does not exactly feature the same keybindings as the default configuration. I don't recommend using it by you can pick anything you need in it.
This configuration is for awesome 3.4. I did not update to 3.5 yet. Have a look at @P-EB pull request for 3.5 support.
I rely on machine hostname for some configuration parts (see
rc/start.lua
) for the most important part.
Here some of the things you may be interested in:
-
It is modular. I am using
config
as a table to pass different things between "modules". -
I use a light transparency effect to tell if a window has the focus or not. It needs a composite manager.
-
I use a Python script
bin/build-wallpaper
to build the wallpaper to be displayed. There is a random selection and it works with multihead setup. It seems that classic tools are now able to change the wallpaper per screen and therefore, the script may seem a bit useless but I keep it. -
I am using
xss-lock
withi3lock
as a screensaver. It relies on standard X screensaver handling (and therefore is easy for application to disable) and also supports systemd inhibitors. Nothing fancy but I reuse the wallpaper built above. A notification is sent 10 seconds before starting. -
In
rc/apparance.lua
, you may be interested by the way I configure GTK2 and GTK3 to have an unified look. It works and it does not needgnome-control-center
. -
I have rebuilt my own implementation of the Quake console in
lib/quake.lua
. The common ones didn't like when awesome was restarted. -
I am using notifications when changing volume or brightness. I am also using notifications to change xrandr setup. This is pretty cool.
-
Keybindings are "autodocumented". See
lib/keydoc.lua
to see how this works. The list of key bindings can be accessed with Mod4 + F1. -
On the debug front, I am quite happy with
dbg()
inrc/debug.lua
.
Also, I am using my custom terminal (vbeterm
). You need to change
that in rc.lua
. You can also find the sources on
GitHub.
Things in lib/
are meant to be reused. I am using my own loadrc()
function to load modules and therefore, I prefix my modules with
vbe/
. Before reusing a module, you may want to change this. Another
way to load them is to use:
require("lib/quake")
local quake = package.loaded["vbe/quake"]