Athena Scrollbars: Why people love them
Many applications, e.g. xterm, xman, xdvi, ghostview and xrn use the
Athena widget set.
The Athena widget set is favoured by many users because of its
highly functional scrollbars. Unfortunately, many more users have not
noticed the benefits of this interface even after using it for many
years. So here's a short introduction (for vertical scrollbars and
right-handed mice; I assume you are smart enough to figure out the
other cases if you need them):
- The middle mouse button
- is known by most: When you press it in
the scrollbar, it moves the scrollbar such that its top is where the
mouse points. Dragging up and down moves the scrollbar accordingly.
The content of the window moves proportionally to the scrollbar
movement. This is the usual stuff.
- The left mouse button
- When you left-click in the scrollbar, the
content of the window that is at the height of the mouse moves to the
top of the window. So, if you want some line to move to
the top, you move the pointer in the scrollbar right beside the line
and press the left mouse button; if you want to scroll a windowfull
downwards, you move the pointer to the bottom of the scrollbar and
press the left mouse button; for half a window, you do it in the middle;
and for only a tiny bit, you do it near the top.
- The right mouse button
- scrolls up as much as a
left-click scrolls down. E.g., for scrolling up a full screenful, you
right-click at the bottom of the scrollbar. To undo an overeager
scrolldown you just right-click at the same place (and vice
versa). Unfortunately there is no direct visual way to scroll a
particular line down to the bottom.
The main benefits are that you can scroll the exact amount that you
want (at least downwards) and that you can switch scrolling direction
without moving the mouse (which, among other things, makes it easy to
undo a scroll).
GNU Emacs apparently does not use the Athena widgets, but has
implemented Athena functionality in its scrollbars (the first and
sufficient reason why I prefer it over Xemacs).
Related links
- Hands
across the screen: A paper by Alan Dix that discusses some
problems in scrollbar design (none them affect Athena scrollbars) and
history.
- libsx,
the Simple X library is built on Athena widgets and aims to make user
interface programming simpler.
- Another simplified way to program Athena (or other) widgets is wafe.
- Why I hate Motif. Of course for its scrollbars!
Anton Ertl