Comments? You can tell
me what you think or send me things through:
|
Ergonomic and Efficient Window Manager Settings
In other words: my window manager settings ;->
This webpage describes the main ideas behind
the ergonomic window manager configuration I
use and its main efficiency principles. Before proceeding, it
might be useful if you familiarized yourself with input modes
described on my page about efficient and
ergonomic text editing.
Main principles
Here are the main requirements of efficient WM settings:
- Frequent operations are quick. In other
words, you must have non-mnemonic shortcuts for common operations.
Elsewhere, I discuss efficiency of keyboard
operations. For the efficientcy of mouse operations, the
following observation is crutial. The process of pointing at
something with a mouse consists of two phases. First, a rapid
movement, which brings the mouse pointer close to the target.
Second, precise targetting. In order maximize efficiency, one of
these steps should be eliminated for most frequent operations.
The are two solutions:
- Eliminate approximate targetting. This can be
achieved by putting the target close to the mouse pointer. For
example, if a user clicks on a root area, a menu should appear
very close to the pointer. Place the most common operations
close to the initial position of mouse pointer. Automatically
moving mouse pointer to another location is confusing and not
recommended.
- Eliminate precise targetting. In other words,
make your targets as big as possible. Use big icons, assign
most common operations to big areas (whole windows or the root
area). Window buttons are to small for this purpose, window
title bars are a little better but still too small. Don't use
window frames for moving/resizing windows, they are too thin to
allow fast targetting. Besides, thick borders look bad.
Details will come later.
I am not saying that you should not use window buttons, static
menus, etc. What I am saying is that most common operations
should be (also) available through other, faster means.
- Eye friendly.
- Use dark-on-light, not light-on-dark. Have you
ever seen a book printed white-on-black? Of course not,
because your eyes would get tired much quicker. Light-on-dark
setups simply introduce too much contrast to be comfortable
for your eyes for a longer time. True, they look might look
more geeky and eye-candy (see sample Fvwm
setups), but from the ergonomic point of view they are
clearly worse. (At least clearly for me, I tried such a
setup for three months, and it didn't work for me).
- Beware of transparency. Transparency is never
good for working windows like xterm or your editor. Since the
background color is not constant any more, your eyes/brain
have more trouble focusing on and recognizing letters. Again,
transparency looks cool, but clearly tires your eyes.
- Wallpapers. I don't have any strong opinions about
wallpapers -- experience shows that you get used to them quite
quickly. (write more here ...)
- All input modes are supported.
The main idea here is to have one special modifier (Super), which
is used exclusively for window-management related operations. It
has several uses:
- Use multiple desktops. Your screen is too
small to show all your windows. The solutions are: have most of
them completely covered by other windows, have most of them
iconified, or have multiple desktops. The last solution is the
best because it helps you organizing your windows into categories.
Each category has a separate desktop. You assign these categories
are dynamically as you go. For example, at the very moment I use
three desktops: the first for mail and related webpages, the
second for this webpage (editor + webbrowser), and the third for
editing my current window manager configuration (editor, manual
page, and a window manager console). Don't worry about these
categories to much. The rule of thumb is: if you have too many
windows to fit on one screen, you are probably working on more
than one thing at the same time. Identify them, as move part of
your work to another desktop.
A good pager (a window that shows the current state of all your
desktops) is a must. The bigger and more informative the
better.
Tabs (having multiple virtual windows share the same physical one)
might also be a good idea, but I have never used in on a window
manager level. On the application level, it's great for web
browsing and editing.
- Information presented when needed. How can
you have big icons and not waste screen space at the same time?
That's simple: show the navigation information (such as xclock,
xload, your pager, and icons) only when necessary. In my setup,
they appear only when the mouse pointer has hit the south edge of
the screen (for the full-mouse-mode) or the Super key is pressed
(for all other modes).
- Window Management Automation. Firstly, setup a
good default method of placing new windows, so that they do not
overlap with others. You might also find the following functions
useful:
- Non-obstructing maximization causes the window to
grow as much as it can without overlapping with any other
window.
- Handling invisible windows. If a window is
totally covered by other windows, chances are that you will
forget about its existence. In my setup, such windows are
automatically iconified (you might also consider moving them
into a visible place first).
- Intellingent de-iconification. If after
deiconifying, a window overlaps with another one, it is moved
to a better position.
- Informative icons. Since the icons are big, they
can convey more information. Making icons actual miniatures
of the original windows is a good idea.
|