K.Mandla's blog of Linux experiences

More fun X-based stuff

Edit: Unfortunately, the images originally included in this post are gone, because of image hosting problems in late 2009. My apologies.

Okay, so let’s suppose you’ve gotten your hands on something fun, but slow — slow like 133Mhz or so, with maybe 64Mb of memory and a teeny 4Gb hard drive, and no video card to speak of. Maybe the GTK2 rank-and-file is just to sluggish, and even GTK1.2 seems a tad … laggy. Well, if you’re convinced you still don’t want to resort to console applications (which is really what you should do) there is one final “layer” of applications that might be useful to you.

If GTK1.2 was ugly, X-based applications are almost too hideous to look at. I can still remember my first reaction to an X-application — my therapist is still making money off that episode.

But, as I mentioned once before, you’re not without a few last-ditch options for machines that just don’t have the muscle for anything else, and you absolutely refuse to go commando … I mean, command-line. :oops:

Here’s a glimpse of the beast, just so you know if you want to read any further:

Ah, that’s a beauty, now isn’t it? How very … very … 1996? Is that a four-color desktop I see there? Ecch.

Window manager note: Amiga fans might enjoy tinkering with amiwm, which makes your desktop look like a workbench. If you don’t get the word play there, you probably never owned an Amiga. In that case, disregard. Move along, nothing to see here. … :)

One last confession: Some of these aren’t “strictly” X-based, meaning they use slightly different toolkits or window libraries, instead of the old Athena widget set. So if you see one pulling in the Motif libraries, don’t freak out. It’s about as fast, and about as ugly. It’s not bait-and-switch, I swear.

Okay, let’s get started. As I mentioned in the GTK1.2 essay, I have four key components to a desktop, and unfortunately, there seems to be one missing from the X-based rank: a browser. I can’t really find anything that measures up as a browser that uses X-, Motif- or similar-toolset. I might be overlooking something, but I think if you’re going to get a functional browser, you’re either going to use elinks, or links2 or Dillo. Not that there’s anything wrong with those. Even elinks is a masterful way to surf. :)

But it would be nice to find something that used this godawful appearance to manage its interface while it gave you a speedy browsing alternative. Like before, if you know of one, please tell.

Now that that’s out of the way, here’s the good news: There are quite a few options for old machines that fall in this bracket. (Did you know I was going to say that?) The difference between X-based applications and GTK1.2, from my perspective, is that most software that started out at GTK1.2 probably was rewritten to make the leap to GTK2 at some point in the last six years or so (kind of like Beaver, if you want to see an example). That’s only natural; a program with a solid user base is going to take the time and get enough support to start with a new toolkit.

On the other hand, X-based stuff seems to have trickled down to nothing around the turn of the century. I find screenshots and software updates as late as about 1999 for some programs, but usually no later — with the obvious exception of the core software that runs the xorg system.

What’s that mean? It means there are a lot of programs available at the X-based level, and most of them matured to a satisfactory degree. GTK1.2 has enough leftover utilities here and there to keep you busy for a day or two, but there is a huge morass of X-ish stuff in the Ubuntu repositories (and beyond) that will keep you occupied for much, much longer.

And that’s a good thing. For example, here’s a nice combination file browser and application launcher: xfm.

Switchable to a tree view, has built-in submenus for most common X-based applications and does almost everything via click-and-point. It’s primitive, yes, but it’s enough to, for example, manage a few file transfers or preview a view files or images. It’s not the most attractive thing, but nothing here will be. Better get used to that. :)

If you’re like me and you prefer the two-pane style for managing files, here’s worker.

As you might have guessed by looking at it, worker behaves a lot like most two-pane arrangements, whether it’s mc or gentoo or emelfm or emelfm2 or even the ancient and venerable Norton Commander. If you’ve never used a file manager like this, it’s worth learning because it’s so much faster than the average drag-and-drop arrangement. Try it and you might like it.

xedit appears in Ubuntu only when an immense overwhelming life-threatening emergency arises. Or by default, as I mentioned a few months ago.

Even so, it’s a workable text editor and will do in a pinch, or if you just absolutely refuse to use vi or nano.

So, with no viable browser, maybe one text editor and a few file managers to pick from, there’s really only one more essential — some sort of audio playback option. And believe it or not, the X crowd has a couple of good ones. Here’s xmcd:

xmcd is actually rather comprehensive, for something that supposedly just plays CDs. CDDB access, file information editors, a basic and standard interface, plus index playback, keypad direct access (who does that any more, huh?), track sampling and a mess of other options. All that, and it’s ugly too! :D

Here’s a sister application for it: mctools-lite, which is a grab bag of audio utilities.

The package also has a rudimentary audio database called “xmdb”, with an opening screen that looks something like this.

I don’t have many audio CDs to test all the functions, but it’s possible that it might be something useful if you want to handle an entire library on a local machine. Give it a run and see if it’s useful.

So now that the obligatory applications are out of the way, here are some goodies.

First, system monitors appear to have been all the rage way back in 1998 (or whenever X-based applications fell out of favor). Here’s xosview, which improves on xload, which appears by default in Ubuntu (and some other distros). (Just to be clear, xload is included in Hardy, but a separate package in previous releases.)

The nice thing about this is that it shows a neat slice of software and hardware information. Yeah, you can get system load figures from just about any utility, but how many of them show interrupt activity, or caching levels? It’s also configurable from the command line, which means you can set it up to show different colors, fonts and system information, as you desire. Start, match the background color to your root window, remove decorations, lock it to the lowest layer and bingo — you’ve got a conkyesque answer for a machine that otherwise couldn’t (or just wouldn’t) use conky.

Now here’s a system utility I predict you won’t use except on the slowest machine: xengine.

I’m guessing anything that postdates the Pentium II era will only show madly spinning blurs of engine parts. It’s meant as a benchmarking utility, but unless your machine is around 300Mhz or so, I doubt you’ll have much use for it. It might be nifty to measure system load, in other words watch the rates drop when other processes are running. But your machine is going to need to be quite slow to use it in its default form.

More functional and less flaky is procmeter3, which is rather odd to configure, until you realize that almost all of its fun parts are accessible through a right-click menu.

That little snapshot doesn’t do it justice. There are so many meters and graphs and options available, I’m just too lazy to get them all configured and into a pretty state before I take the screenshot. Sigh. Well, you get what you pay for, right?

Regardless, that one is a definite keeper. There’s lots to play with, and since it’s fairly easy to control, you don’t have to set up a range of command line options or tinker with a configuration file to get the results you want. If you’re anti-command-line (which you shouldn’t be, if you’re messing with a 133Mhz machine ;) ), this is a good toy.

Another tiny porthole into your Ubuntu system: xmem. To the right is its sister program, xload.

A clean and fresh default Ubuntu system gives you xload when you install the xorg metapackage, but xmem is something you have to install manually. It escapes me why that would be the case; they’re practically the same program. They look the same, behave the same, smell the same and … well anyway.

xmem has the advantage over xload as a prettier program, just because it starts out with a tricolor band, whereas xload is generally just a string of black peaks. All of that is generally configurable of course … and hey, maybe that’s why it’s an ancillary package, instead of in the main xorg group: too much color. :roll:

Moving on … take a look at your hard drive usage with a real utility, xdiskusage.

Technically this is an FLTK toolkit application, so it probably belongs in the GTK1.2 department, but I thought I would mention it here too. This is a very cool little utility, that uses the du command to show your disk usage graphically. Bounce forward and backward through the tree and you get a clean idea of what files take up the most space, which directories are hogging your drive, and where you can lighten the load. Very useful, and very easy on the processor.

Also useful, and in some ways a veritable godsend: xcb — think, “X cubbyhole.”

You’re probably aware that you can stash a highlighted text string and paste it with the middle mouse button click. Did you know you could keep about eight — and many more, if you want them — pasted strings in a series of pasteboxes, to be added or deleted, as you see fit? Immensely useful.

Just for an example, if you look at the screenshot up there, you’ll notice I have two paste lines that I refer to quite often while I’m writing here. One is the packages.ubuntu.com prefix, which is a bother to type, and the other is the line that centers text on a WordPress page, which is an even greater bother to type. One click to select, and middle button to paste it into the page. Genius!

One last hint: Shift-middle-click to clear a pastebox. Aside from that clue, you can learn most of its features on the man page.

One I wished would work for me: xdkcal, a kind of floating X-desktop calendar. Unfortunately the Ubuntu version was demanding font sets I couldn’t track down, so I don’t know what it would look like in Ubuntu. If you can get it running on your machine, let me know what you did. (Edit: It seems to work with IceWM, so perhaps this is just a quirk of the amiwm window manager I was using.)

Now a few more useful tools: I told a little lie a few days ago, when I said I couldn’t find a PDF viewer for the GTK1.2 series. There’s something like GTK1.2, but kind of like X too, in the repos — gv, which looks something like this, when it’s doing its thing.

I’m not sure where those wild colors come from, and the interface font is more or less the Reader’s Digest large print edition, but if you need to open a PDF on an old, old machine, that will do the trick for you. Occasionally the page rendering is odd, but that’s something in common to just about every PDF reader I’ve ever used. They all think just a little differently. ;)

This is the common PDF viewer in a lot of ultralight distributions, so it probably doesn’t need much of an introduction. When gv seems skittish, or if you just prefer the xpdf interface, it’s there for your perusal.

For color selection tools, which are useful in theming work and for tampering with desktop appearances or Web page design, try xcolors and xcolorsel.

Both have uses, although they seem to approach the same task from different angles. If you want to browse colors you’re probably better off with xcolors, but if you know the color or want to track it by value, xcolorsel is probably what you want. Oh, just install both. It’s not that big a sacrifice. ;)

Since we’re talking about graphics utilities, here’s xpaint, which is what I’ve been using to capture all these programs in action.

Once you learn the interface and the style of the program, it’s quite functional. It has any number of quasi-modern pixel graphics editing tools — brush sizes, bezier tools, paint bucket functions, and some funky gradient-like effects that will keep hippies enthralled for a minute or two.

Like any of these programs the trick to learning them is to use them, and so if you can muster enough time and courage and learn where things are at, xpaint is worth the effort.

Another graphics tool, and this one even more impressive: xfig, which is the stealth fighter of X-based applications, if I get to be the judge.

I don’t know how many people will find xfig useful; I daresay it’s not enough, since what you’ve got here is a real gold mine for anyone who needs to do diagrams or vector-based images in an extremely lightweight environment. Polygons, path tools, resizing, object alignment, freehand drawing and more and more and more …

This is one of those programs I wish I had a use for, just so I could use it more often … or any at all. With this much in the way of options and power, it’s something that could be very very useful, and would probably make me rather proud to understand. Like those CS2 geeks who brag about their ‘shopping skills. :roll:

But like so many things in life, what I have in enthusiasm, I lack in necessity. :( So we move on … to a couple of oddball programs. Here’s xpostit, which, as you might imagine, gives you a few on-screen jot-it notes for fun and profit.

Right click on the tartan square for a menu of note options. One of the nice things about this particular desktop note application is that you can pick presized notes, rather than just smearing them around the screen. Others that I’ve seen, like xpad, don’t necessarily give you that option. You size as you like, but I can see where presized notes would be appealing to some.

Use the “n” key to skip through the patterns; of course, more options are on the man page. And don’t ask me how I found this one; to be honest, I don’t remember. But with so many possible desktops arranged around traditional Scottish patterns, you could be busy for days seeking out the one you like best. Or the one you call family. ;)

Okay, we’re almost finished, and then I have a little surprise. Here are a couple of card games, and believe it or not a working role-playing game that you can all run without any more processor demand than most X applications require.

First xpat2 and spider, which are card games of two sorts, both light and fast.

xpat2 actually has rules for several traditional solitaire games, like Klondike and Idiot’s Delight, and a few more options to boot. Spider is … well, it’s Spider. If you know the game, you’re a step ahead.

And now, just so you don’t say there’s nothing interesting to do with an X-based machine, here’s Crossfire, which has an X version as crossfire-client-x11.

It appears to be a bit like rogue, with fundamental role-playing commands and good selection of classes available. And yes, there are active servers for the game, so I’m not giving you a title that you can’t at least connect and try out.

And now, one small extra gift, just for sticking around this long.

That’s not in the Ubuntu repositories, but you probably have an idea what it is — an early Pac-Man game written for the X desktop. Finding the source code for that little gem was a challenge in and of itself; start here for a possible location, or just Scrooglexchomp.tar.gz. I found the code on a server here, although that’s no guarantee it’ll be around forever.

Install the build utilities and X development files for your distro (for Ubuntu: sudo aptitude install -y --without-recommends xorg-dev build-essential), decompress the package and make. That should leave you with an xchomp binary; start it with ./xchomp & from the commmand line.

And there you have it. No sound, no color, and completely unplayable on anything faster than about 300Mhz. ;) But you can’t say there’s nothing to do on your leftover 133Mhz laptop machine now. I mean, you’ve got Pac-Man, and that’s everything! :mrgreen:

And that’s where I call this quits — almost. Before you quit, and before you dismiss all these applications as ugly and not-worth-the-effort, take a look at this page, for a way to at least make them look a little prettier. It won’t cure all the problems X-based applications suffer, but it will at least make them passable.

I hope this is helpful, or at least a little interesting. There’s a good chunk of software in the Ubuntu repos that I didn’t even touch, and a few I did but didn’t mention. If you have an older machine that can’t do the so-called “light” desktops, try substituting a few of these ancient programs instead. Cheers!

This is an interesting article for me because were it not for Firefox, I wouldn’t have GTK or GTK2 installed on my computer. I suppose that I should just be thankful that Firefox is available to me but I still find it annoying.

I think xfireworks (and xfishtank if you can find a working copy) are some pretty good X based applications. They provide nice visuals in the root window. I also like Timidity++ in Xaw mode. There are some nice additions/patches to it in cvs to improve karaoke midi playback. Milkytracker is a very nice mod player/editor. Figurine makes a slightly lighter replacement for xfig.

Since you mentioned one fltk application in the batch, there are several other nice ones that are lightweight that might run well on an old machine. These include fldiff (file difference), flphoto (photo viewer with some editing ability), flxine (xine player), tuxtodo, flrec (recorder using sox), fltdj (daily journal).