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 :

Starting
To start awesome you can use a display manager or startx.

If want to use startx and want ConsoleKit support, setup ConsoleKit and create the following file:

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:

Add wallpaper:

For instance, if you use awsetbg to set your wallpaper, you can write in the theme.lua page that you just selected:

theme.wallpaper_cmd = { "awsetbg -f .config/awesome/themes/awesome-wallpaper.png" }

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

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|Alt-TAB keybinding| -- {{{ 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), }}

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.

User configuration files
User Configuration Files at awesome wiki