Edit: Unfortunately, the images originally included in this post are gone, because of image hosting problems in late 2009. My apologies.
After my brief but satisfying flirtation with KDE, and after walking face-first into IceWM-lite, I spent a short time scraping together some GTK1.2-sized applications in Ubuntu. I’ve made GTK1.2-only desktops before, but since I had the opportunity, I thought I’d dig around a little more.
I deliberately omitted anything that drew in GTK2.0, anything that had the least reference to Gnome, and just to be fair, anything that had a QT dependency. I realize some of the early, early QT stuff would qualify, but it seemed balanced to leave those out. 🙄
(A short note: Everything here, unless I’ve noted otherwise, is in the Ubuntu Hardy repos. I haven’t checked if they’re in other distros, just because installing and exploring software is easier with Ubuntu than, for example, Crux. 🙄 Check your flavor and see what’s on the menu.)
Now of course, GTK1.2 is simply ugly, and no matter how many time I repeat my “pretty is a feature, ugly is subjective” mantra, it doesn’t get any easier on the eyes.
But what we give up in beauty, we recoup several times over in speed. And since the goal here is to playtest programs that may — or may not — win back speed for out-of-date hardware, a little ugliness is acceptable.
Don’t expect much from it though — it mostly just follows the same theme as the desktop, with no-frills basic window manager functions available. You might be able to customize it a little and come up with something classy; take a shot and see what you get.)
Personally I find there are about four core applications that every desktop needs, regardless of its general role:
- a Web browser, which can double as an image viewer in a pinch;
- a file manager, unless you want to do everything at the CLI;
- a text editor, which can serve any purpose from drafting e-mails to modifying configuration files; and
- an audio application, which can stream audio or play music files, or whatever.
I haven’t included a terminal emulator on there because it’s more or less a given that a linux system is going to have a terminal emulator on it. Which one you use is your prerogative.
Just to be practical, and to try and round out our options a little, I’ve included a few that are outside the strict GTK1.2 boundaries. Take them as bonuses, since they generally behave the same way and at the same level, even if they’re FLTK or FOX or Tcl/Tk or whatever.
First, of course, is Dillo, in its current incarnation.
Dillo is probably the best — and fastest — browser you’ll get in GTK1.2. (Opera is a possible option too, provided your scruples and your hardware can both tolerate it.) After that, I don’t know of many GTK1.2-esque browsers … except for this possible relative unknown:
Yes, boys and girls, that’s Firefox 2, compiled with the GTK1.2 bindings, courtesy of lamarelle.org. Relatively ugly, and just as chubby, but quite usable actually. It seems to render faster without antialiasing and whatnot to worry about. And admitting that Dillo can’t do some things (like upload photos to xs.to 👿 ), it’s good to keep on hand. Decompress and execute, and it behaves a lot like every other Firefox 2 episode.
Of course, Firefox just can’t hold a candle to Dillo when it comes to speed. I still find myself sitting and waiting for something — anything — to appear in Firefox, when Dillo has all the important parts up and waiting. Unless there’s something you absolutely, positively need from Firefox, Dillo is just faster and better at GTK1.2.
I make it sound like those are the only two, but they’re not. You might take a look at hv3, which has the ability to handle some things that Dillo can’t. It’s not in the Hardy repos and you have to manually set it to run (and you’ll want to install the libstdc++5 dependency), but it’s worth keeping on hand so you can check your GMail account.
hv3 pulls the same stunt Kazehakase does — it waits until it has a majority of the page information in hand before it renders anything, which makes it look a bit faster on the draw (get it? on the draw! 😆 😐 ) — but it can handle graphical elements and styles a great deal more true-to-life than Dillo does at present. And beware: It’s still software under construction, and behaves like it at times.
If you can dig up any other browsers that don’t use GTK2 (but aren’t framebuffer- or console-driven either), let me know. I might have scraped the bottom of the barrel on that one. 🙂
For a file manager I recommend emelfm, but I happen to prefer two-pane file managers over Explorer-type arrangements.
It’s slightly less feature-rich than it’s GTK2 brother, but that’s forgivable. Otherwise if you’ve worked with Norton Commander or something akin to it since it’s release 30 years ago, you’ll probably enjoy it. Here is another one in a similar vein: gentoo.
Gentoo (and this is the application, not the distro, of course 😉 ) behaves a lot like the worker application, which is X-based really. And to be honest, there’s not much variation with this style. Left- and right-paned approach, tool buttons, a few right-click options. Lather, rinse, repeat.
Xfe is always an option, and recent versions have actually become attractive. Either that or my standards are dropping. 🙄
Xfe is a FOX toolkit application, and is meant to look and behave like the Windows Explorer. It does a good job of that, except it doesn’t crash as much. (That was a joke. 😉 ) Depending on the visual style you adopt for your desktop, Xfe might be just the ticket (I use it in my pretend-Windows desktop in Arch Linux on my OLPC XO-1). Of course you might just prefer that way of doing things.
There are a few other file managers in the repositories, some of which are based on other toolkits, but I didn’t include them just because I found them counterintuitive or just not interesting. Dig around a little and see what you can find.
For a text editor, there are a couple of not-so-obvious choices. Ted is a text “word processor” really, but Ted was skittish and didn’t want to open a window for me, so I don’t have anything to show for it. It is quite heavy on the features though, and figures prominently in distros like DSL, so you might have seen it before.
My No. 1 pick is gtkedit, though.
For something more … replete, try NEdit.
This one comes from the Motif camp, and definitely meets the criteria for an ugly application. On the other hand, it’s fast, has a lot of coding features and does a lot more acrobatics than gtkedit will. And it includes quite a few ease-of-use options, like a tabbed interface. Can’t complain when the program does things right, I guess. And if you roll up your sleeves, maybe you can make it look a little more attractive. 😐
After those, you could hunt down the GTK1.2 version of Beaver, and build it manually. The newest versions made the jump to the newer toolkits, so they don’t technically qualify for this list, but so long as the earlier one is downloadable, I can see mentioning it.
And there’s a manedit utility in the repos, if you need that specific function. It’s GTK1.2, it works, and so I feel obligated to mention it. That might be something so exclusive that the people who need it already know about it though. 🙄
Moving on … as far as a music player goes, there’s really only one true option: XMMS, which isn’t in the Hardy repos any longer, as I mentioned (XOFF ignored, mumble mumble). This is running a clean and clear Winamp skin off gnome-look.org.
If you like music managers … you’ll have to seek out your own answer for an old machine. The fact of the matter is, I think the concept might postdate this level of graphic ability (does that make sense?). Of course, there are only about ten billion plugins for XMMS, so perhaps one will allow you to add enough function to XMMS to make it into something like a music manager. Why would you want that, I just don’t know. …
GTK1.2 has a few leftover utilities for music that didn’t make the cut for GTK2. Here’s ripperx, which I believe might satisfy the need to convert CD to digital audio.
To be completely honest, I toyed with it only long enough to see that interface, so perhaps it isn’t what you need in a CD ripper. Also in this category is gMP3info, which is somewhat rudimentary, when it comes to an ID3 tag editor.
It works though, so again, there’s no complaining. After that, I couldn’t find much in the way of GTK1.2-level audio applications that hadn’t made the jump to GTK2 or weren’t console based (come to think of it, there are probably more options in the audio category among terminal applications than there are for GTK1.2. Keep that in mind when you’re fleshing out your 200Mhz laptop 😉 ).
I actually like danpei a lot. This looks like GTK1.2 and behaves like a real image management application. It has its own thumbnailing system and built-in previewer, plus a means to interface with an external application (think: the Gimp). Lots of features, plenty of ways to customize or even curtail its behavior, and it runs pretty darned fast too. In one way I’m glad it’s not a GTK2 application because I probably wouldn’t have ever found it, but on the other hand, it would have been nice to see it improve even more.
paul is more of an image animation manager, and doesn’t totally qualify as a viewer since it seems to do more than that. If you want something that has a lot of photo-related options though, I would recommend it. It seems to work backwards, opening files first before adding them to a stack and … ah, you figure it out, and tell me. I’m just going to sound dumb trying to explain it.
(I should probably mention that, although they’re not required, it might be a good idea to install imagemagick with either or both of those applications. Some of the features appear to rely on the ever-present imagemagick tools to get the job done. 🙂 )
There a few standbys for image viewing that I should mention. feh is acutally an image viewer, although most people use it to set the background image in an ultralight desktop system. Here’s more about that, if you need it.
And there are some others that I should mention. I liked xzgv, and I’ve mentioned it in other posts. It’s worth using and on a light system, that plus danpei should do just about anything you could want with a picture, short of pixel-by-pixel editing.
Now that the major needs are covered, here are a few other suggestions.
First, Sylpheed has an antique version in the Hardy repos called sylpheed-gtk1. It’s a functional, if somewhat outdated, version of the long-running Sylpheed e-mail client.
I’m a Sylpheed fan, so I don’t have any others to suggest aside from that one. Since there’s a Claws split from Sylpheed, and Claws, as I understand it, is still going strong, it’s possible you might find a GTK1.2 version of that client too. Let me know if you do.
There’s also — and this is exceptionally esoteric — a gbuffy applicationlet that might be of interest to you. It’s basically a GTK1.2 version of the X-based biff applicationlet. 😐 As far as I can tell, and I don’t have a proof for this, it throws up a little flag when a new mail message arrives. You play with that and see how it works.
In the other-network-tools category, there’s an ancient Napster client called Lopster available.
I suppose if you wanted to tinker with it, it might still serve a purpose. And I’ll admit I’m not up to speed on Napster any longer (ten years ago, maybe), but maybe there are still active networks for it. I don’t know.
For a truly nifty and functional tool though, check out xtraceroute (which goes by the package name “xt” in the repos … don’t ask).
I haven’t fully configured it, but judging by the home page it actually has little lines that jump around the globe to follow your network routing. Cool!
The only downside is that it relies on OpenGL, and if your machine doesn’t have something with adequate muscle, it might suffer. You be the judge though. Those little lines … they look so cool … !
In fact, nifty tools like xtraceroute seem to be where GTK1.2 still has a few holdouts. Consider this: gPS, which despite the conventional connotations, has nothing to do with global positioning. This is a process viewer, and a darned good one too.
Kill processes, stack and sort them by any category, set to refresh continually and at quarter-second increments … just like any up-to-snuff process viewer. And it’s light as a feather too. Just right!
Here’s another, somewhat unusual GTK1.2-based applicationlet that will be useful for you: gmemusage.
A nice, clean, easy-to-read stack that shows the major (and minor) memory hogs. It’s customizable from the command line so you might argue that it’s not quite a GTK1.2 application, but I thought I’d mention it. It would be a shame to omit it.
However, if you have some unusual cron requirements, or your keys need configuration, or if you just want to find a core font without messing with xfontsel, these are truly useful. See if they do anything for you. 🙂
Last, here are two games that will actually keep you occupied while you’re waiting to download software updates across the 14.4K modem in your 166Mhz laptop: gtkpool and codebreaker, both GTK1.2-based and depending on your definition, actually kind of fun.
There are actually more games to pick from in this “category,” I just didn’t have the time or desire to download everything and test them all. The “l-” series games (like lbreakout2, lmarbles and so forth) are all low-resource-friendly, so search a little on your own and see what else can keep you occupied. And don’t forget emulators, which can logarithmically expand the number of game options you have available. And most are easy on the processor.
And to be honest, that’s about all I have to offer. There are some glaring omissions in this field, for what I expect. I couldn’t find a viable, graphical FTP client for GTK1.2, although it’s possible there are some out there (I think DSL uses gFTP, if I’m not mistaken, but that seems to want GTK2 in Ubuntu). Likewise, an IM client and/or a chat client escaped me. And a strictly GTK1.2 PDF viewer was seemingly missing. There were some others.
If you have any suggestions for this, please tack them on. I find myself referring to these pages, so one comment can sometimes save me trouble in the future. Cheers, and have fun.