hn-classics/_stories/2002/13914207.md

37 KiB

Source

freshmeat.net: Themes - The Antidesktop

Wayback Machine

success

fail

| ----- | | |

| Nov | DEC | Feb |
| Previous capture | 01 | Next capture | | | | 2001 | 2002 | 2003 |

|
|

36 captures

01 Dec 2002 - 29 Jan 2018

| [

][9] |

[ About this capture][10]

COLLECTED BY

Organization: [Alexa Crawls][11]

Starting in 1996, [Alexa Internet][12] has been donating their crawl data to the Internet Archive. Flowing in every day, these data are added to the [Wayback Machine][13] after an embargo period.

Collection: [Alexa Crawls DO][14]

Crawl data donated by Alexa Internet. This data is currently not publicly accessible

TIMESTAMPS

![loading][15]

| ----- | | ![][16] |
|    [OSDN:][17] [Our Network][18] - [DevChannel][19] - [Newsletters][20] - [Advertise][21] - [Shop][22]    | SEARCH:  | All OSDN Sites ----------- freshmeat DevChannel Linux.com LinuxGram NewsForge OSDN.com OSDN PriceCompare Slashcode Slashdot SourceForge.net   |    | |
| ![][16] | | | | | | ![][16] |

| ----- | | ![fmII][23] |

| ![][24]
|

| ----- | | ![Click Here!][25]
|

|

| ----- | | ![][16] |

| ----- | | [Sun, Dec 01st][26] | ** [home][27] | [browse][28] | [articles][29] | [contact][30] | [chat][31] | [submit][32] | [faq][33] | [newsletter][34] | [about][35] | [stats][36] | [scoop][37] ** | 15:07 PST |

| ----- | | ![][16] |

| ----- | | Search for in projects articles comments | Section Main Software Palm Themes | [login][38] «

[register][39] «
[recover password][40] «
|

| ----- | | ![][16] |

| ----- | | [ [Article] ][41] | [add comment][42] | [ [Article] ][41] |

| ----- | | ![][16] |

| ----- | | ![][16] |

| ----- | | ![][16] |

![][43]  The Antidesktop
 by [jeff covey][44], in [Themes][45] - Saturday, October 12th 2002 00:00 PST

Over the years, I've used 4Dwm, Afterstep, Blackbox, Enlightenment, FVWM, Icewm, KWM, PWM, Sawfish, Window Maker, and wmx, and played with many other window managers. I used Window Maker more than any other, but generally would only stick with one for a couple of months before getting restless and trying something else. Finally, though, I settled on a setup I've used exclusively for over a year. It's decidedly not for everyone, but may be of interest to some.


Copyright notice: All reader-contributed material on freshmeat.net is the property and responsibility of its author; for reprint rights, please contact the author directly.


Here's a screenshot of what I see after I type "startx":

![Boring screenshot][46]

Thrilling, no?

Let's go into what you're not seeing behind this simple facade.

The Components

screen

[screen][47] has long won my vote for "Most Undercelebrated Unix Tool". I'm amazed at the number of people I've met at LUG meetings who have never heard of it. I'll quote the description of it from our listing:

Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells. Each virtual terminal provides the functions of the DEC VT100 terminal and, in addition, several control functions from the ANSI X3.64 (ISO 6429) and ISO 2022 standards (e.g., insert/delete line and support for multiple character sets).

When you log onto a system and run screen, a window is created with a shell in it. You can create any number of other windows and switch back-and-forth between them. screen stays out of your way unless you hit its control key (^A by default). "^A c" creates a new window. "^A n" and "^A p" move to the next and previous windows. "^A w" gives a list of the current windows and shows which you're in. "^A 3" moves to the third window, etc. ("^A a" gives a literal "^A".)

This is especially useful if, for example, you need to log onto your university's system and perform multiple tasks there. You can read mail in one window, chat on IRC in another, edit your project in other, compile it in another, etc.

Perhaps the best feature of screen is that it lets you detach and reattach sessions. When it's time to leave home, you can hit "^A d" to detach the session, and log out. All your processes will continue to run. Drive to school, log in, type screen -D -R, and your session will reattach itself, and you can continue right where you left off. Log out and go to class, and reattach there. Go over to a friend's house, and reattach there. You can have your text mode "desktop" running all the time, with everything laid out as you like it, and connect to it from anywhere, as GUI people do with VNC.

You can set your desktop up in your ~/.screenrc so you don't have to start all your applications every time. Mine looks like this:

startup_message off

screen -M -t root  0 su -
screen    -t mail  1 mutt
screen    -t emacs 2 xemacs -nw -e gnuserv-start
screen    -t irc   3 epic4
screen    -t yahoo 4 centericq
screen    -t mixer 5 aumix
screen	6
screen  7
screen  8
screen  9
screen 10

select 1

If I don't already have a screen session running, all I have to do is type screen, and my 11 windows are created for me. I'm dropped into the first one so I can read my mail while my other apps start in the background, log me onto IRC, etc. Depending on your needs, you could have other windows tailing log files (and monitoring them to alert you to activity (-M)), logging you on to other servers, etc.

screen has a huge feature set. It can log windows to files, can split a session between multiple terminals, will let you copy and paste between windows using only the keyboard, and is rumored to be surprisingly effective against the heartbreak of psoriasis. Just take a look at its man page or info documentation to get an idea of its scope.

ratpoison

Now that you understand screen, we can talk about the window manager which unobtrusively displays itself in the screenshot above, [ratpoison][48]. ratpoison is:

... a simple window manager with no large library dependencies, no fancy graphics, no window decorations, and no rodent dependence. It is largely modeled after GNU Screen, which has done wonders in the virtual terminal market. All interaction with the window manager is done through keystrokes. ratpoison has a prefix map to minimize the key clobbering that cripples EMACS and other quality pieces of software. All windows are maximized and kept maximized to avoid wasting precious screen space.

As screen handles text windows, ratpoison handles GUI windows. Each window is the same size, the size of the screen. There are no title bars, no minimize buttons, none of the clutter that's needed by a mouse. [Mozilla][49] looks like this:

![Mozilla][50]

You can do fancier split screens to make several applications visible at once:

![Three apps at once][51]

, but I don't bother. I want each program to have all the room it can.

ratpoison stays out of the way until you hit its control key (I set it to ^O because "a" and "o" are next to each other in my keyboard layout). "^O w" gives me a list of the current windows. "^O 1" takes me to the first one. "^O ^O" switches me back to the one I used most recently. "^O n" and "^O p" take me to the next and previous ones. "^O k" closes the current window. "^O !" brings up a prompt in which I can type a command to start a program; I find "^O ! [cbb][52]" to be much faster than hunting through menus.

As you would expect, ratpoison is lightning fast and perfectly stable.

Applications

My main application is a gnome-terminal running screen. I use gnome-terminal because it's easily configured to use good fonts, a bright color scheme, and no scrollbar, menu bar, etc. Looking at it over my shoulder, you'd think I was running at the console instead of in X.

I put as much of my activity as possible into this single gnome-terminal. Often, I'm running nothing but this, Mozilla, and maybe [XMMS][53] (which I only use because I'm too lazy to find a console MP3 player which deals well with my lousy fixed-rate sound card).

I do almost everything in console apps. [EPIC4][54] and [centericq][55] handle IRC and instant messaging. mutt handles my mail. The amazing [w3m][56] is used for most of my freshmeat work, as it's infinitely better-suited than Mozilla for dealing with text on the Web (typing in Mozilla can't compare with the ability to dump text from a textbox into a real editor for processing). Both use [XEmacs][57]1][58 through gnuclient. gnuclient allows me to call the already-running XEmacs on screen 2 to edit some text. Using the same XEmacs session over and over again leads to several good features. For example, the kill and yank ring continues across sessions. I can kill text from a text box in w3m, switch to mutt, start a message, and yank the text into the message.

Advantages

Why have I settled into this system, and what benefits do I gain from it? I take advantage of the best of both the X and console worlds. I get the graphical abilities of X without all the clutter that usually attends it, and I can work much more quickly and with less strain on my hands because I don't have to use a mouse.

Simplicity

At any moment, my screen is devoted to only one thing. As I type this, all I see is XEmacs showing this buffer. Since I can only see what I'm working on at this moment, I have to make the choice to go to something else. I can't be distracted by text in an [X-Chat][59] window behind this one, or by buddies appearing and disappearing in the [Gaim][60] window in the corner. If someone messages me, centericq will play a sound; I don't need to watch IM obsessively. If I'm distracted, it's because my mind is distracted by a thought of something else, not because of a flash of color in the periphery of my vision.

Since there's nothing to tweak, I'm not tempted to endlessly fidget with my windows and reconfigure my window manager, moving this window a bit to the left and that one to desktop two instead of four. I don't get bored with a theme and spend 45 minutes looking for a new one.

Clarity

Every application takes up the entire screen, and I can use large fonts to reduce eye strain. Mozilla has the full width and height of my screen, and if I have to scroll horizontally, it's the site author's fault, not mine.

Flexibility

When I'm home, I do all my work on my laptop, which runs as an xterminal connected to my more powerful desktop machine. I like being able to move the laptop from place to place. The desktop's monitor is only used for watching DVDs.

Since all my processes are running on the desktop, if something goes wrong with my laptop, I can reattach my session on the desktop and go on working. Since I don't rely exclusively on GUI applications, if something goes wrong that prevents me from running X, if I'm placed in an environment in which I can't run X, or if I want to persist in my untested but heartfelt belief that not running X saves battery life, I can be happy with the console.

When I leave home and run my laptop independently, I use the same X system on it. Before leaving, I turn off mail delivery and run a script that rsyncs /var/www and /home/jeff to the laptop. I detach and go. If, while I'm on the road, I want to check the status of a job I left running at home, I can ssh back and reattach my home session. When I get home again, I turn off mail delivery on the laptop, rsync back to the desktop, reattach the desktop session, and push on.

Stability

Given the choice, ratpoison would run forever. I don't worry about my window manager locking up, crashing X, or displaying random strange behavior.

More importantly, it doesn't even matter if X does take a dive. All my applications are still running in screen. I can hit ctrl-alt-bksp, run startx again, type screen -D -R in gnome-terminal, and the session will reattach. I can go on like nothing happened.

In fact, it doesn't matter if the whole computer shuts down. Sometimes, I don't notice that the cat has knocked the laptop's power cable loose again2][61, and suddenly see it suspending to disk. No problem; I bring it back up, reconnect it to the server, and reattach the screen session that's happily continued to run there all the time.

If a tree falls on the server, my processes will go down with it, but I can't help that. There has to be some point of failure, eventually.

Obscurity

I won't call it genuine security that would protect from a malicious attack, but there is an element of obscurity to the system that can protect from a friend who wants to play a practical joke when I walk away. I keep xlock on "^O x", but even if I step away from the keyboard without locking it, someone stepping in tends to be confused by a screen that shows no "close" buttons and a keyboard set to [Dvorak][62].

Conclusions

The desktop metaphor has its place. It may even be essential for people who don't want to understand what's happening beneath their computer's GUI surface. If you do know how to use your computer without pointing and clicking, consider that you have the option to dispense with the metaphor, and may find yourself more productive if you do. You can have the ability to run all the graphical applications you need without the clutter of a root window full of icons hidden under layer upon layer of windows.

This isn't for everyone, even among the digerati. An artist may have a genuine need to have several windows of images in view at once. For someone like myself who works in text, I find it an excellent system. If something like this would be a good fit for you, I hope you've found this description useful.

In closing, I'll admit to a certain impish glee in putting this article in the themes area of our articles section. In a sense, it belongs because it's a description of how I "theme" my desktop. In a more legitimate sense, it should be thrown out because there is no "desktop" in my system, and nothing to theme. Try to troll gently in the comments.

Footnotes

  1. Ummm... Why not just [Emacs][63], if you're not using its GUI mode anyway? I used to use [VM][64] to read mail, and there was a time when the then-current version of VM would run on XEmacs but not Emacs. I switched, enjoyed the color support on the console (not a feature of Emacs at the time), and just never got around to switching back.
  2. I don't have a comment on this; I just don't like having only one footnote.3][65
  3. There, that's better.

Author's bio:

When he's not cracking the whip on the freshmeat staff or trying to figure what contributors are trying to tell him, you'll find jeff covey hanging around [http://pobox.com/~jeff.covey/][66].


T-Shirts and Fame!

We're eager to find people interested in writing articles on software-related topics. We're flexible on length, style, and topic, so long as you know what you're talking about and back up your opinions with facts. Anyone who writes an article gets a t-shirt from [ThinkGeek][22] in addition to 15 minutes of fame. If you think you'd like to try your hand at it, let [jeff.covey@freshmeat.net][67] know what you'd like to write about.

add comment[42]

|

![][43]  Referenced categories

[Topic :: Desktop Environment][68]
[Topic :: Desktop Environment :: Theme][69]

|

![][43]  Referenced projects

[centericq][70] - An ncurses-based IM client for ICQ2000, Yahoo!, AIM, MSN, IRC, and Jabber.
[EPIC4][71] - An ANSI-capable textmode IRC client.
[ratpoison][72] - A window manager that lets you say good-bye to the rodent.
[screen][73] - A window manager that multiplexes a physical terminal.
[w3m][74] - A pager/text-based WWW browser.
[XEmacs][75] - An internationalized text editor.

|

![][43]  Comments

[»] Not for everyone, but...
by [Devin de Gruyl][76] - Nov 8th 2002 13:37:45

After reading about this setup, I was intrigued enough to give it a try for myself. Overall I think it's a good option if you work primarily with console applications (although in that case, why you'd want to use X at all is something of an open question) or if you like to have your apps full-screen.

There are a few things about ratpoison that I don't particularly care for, unfortunately. One is that EVERY window that can be resized, is automatically set to full-screen - even transient ones such as GTK file selectors. The GIMP is rendered all but unusuable, because you have to switch to the full-screen toolbox (which looks as awkward as it sounds). And even applications that can normally be moved without need of a window manager's titlebar, such as XMMS, are forever stuck dead-center in the screen.

On the other hand, if you don't normally use GUI apps such as these, this setup can be just the no-frills desktop you're looking for. The combination of screen, ratpoison, and gnome-terminal gives the console fan the economy sized, mouse-enabled workspace he or she has been craving, without having to dicker with messy SVGATextMode and gpm configurations. And since it is running under X, it isn't necessary to sacrifice the ability to use GUI apps when the need or mood strikes. In that respect, it's a best-of-both-worlds approach.

Although I'm typing this right now using Galeon, most of my work in this setup is done using the console apps running under screen. I use mutt for mail reading, jstar for text editing (I'm really getting to love the WordStar command set!), epic4 for IRC chatting, links for browsing (though I'm thinking of trying w3m just to see what the fuss is about), TinyMUCK for those rare times when my travels take me to MU* territory, mpg123 for tunes, slrn for Usenet, and sc (a nice console spreadsheet program) for various mathematical chores. Graphically, Galeon is my GUI browser of choice, and I also use OpenOffice, gqview, pan, and evolution for various purposes - all of which work very well as fullscreen apps. However, when I have to use something like The GIMP, it's back into Fluxbox I go; the way ratpoison handles GIMPing is just plain not for me.

This combination certainly isn't for everyone, but if you find yourself using xterms more often than not for certain tasks, you may find it a fun change of pace. I consider myself a confirmed "GUI junkie," but this setup may convert me to the Dark Side yet... ;^)

reply[77] top[78]


[»] Re: Not for everyone, but...
by [Devin de Gruyl][76] - Nov 8th 2002 13:42:59

TinyMUCK for those rare times
when my travels take me to MU*
territory,

Oops. I meant to say TinyFugue, not TinyMUCK (which is a Windows MU* client). Sorry 'bout that... I'm always getting the two program names mixed up.

reply[79] top[78]


[»] eschewing X altogether
by [Scorify][80] - Oct 31st 2002 15:47:42

I never knew so many people thought the same way as I do about desktops until reading this article and its comments! screen sounds like a must-have app.

My current setup eschews X altogether. I use svgatextmode to set my text-mode linux console to be 180 lines by 80 columns. And I modify inittab to spawn 15 terminals.

At that point ALT-F1 to ALT-F12 switch quickly between all my terminals. I also use ALT-left and ALT-right to get to 13-15 (which are used for less-often accessed apps).

w3m for web browsing, groovycd for cd's and splay for mp3's (mpg123 has problems with some mp3's). emacs for editing. mutella for gnutella p2p. lftp for ftp.

copy-and-paste is handled with gpm.

I've had the same experience of switching from desktop to desktop, with WindowMaker and BlackBox being the most favored. But I'd say this configuration has been my most productive.

reply[81] top[78]


[»] Ratpoison && detaching X11 like 'screen does
by [Mike Hanulec][82] - Oct 21st 2002 11:38:11

Hi..

I read this Parg:

"Since all my processes are running on the desktop, if something goes wrong with my laptop, I can reattach my session on the desktop and go on working. Since I don't rely exclusively on GUI applications, if something goes wrong that prevents me from running X, if I'm placed in an environment in which I can't run X, or if I want to persist in my untested but heartfelt belief that not running X saves battery life, I can be happy with the console."

but I don't think Ratpoison can do this.... as something else, like 'xmove', is required. Please correct me if I'm wrong.

-Mike
GNU Screen user since '98

reply[83] top[78]


[»] Re: Ratpoison && detaching X11 like 'screen does
by [peter mutsaers][84] - Nov 9th 2002 03:23:12

but I don't think Ratpoison can do
this.... as something else, like
'xmove', is required. Please correct me
if I'm wrong.

Ratpoison, nor any window manager can do this. X clients connect directly to the server (i.e. your screen). If the screen detaches, all clients loose their connection thus are terminated.

The (only) solution is to use a special X server. vnc is one such server, that offers a remotely controllable desktop on one side (for your screen) and an X server on the other side. Thus if your screen detaches, the X server with all its X clients continues to run. See [tightvnc][85].

reply[86] top[78]


[»] One size does not fit all
by [foobarfoo][87] - Oct 18th 2002 20:37:01

ratpoison looks like a neat toy... and if, like the author of this article, you're mostly running non-gui apps, it's fine

i love screen and have used it for many years, but i would never limit myself to it's capabilities. ratpoison sounds like screen with a little extra gui, and for me that's just not nearly enough.

allow me to sing the praises of other, more full featured window managers and gui apps..

first, i like having gui apps opened on the screen at the same time, and seeing them all... for example, i use gkrellm, which gives me cpu/disk/net stats at a glance (no keystrokes necessary)... my volume widget is there, as are my most frequently used apps in a button bar... as with ratpoison, there's no need to hunt through menus to get at any of these functions, but there's also no need to type any commands whatsoever... they're all just a click away

having a pager on the screen also makes it obvious which apps are where, which is a great improvement on the screen convention of cycling through screens to get to your app, or having to use cumbersome naming and keystroke combinations... screen is all fine and good for a few apps, but when you exceed that number it starts to get a bit unwieldy... which is one of the reasons i also have a couple of terminals open... most of my work is done in the normal, green, user terminal... with the red terminal reserved for root actions. i have no need for these terminals to be the width of my full 1600x1200 screen... i'd rather use the extra real estate to have two or more apps on the screen at the same time, which usually means gvim + 2 terminals (and the gkrellm, buttonbar, volume, pager and icon box which are sticky on each screen, but those take up minimum real estate)

opera takes up nearly a full window, just as you have with ratpoison, as i like to use tabs instead of free-floating windows, but i don't give up the rest of my windowing features to do this

in short, ratpoison may be alright as a lightweight window manager, but it comes up lacking for a power user... now vnc seems to be a much better screen compliment, as it allows you to detach and reattach your window session just as you do with screen itself... and i might just be taking a look at it or tight vnc next

reply[88] top[78]


[»] evilwm - another good minimal wm
by [wayne][89] - Oct 18th 2002 17:41:58

There's also [evilwm][90] which, for some, may well be that 1-pixel border no-nonsense keyboard-controlled wm you are looking for.

I don't know why Ciaran called it evilwm. He should have called it goodwm. :)

reply[91] top[78]


[»] UI Design with Blinders
by [Gre.g][92] - Oct 17th 2002 22:03:55

what is it with all these "minimalist" window managers that
aren't any different from other windowmanagers? Ratpoison
is the closest I've seen to what I would want, but i don't want
to actually lose the ability to use multiple windows at the
same time and place them where I want. I just want to lose all
the extraneous bs that every wm these days insists on
plastering all over the screen. Title bars, 3d animated borders
to drag, and on and on. All I want is a modern
windowmanager that supports modern features like gnome
and kde but has a theme that's close to my current twm
setup. No title bars, 1 pixel borders that I can drag to move
or resize. Even the minimalist themes for e, sawfish, etc, all
seem to be nothing more than playing with colours and
background tiles and not actually rethinking whether all this
crud is really necessary.

reply[93] top[78]


[»] Re: UI Design with Blinders
by [Mary Poppins][94] - Oct 18th 2002 08:43:11

% Even the minimalist themes

for e, sawfish, etc, all
seem to be nothing more than playing
with colours and
background tiles and not actually
rethinking whether all this
crud is really necessary.

I run sawfish with all frames, decorations, etc. turned off, and move with alt-left-drag and resize with alt-right-drag. alt-middle brings up the WM menu for anything else (mostly the rare force-close op).

;
; resize and move a la WindowMaker
;
(unbind-keys window-keymap "W-Button3-Click1")
(bind-keys window-keymap "W-Button3-Move" 'resize-window-interactively)

;
; remove all window decoration
;
(add-frame-style 'no_frames (lambda (a b) nil-frame))
(custom-set-variable 'default-frame-style 'no_frames)

reply[95] top[78]


[»] Add my vote for screen
by [ndiff][96] - Oct 16th 2002 16:47:19

I've been running most of my world inside
screen for a few years now. Even with
its warts, the advantages are a win.

Generally I have two windows: a screen
terminal and a tabbed browser. Sometimes
I forego the graphical browser and use
lynx instead. With emacs, pine, mutt, etc
one hardly needs a heavy GUI for most daily
tasks.

Ratpoison looks like it deserves some
consideration. It seems no matter how fast
of a system I get the latest KDE/Gnome install
is there to make startup run slower than my
previous CPU.

reply[97] top[78]


[»] konsole full-screen mode
by [Reid Ellis][98] - Oct 16th 2002 13:51:19

My monitor looks like yours a lot of the time because I run Konsole with mutliple terminals, running full-screen. I love the shift-left-arrow/shift-right-arrow keys for switching, and can set custom backgrounds, etc. Of course this lacks screen's session-handling functionality, so I am going to investigate that. I hope the keys can be reconfigured, though. I don't want to learn yet another set of keys for switching contexts.

reply[99] top[78]


[»] Re: konsole full-screen mode
by [Mary Poppins][94] - Oct 18th 2002 08:49:11

Of course this lacks
screen's session-handling functionality,
so I am going to investigate that. I
hope the keys can be reconfigured,
though. I don't want to learn yet
another set of keys for switching
contexts.

screen's session-handling is a super-fantastic feature, especially if you do your job both at home and at the office. I run a screen session on my NetBSD box in my cube, and when I'm at home I can ssh in and connect to it, and I'm right where I left off! No VPN software needed, no more forgetting what it was that I was up to.

You needn't worry about screen's configurability. It's very configurable, though not as much as, say, sawfish or emacs, which embed script interpreters. If you just want to set custom bindings, you can certainly do that. I have alt-number set to jump to the corresponding screen, to match galeon and gaim's tab-switching bindings. It's super-fantastic. :)

reply[100] top[78]


[»] Re: konsole full-screen mode
by [Mary Poppins][94] - Oct 18th 2002 16:00:58

I have alt-number
set to jump to the corresponding screen,
to match galeon and gaim's tab-switching
bindings. It's super-fantastic. :)

The .screenrc snippet is as follows, with replaced by the literal character my terminal interprets from that keyboard combo:

^T is the escape

bindkey "

[9]: [10]: http://web.archive.org#expand [11]: https://archive.org/details/alexacrawls [12]: http://www.alexa.com/ [13]: http://web.archive.org/ [14]: https://archive.org/details/alexa_do [15]: http://web.archive.org/static/images/loading.gif [16]: http://web.archive.org/web/20021201230839im_/http://images.freshmeat.net/pixel.gif [17]: http://web.archive.org/web/20021201230839/http://www.osdn.com/ "The Open Source Development Network" [18]: http://web.archive.org/web/20021201230839/http://www.osdn.com/gallery.pl [19]: http://web.archive.org/web/20021201230839/http://devchannel.org/ [20]: http://web.archive.org/web/20021201230839/http://www.osdn.com/newsletters/ [21]: http://web.archive.org/web/20021201230839/http://www.osdn.com/advertise/ [22]: http://web.archive.org/web/20021201230839/http://www.thinkgeek.com/ [23]: http://web.archive.org/web/20021201230839im_/http://images.freshmeat.net/logo-palm.gif [24]: http://web.archive.org/web/20021201230839im_/http://fm-images.osdn.com/Freshmeat/pc.gif?articles/view/581/,103878403 [25]: http://web.archive.org/web/20021201230839im_/http://fmads.osdn.com/banner/sfos2131en.gif?103878403 [26]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/today/ [27]: http://web.archive.org/web/20021201230839/http://freshmeat.net/ [28]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/browse/ [29]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/articles/ [30]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/contact/ [31]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/chat/ [32]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-project/ [33]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/faq/ [34]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/newsletter/ [35]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/about/ [36]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/stats/ [37]: http://web.archive.org/web/20021201230839/http://poocs.net/ [38]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/login/?url=%2Farticles%2Fview%2F581%2F [39]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/register/ [40]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/my/lost-password/ [41]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/articles/view/581/ [42]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/articles/581/ [43]: http://web.archive.org/web/20021201230839im_/http://images.freshmeat.net/button.gif [44]: http://web.archive.org/web/20021201230839/http://freshmeat.net/~jeffcovey/ [45]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/articles/section/themes/ [46]: http://web.archive.org/web/20021201230839im_/http://images.freshmeat.net/editorials/antidesktop/antidesktop-01-thumbnail.png [47]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/screen/ [48]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/ratpoison/ [49]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/mozilla/ [50]: http://web.archive.org/web/20021201230839im_/http://images.freshmeat.net/editorials/antidesktop/antidesktop-02-thumbnail.png [51]: http://web.archive.org/web/20021201230839im_/http://images.freshmeat.net/editorials/antidesktop/antidesktop-03-thumbnail.png [52]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/cbb/ [53]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/xmms/ [54]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/epic/ [55]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/centericq/ [56]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/w3m/ [57]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/xemacs/ [58]: http://web.archive.org#footnote1 [59]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/xchat/ [60]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/gaim/ [61]: http://web.archive.org#footnote2 [62]: http://web.archive.org/web/20021201230839/http://images.freshmeat.net/editorials/antidesktop/dvorak.gif [63]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/emacs/ [64]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/vm/ [65]: http://web.archive.org#footnote3 [66]: http://web.archive.org/web/20021201230839/http://pobox.com/~jeff.covey/ [67]: http://web.archive.org/web/20021201230839/mailto:jeff.covey@freshmeat.net [68]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/browse/55/ [69]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/browse/930/ [70]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/projects/centericq/ [71]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/projects/epic/ [72]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/projects/ratpoison/ [73]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/projects/screen/ [74]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/projects/w3m/ [75]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/projects/xemacs/ [76]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/~TheKid965/ [77]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/22048/ [78]: http://web.archive.org#top [79]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/22049/ [80]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/~scorify/ [81]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/21920/ [82]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/~hanulec/ [83]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/21730/ [84]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/~plm/ [85]: http://web.archive.org/web/20021201230839/http://www.tightvnc.com/ [86]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/22055/ [87]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/~foobarfoo/ [88]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/21687/ [89]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/~thelatekinggeorge/ [90]: http://web.archive.org/web/20021201230839/http://freshmeat.net/projects/evilwm/ [91]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/21684/ [92]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/~stark/ [93]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/21666/ [94]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/~marypoppins/ [95]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/21675/ [96]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/~ndiff/ [97]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/21635/ [98]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/~clith/ [99]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/21626/ [100]: http://web.archive.org/web/20021201230839/http://palm.freshmeat.net/add-comment/reply/21676/