Home

Awesome

Taowm is The Acutely Opinionated Window Manager. It is a minimalist, keyboard-driven, low distraction, tiling window manager for someone who uses a computer primarily to run just two GUI programs: a web browser and a terminal emulator.

INSTALLATION

To install taowm:

  1. Install Go (as per golang.org/doc/install or get it from your distribution).
  2. Run go get github.com/nigeltao/taowm.

This will install taowm in your $GOPATH, or under $GOROOT/bin if $GOPATH is empty. Run go help gopath to read more about $GOPATH.

Taowm is designed to run from an Xsession session. Add this line to the end of your /.xsessionfile:

/path/to/your/taowm

where the path is wherever go get or go install wrote to. Again, run go help gopath for more information.

Log out and log back in with the "Xsession" option. Some systems, such as Ubuntu 12.04 "Precise", do not offer an Xsession option by default. To enable it, create a new file /usr/share/xsessions/custom.desktop that contains:

[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession

USAGE

Taowm starts with each screen divided into two side-by-side frames, outlined in green. Frames can frame windows, but they can also be empty: closing a frame's window will not collapse that frame. The frame that contains the mouse pointer is the focused frame, and its border is brighter than other frames. Its window (if it contains one) will have the keyboard focus.

Taowm is primarily keyboard-driven, and all keyboard shortcuts involve first holding down the Caps Lock key, similar to how holding down the Control key followed by the 'N' key, in your web browser, creates a new browser window. The default Caps Lock behavior, CHANGING ALL TYPED LETTERS TO UPPER CASE, is disabled.

To quit taowm and return to the log in screen, hold down Caps Lock and the Shift key and hit the Escape key three times in quick succession. Normally, this will quit immediately. Some programs may ask for something before closing, such as a file name to write unsaved data to. In this case, taowm will quit in 60 seconds or whenever all such programs have closed, instead of quitting immediately, and the frame borders will turn red.

Taowm prevents new windows from popping up and 'stealing' keyboard focus, a problem if the password you are typing into your terminal emulator accidentally gets written to a chat window that popped up at the wrong time. Instead, if there isn't an empty frame to accept a new window, taowm keeps that window hidden (and marked with an '@' in the window list) until you are ready to deal with it. If there are any such windows that have not been seen yet, the green frame borders will pulsate to remind you. Selected windows are also marked with a '#'; selection is described below.

A screen contains workspaces like a frame contains windows.

Taowm also provides alternative ways to navigate within a program's window.

Taowm provides similar shortcuts for other common actions.

CUSTOMIZATION

Customizing the keyboard shortcuts, web browser, terminal emulator, colors, etc., is done by editing config.go and re-compiling (and re-installing): run go install github.com/nigeltao/taowm.

DEVELOPMENT

When working on taowm, it can be run in a nested X server such as Xephyr. From the github.com/nigeltao/taowm directory under $GOPATH:

Xephyr :9 2>/dev/null &
DISPLAY=:9 go run *.go

TROUBLESHOOTING

If taowm isn't working, error messages should be logged to the $HOME/.xsession-errors or $HOME/.xsession-errors.old files.

DISCUSSION

The taowm mailing list is at groups.google.com/group/taowm

LEGAL

Taowm is copyright 2013 The Taowm Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.

SCREENSHOTS

Taowm is deliberately plain. It starts with each screen divided into two side-by-side frames:

screenshot

After opening a web browser window, splitting the right frame vertically, and opening a terminal emulator, it could look like this:

screenshot