Awesome

awesome is a highly configurable, next generation framework window manager for X. It is primarly targeted at power users, developers and any people dealing with every day computing tasks and who want to have fine-grained control on theirs graphical environment.

Installation
Install :

Keyboard shortcuts
These are the most useful default shortcuts:
 * + = move client with mouse
 * + = resize client with mouse


 * + = open terminal
 * + = run command
 * ++ = kill
 * + = maximize
 * + = minimize
 * ++ = restore minimized clients
 * + = fullscreen
 * + = switch to previous client
 * ++ = float


 * + = hilight left client
 * + = hilight right client
 * ++ = move client right
 * ++ = move client left


 * + = resize tiled client
 * + = resize tiled client


 * + = change tag
 * + = change tag
 * ++ = send client to tag

Creating the configuration file
The default configuration file of awesome is located in. If such a directory or file does not exist youe will need to create them. A default, out of the box, configuration is distributed with awesome and can be found at. We would need to copy that configuration file to the users home directory.

First create the directory:

Then we copy the lua configuration file:

After making changes its useful to check the configuration file for errors:

Debugging config with Xephyr
Xephyr is useful tool for debugging new config files as it creates an instance of an X server within a client window.

This will open an 800x600 window. To run awesome within it open a new terminal and run the following

This will run awesome within a window.

Launch
If awesome is going to be launched from terminal through startx a configuration similar to the following is needed:

If a touchpad hardware is present and scrolling does not work should look similar to the following:

Tags
Example of four tags with custom number symbols.

Menu
Example of custom awesome menu.

Date
Example of custom date format. %d.%m %H:%M = the format, 60 is the update interval in seconds. You can get the format options with date --help. {{File|rc.conf|| -- {{{ Wibox -- Create a textclock widget mytextclock = awful.widget.textclock({ align = "right" }," %d.%m %H:%M ", 60) }}

Volume control
handles volume keys automaticly and shows volume level in tray icon.

Autostart volumeicon from :

Alternativly, a lightweight method is to add volume keys straight to awesome config:

MPD multimedia keys
Install to add multimedia keybindings for MPD:

Add a custom keybinding, like +, to switch to previous window: {{File|rc.conf|Volume keybindings| -- {{{ Key bindings globalkeys = awful.util.table.join( ...   -- alt + tab    awful.key({ "Mod1", }, "Tab", function awful.client.focus.history.previous if client.focus then client.focus:raise end end), }}