Awesome

awesome is tiling window manager that is keyboard centric. While core codebase is written in C, awesome is highly configurable using the Lua programming language, in fact, config file and libraries are written in lua. awesome was originally derived from the dwm source code after the author of awesome decided he disagreed with how dwm handled certain situations.

USE Flags

 * - Add extra documentation.
 * - Add support for dbus notifications, you want this

Installation
The normal rules apply to installing awesome, if you want to get the latest version of awesome you can add the "~ARCH" keyword to either make.conf or /etc/portage/package.keywords file (where ARCH is probably x86 or amd64). For more information, see portage. Once you are ready you can install awesome by typing the following.

When everything is done, edit your ~/.xinitrc.

If you are using a login manager, you also need to do one of the following:

Create a soft link to .xsession

Now select Xsession in your Session list at the login interface, then you can login into awesome!

Alternatly you can make awesome the system wide default session by editing /etc/env.d/90xsession and setting XSESSION="awesome"

Remember to update your environment

Login and wait for it.... Awesome!

Basic Usage
The usage of Awesome depends highly on your configuration, so we will only discuss the default usage here. Please note that you can find a comprehensive list of these instructions in the awesome man pages:

When you start awesome there isn't much to look at, so here are the basic commands ( is usually the, although in some configurations it could be . Windows key was chosen to prevent conflicts with other applications:

Viewing tags and windows

 * takes you to a different numbered tag
 * throws the current window to a different numbered tag

Moving windows

 * , move around tiled windows.
 * or move swap two windows
 * or changes the layout

Launching, starting, opening, etc

 * Starts a terminal.
 * or Runs a program, depending on the version of awesome

Exiting, closing, quitting, etc

 * closes a window
 * restarts awesome
 * quits awesome

Configuration
The gentoo ebuild ships with a default configuration in, which provides you with a working multi-desktop setup. However, you'll probably want to tweak your configuration, so head to Awesome 3 configuration on the official wiki to learn a bit about the API.

Modify rc.lua
Since rc.lua is huge, we just discuss some important part of it.

Miscellaneous
-- put a specific application in a floating window

Status Bar
The status bar can be modified by changing rc.lua in. Additionally, since awesome supports a system tray by default, just adding the name of systray app to .xinitrc will give you access to to the app, see the section Additional Configuration.

Wicked
There is a standard set of widgets, called wicked, which doesn't come with awesome by default, but is available from the matsuu overlay. See layman to read more about overlays. To get the overlay and install wicked: If this is your first overlay, you may need to install layman and add the overlays to your make.conf, again see layman.

and example rc.lua file using wicked:



Additional Configuration
You have installed Awesome on your pc (or something else :-) ), but most of you will soon find out there's almost nothing in it, the interface is very ugly, where's my theme?!Now let's add something in your xinitrc to make it fine.Of course, if you think this default interface is beautiful, you can jump over this part :-).

For gnome:

For xfce4:

You can use or  to set your GTK theme (which is the one xfce uses). As these save your setting in ~/.gtkrc-2.0, you don't need to call xfce-setting-show in your .xinitrc to load your theme and don't see a popup.

Please change this two xinitrc if you have a better one, thanks!

Testing rc.lua
Any wrong lua code (syntax error..) will result in load of default config file, so unless you know lua luanguage, save often and test your config. For syntax error checking one can use lua compiler against rc.lua or run awesome within Xnest.

Using awesome -k from another terminal may provide you useful debug output.

Crashes during certain applications
I experienced crashes when using firefox to go to certain sites, especially drudgereport.com. The cause of the problem was the need for UTF support. To fix this, make sure you locale is listed in /etc/locale.gen. For example, to use the US locale modify locale.gen to look like this:

Then run

Now that the locales are installed you just need to make sure that they are being used. To do that add the following file to /etc/env.d:

You can also set this environmental variable in your bashrc script if you want a per-user locale. More details can be found here: http://www.gentoo.org/doc/en/guide-localization.xml

Firefox window is being resized
Some sites do try to resize firefox window using javascript and this makes Awesome partially ignore layout setting. Ta avoid this, type into address bar and change (or create) option:

This can be changed also in GUI: Preferences -> Content -> [*] Enable JavaScript [Advanced <--] -> [ ] Move or resize existing windows.

Example Configurations

 * [[File:rc.lua.txt]]
 * [[File:Rc.lua.3.2.1-r3.txt‎]]

Awesome