Awesome WM

awesome wm is a window manager mostly written in lua

Basics

move / resize windows

the first problem I got is how to move/resize windows (without reading the manpage)

to move window, use mod4 + left mouse to resize window, mod4 + right mouse

on my laptop, mod4 is the win key.

other hot-keys are:

  • mod4 + m: maximize
  • mod4 + n: minimize
  • mod4 + f: fullscreen
  • mod4 + shift + c: kill
  • mod4 + shift + [1-9]: send window to tag

navigation

alt + tab not always work, the correct keys to switching between window are

  • mod4 + j: next
  • mod4 + k: previous
  • mod4 + left: previous tag (the numbers on the top)
  • mod4 + right: next tag
  • mod4 + 1-9: switch to tag 1-9
  • mod4 + esc: previous selected tag

layout

very powerful, but I need spend more time to understand it.

can also click on the top-right corner icon to switch layouts.

these hot-keys already can do some nice things:

  • mod4 + space: switch to next layout
  • mod4 + shift + space: switch to previous layout
  • mod4 + h: decrease width by 5%
  • mod4 + l: increase width by 5%
  • mod4 + ctrl + space: toggle floating status

(use mod4 + m to un-maximize window when it is maximized by layouts)

I super love the magnified layout: working window in center, center window changed when navigating with mod4 + j / mod4 + k, can also click on windows in the background to bring it to center, very useful.

run command

alt-f2 is the hot-key to run commands under gnome-flashback, I use it a lot.

so the first thing I need to find out is the hot-key to run commands: mod4 + r

once you pressed, there's a tiny little Run: input box appears on the top bar. (support tab completion)

run terminal

mod4 + enter will spawn a new terminal emulator.

Customize

first create a local rc.lua:

$ mkdir -p ~/.config/awesome
$ cp /etc/xdg/awesome/rc.lua ~/.config/awecome/
then you can customize awesome wm by editing rc.lua

after you saved, restart awesome by click the menu or mod4 + ctrl + r (won't kill your running windows)

enable title bar

find this line and set it to true

local titlebars_enabled = false

below this line are settings for the titlebar, I'll move close button to the most left hand side for example.

set default layout

search local layouts =, there're list of layouts enabled.

commit the line to disable the layout, and put one you like to first line to be the default layout.

open window at slave

by default, open new window will replace your master, find this line and un-comment it will solve this problem:

-- awful.client.setslave(c)

mod4 + shift + j to move it to master

disable focus window on mouse over

find this comment and disable the block

-- Enable sloppy focus
in lua, disable block of code by wrapping it by –[[ and ]]–

volume control

volume keys are not working under awesome wm, I followed this guide: Volume control and display to make them work.

(you'll need to paste codes to different places in rc.lua, just append codes to rc.lua causes errors)

network widget

I'm using nm-applet, append this line to rc.lua:

awful.util.spawn_with_shell("pgrep -u $USER -x nm-applet > /dev/null || (nm-applet &)")

another one is more native Net widgets

Apps

file manager

nautilus will start a desktop process, seems not easy to disable it.

thunar has some xfce dependency, not like it either.

I use pcmanfm for now, quite good.

(actually I'm also using midnight commander, but it doesn't work well with smb://)

Resources

Search Blog: