My ~/.config/awesome directory
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.
Here some of the things you may be interested in:
It is modular. I am using
configas 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-wallpaperto 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
i3lockas 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.
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 need
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.luato see how this works. The list of key bindings can be accessed with Mod4 + F1.
On the debug front, I am quite happy with
Many stuff is handled by systemd. The session is still expected to be handled by Xsession but we invoke a custom display-specific
graphical-session.targetshipped by distributions because I wanted it to be display-specific. Also, unit activation is bundled directly into
Also, I am using my custom terminal (
vbeterm). You need to change that in
rc.lua. You can also find the sources on GitHub.
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"]
Required Debian packages to make everything work can be found in my Puppet configuration.