[[!img images/icons/aw_64_shadow.png alt="awesome logo"]]
**awesome** is a highly configurable, next generation framework window
manager for X. It is very fast, extensible and licensed under the
[GNU GPLv2 license](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html).
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.
[[!img images/screen.png alt="awesome screenshot" size="320x240"]]
# Concepts
A window manager is probably one of the most used software in your day-to-day
tasks, with your Web browser, mail reader and text editor.
Power users and programmers have a big range of choice between several tools
for these day-to-day tasks. Some are heavily extensible and configurable.
**awesome** tries to complete these tools with what we miss: an extensible,
highly configurable window manager.
To achieve this goal, **awesome** has been designed as a framework window
manager.
It's extremely fast, small, dynamic and heavily extensible using the
[Lua](http://www.lua.org) programming language.
We provide an easily usable and very-well documented API to configure and
define the behaviour of your window manager.
## Tag
Windows are grouped by tags. Each window can be tagged with one or multiple
tags.
Selecting certain tags displays all windows with those tags. Each tag can have
its own layout.
Tags can be compared to virtual desktops, but it's more powerful: you can
quickly merge and show several tags at the same time,
and go back to only one tag after.
## Layout
A layout is a function which organize windows according to the space available
on the screen.
### Tiled
With tiled layout, windows are managed in a master and a stacking area.
The master area contains the windows which currently need most attention,
whereas the stacking area contains all other windows.
The master area can be splited in several rows and column, as you want.
### Max
Each window is resized to take full screen space.
### Magnifier
All windows are stacked behind the focused window.
This one is centered in your screen and takes most of the available space.
### Floating
In floating layout, windows can be resized and moved freely, just like a usual
window manager.
Dialog windows are always managed floating, regardless of the layout selected.
## Statusbar
A statusbar is a bar which is displayed on top, bottom, left or right edge of
the screen. It contains one or several widgets.
## Titlebar
Like statusbar, but this ones are displayed around a window: top, bottom, left
or right edge or also usable.
## Widget
The widgets are contained inside statusbars or titlebars and displays
various informations in form of text, image, progress bar, graph, etc…
[[!img images/4mon.png alt="awesome running on 4 monitors" size="320x240"]]
# Features and non-features
* Very stable, fast, small and simple;
* Only window manager using asynchronous [XCB](http://xcb.freedesktop.org)
library instead of the old synchronous
[Xlib](http://en.wikipedia.org/wiki/Xlib): make **awesome** faster than
any other window manager;
* Very well documented source code and API;
* No mouse needed: everything can be performed with keyboard;
* Real multihead support (XRandR, Xinerama or Zaphod mode) with per screen
desktops (tags);
* Implement many [Freedesktop](http://www.freedesktop.org) standards:
[EWMH](http://standards.freedesktop.org/wm-spec/wm-spec-latest.html),
[XDG Base Directory](http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html),
[XEmbed](http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html),
[Desktop Notification](http://www.galago-project.org/specs/notification/),
[System Tray](http://standards.freedesktop.org/systemtray-spec/systemtray-spec-latest.html);
* Real transparency support (using Composite extension and *xcompmgr*);
* Doesn't distinguish between layers: there is no floating or tiled layer;
* Whether or not the clients of currently selected tag(s) are in tiled layout,
you can rearrange them on the fly. Popup and fixed-size windows are
automatically floating.
* Layout handling: automatically manage your windows placement according to
the chosen policy for each tag;
* Use tags instead of workspaces: allow to place clients on several tags, and
display several tags at the same time;
* A lot of Lua extensions to add features: dynamic tagging, widget feeding,
tabs, …;
* [D-Bus](http://dbus.freedesktop.org) support;
* And more.
This gonna be LEGEN... wait for it... DARY!