Sunday, June 17, 2012

Everyday use of Awesome WM

I recently tried out awesome, and I was a huge fan of it. It provides the type of keyboard control that I sought since switching between the keyboard and the mouse is inefficient. Also, constant movement between the keyboard and mouse can wear one down after a long session of computing, so awesome window manager introduces a whole new level of comfort and laziness. The mouse still plays an important part in the usage, but it is a sidekick to the power of the key commands. The one thing that I noticed was that the window manager had a pretty high learning curve. I needed to take some physical notes on how to use it. I ran into a few problems, too, but I overcame them. Here is how I did that.

General Usage
Something that I used to use a whole bunch in XFCE was the session management that would start some programs as soon as I logged in. I liked Clementine, Thunderbird, and GNU emacs to start as soon as I began an XFCE session. In awesome this was a bit harder. I had to manually edit the rc.lua configuration file in /etc/xdg/awesome/rc.lua. I added this to the bottom:

-- Autorun programs
autorun = true
autorunApps = 
if autorun then
   for app = 1, #autorunApps do
I did this in gedit with the command "gksudo gedit /etc/xdg/awesome/rc.lua". If this type of configuration scares you, Awesome may not be for you. Awesome is all about configuring the window manager to act just like you want it to with LUA. I do not know LUA, but I still find myself editing the configuration file quite often.

Everyday Things
When I first logged into Awesome, I struggled to find out how to even launch an application. Then I found out about the right-click menu. From there I launched a web browser and found out about win+r. This is the first of the key combinations that I learned. The super, or as it is sometimes called "win" key acts as a controller over the window manager. Win+r will open a prompt that says "run" at the top. Just type the name of a program you want. Important: The Run dialog supports tab completion, so you only need to type the first few letters and then tab.
To launch a terminal, Win+r does the trick. Launch as many terminals as you want. You will notice a weird arrangement of windows. This is because Awesome is a dynamic window manager, meaning it has quite a few layouts. I highly recommend the main-left tiling. To change what layout awesome uses, use win+space or the icon at the very top right side of the screen. The one that I use has the icon of two blocks on the left and 6 on the right. This will have one main window on the left and the rest stacked on the left side of the screen. To switch which window is the main one, focus another one by hovering over it with the mouse, using the window list at the top, or using win+j or win+k. Then, use win+ctrl+enter.
If you grow tired of a Window, minimize it with win+n. If you want the window window to maximize to the whole screen you can usually use win-m. An angelic figure will appear to the right of the maximized window on the window list.
If you used to use Unity, Gnome, XFCE, LXDE, or KDE you are probably familiar with the idea of Desktops or Workspaces. Awesome has tags that can be moved to with the mouse or Win+number 1-6 (win+6 would move to tag 6). These work in the same way.
rc.lua can literally be edited to do anything that a Window manager can. Here are some important parts of the config:
Line 55: Change which layouts are moved through with Win-Space
Line 219: Some keybindings
Awesome can be themed quite easily. At the top of rc.lua, add beautiful.init("path_to_theme_file")

I haven't come across many. One is controlling the sound. I was able to do this with a custom keybinding, but for a while I used a terminal with alsamixer in it. On "The Linux Action Show", one of the people stated that they would log out, log into XFCE to change the volume, and log back into Awesome. This is really not necessary.
This is the fastest WM I have ever used. It boots in about 3 seconds (literally) and is great with working with text. I have heard that it has AMAZING multiple monitor support with their 9 tags, but I cannot confirm this as I only use one. The thing window border makes great use of screen real estate.

No comments:

Post a Comment