.comment: A Look at KDE2

By: Dennis E. Powell
Wednesday, October 25, 2000 04:38:13 AM EST
URL: http://www.linuxplanet.com/linuxplanet/reviews/2531/1/

What's New?

KDE2 is here and it is very good.

I'd actually forgotten how good.

How's that, you say? Well, I've been using KDE2 exclusively for three weeks shy of a year now--by that, I of course mean the development stuff that has coalesced into KDE2--so the improvements have been incremental here, not at all like the stunning difference the user switching from KDE-1.x will experience. I actually had to go back and play with KDE-1.1.2 for a few hours to refresh my recollection. And while KDE-1.x was an Open Source landmark, stable, configurable, easy, bright, and fun, it doesn't hold a candle to the new version. The differences are as striking (though I do not equate them in any other way) as the differences between Windows 3.1 and Windows 95. KDE2, though differing from the Microsoft product in that it is stable, shows that much more depth.

Gone is the solid but basic KFM, the file manager that also really handled many of the desktop functions. It is replaced by the remarkable and robust Konqueror--file manager, file viewer, web browser, ftp client, and so much more. Gone, too, is the familiar KPanel, replaced by Kicker, which performs the functions of KPanel plus taskbar and pager. The KMenu has been greatly improved, now grouping KDE and non-KDE applications together. KOrganizer actually works and is now useful, and its integration with applications such as KMail has been completed. New Internet applications include Kit, an AOL Instant Messenger program, and KNode, a more-than-decent news reader.

The underlying architecture has been improved everywhere and completely changed where needed. The whole thing is object-oriented, so that in one application you will find things familiar from other applications--greatly reducing the learning curve--and built, in large measure, from powerful and cleverly designed reusable parts. What makes this so cool is that as new parts are added, existing applications will be able to make use of them with a minimum of recoding. Third-party developers are already at work on additional KParts, leading, for instance, to the Kivio flow-chart application that theKompany.com released in early beta last week.

It's a major release in every sense of the word.

Getting It

Upgrading from KDE-1.x is relatively simple if you take a little care; those who don't are likely to hit some snags. Begin by gathering together everything you need, because part of the process involves working in the console, unless your distribution has all the binaries and one of those trick installer applications (which I don't have, don't trust, and don't want, but that's just me). If you're installing from source and are currently using some version of KDE, you'll certainly be in the console. But be ye not afraid, for it's all easy.

First thing to do is get QT-2.2.1, the latest free edition. If there's a binary available for your Linux distribution, good for you. Otherwise, download the source from the Trolls (or, I now discover, KDE's ftp site) and build it.

KDE2 and QT-2.2.1 are available in binaries for many architectures at the KDE ftp site. Yes, get all the packages for your architecture and install them using either RPM or DEB, as the case may be.

For sturdy sorts who like to roll your own, install the new QT before you build KDE2. I'll give my recipe here, though I'm sure there are far more elegant methods.

On my machine, /usr/lib/qt is a symlink that I can point to either /usr/local/lib/qt-1.44 or /usr/local/lib/qt-2.2.1, depending on whether I want to run KDE2 or KDE-1.1.2 (though I'll soon delete both qt-1.44 and kde-1.1.2, this makes upgrading future QT versions easy, with the old one automatically backed up). Likewise, my /opt/kde is a symbolic link that points to whatever version of KDE I care to run. When installing QT-2.2.1, I opened the tarball in /usr/local/lib and renamed its directory to /usr/local/lib/qt-2.2.1, then changed the symlink to make /usr/lib/qt, which is where my system believes QT ought to live. Then I changed to /usr/lib/qt and did this:

CXXFLAGS=' -mpentium" ./configure -sm -gif -system-jpeg -system-libpng

The part before ./configure is optional; it simply optimizes for a Pentium processor. But the rest is essential, enabling session management, GIF support, JPEG support, and PNG support.

The user is then asked to agree with one or the other of the licenses, in response to which "yes" must be typed. Then it's simply a matter of doing "make." The compilation takes a while--more than an hour on a 500 MHz machine with 256 megs of memory. Once it's done, there's nothing more to do--no "make install" or anything of that sort. It builds in place.

The 13 KDE2 tarballs (plus one of the i18n tarballs if you need it; I never have, because I don't need the internationalization--that's what i18n means--they provide) are copied into /usr/local/src. My method is to open them as I build them, so I don't get lost as to what I've built and what I haven't. They're compressed with bzip2; I batch unzip them (bzip2 -d kde*.bz2), which leaves the uncompressed tarballs (tar xvf [filename] to open them).

They must be built and installed in order: kdesupport first, then kdelibs and kdebase. After this, you can build and install the rest in whatever order appeals to you; I do it alphabetically. The build instructions are the same for all:

[compiler flags] ./configure [prefix] [other options]

On my machine this translates to:

CXXFLAGS=' -mpentium' ./configure --prefix=/opt/kde --disable-debug

This means I want Pentium optimization (there being no K6-2 optimization in EGCS-2.91), I want the results to go into /opt/kde (having made a directory named /opt/kde2, and having changed my /opt/kde symlink to point to it), and I don't want to build debug code into the apps (to reduce codesize and speed loading and execution).

Once configure has chugged to completion (a minute or so in most cases), it's "make," which can take from a few minutes in kdesupport to more than an hour for kdelibs, kdebase, and koffice, and then "make install." You need, of course, to be root to do all this. The whole business takes about six hours here, though obviously I don't need to be present for all of it. It's a great time to clean the office, and I plan oneday to spend the time in exactly that way.

If you are upgrading from an existing KDE installation, it is highly recommended to make a backup of the ~/.kde and ~/Mail directories. KDE2's applications will change the configuration files in the home .kde directory, and the new KMail's indexing is different, making backing out if necessary difficult without a backup (betcha can guess: I use symlinks here, too, ~/.kde pointing to ~/kde1config or ~/kde2config, and ~/Mail pointing to ~/Mail1 or ~/Mail2).

Once sure everything's where it should be, and any symlinks are pointed where they should be, type the command that fires the whole business up. Here, it's the good old "startx." And then....

KDE2 In All Its Glory

Starting KDE2 for the first time, chances are your first impression will be, "Wow! This sure isn't the KDE I know!" The splash screen is the best I've ever seen, anytime, anywhere. It sticks around for quite awhile, as splash screens go, and it may not be obvious at first that it's actually the front end to a little application that shows the progress of KDE2 as it loads. In due course it is replaced by one of those little applications that have become so popular, one of the "Welcome to..." tourguides. If this sort of thing appeals to you, by all means spend some time with it. It will appear everytime you start KDE2 unless you use its opening screen checkbox to disable it. If you don't now, you will soon.

Then comes a screen with Kicker at its bottom, populated by a few icons on the left (which, fortunately, can be deleted), and a nice desktop field.

KDE-1.x was wonderfully configurable, though some of the tricks (such as getting icons off the desktop and having the change survive a restart) involved--horrors!--actually editing configuration files. But KDE2 is an order of magnitude more configurable, with support for themes old and new, enhanced support for legacy applications, improved menu editor and simplified addition of applications to Kicker (which can also be accomplished, now, by drag 'n drop). The number of little applets that dock to Kicker has been increased, and those that existed before--such as Klipper, the clipboard app--have themselves been made more configurable and powerful. Configuration can be accomplished in a variety of ways--localized and specific, such as desktop settings by clicking the right mouse button on the desktop and choosing that item from the resulting menu, or in centralized locations. KMenu has a general configurator and a Preferences submenu tree that offers all the choices available in the configuration application, broken out for easier access.

In the course of testing KDE2, I found only two obvious little bugs, one completely harmless and the other intensely annoying. The first is that some of the application sizing isn't quite right: the Shisen-Sho game (one of the 22 games in kdegames) is beset by extremely wide borders on the right and bottom, giving it an unfinished look incongruent with the rest of KDE2. The second forced me to change the way I work. Let me explain.

I hate a cluttered virtual desktop (even as I apparently cannot survive without a cluttered physical desktop). This means that I nuke all the icons on the desktop and set Kicker to autohide (and have nothing at all to do with the secondary menubar thing inexplicably available, though not enabled by default, that stretches across the top of the screen to no purpose that I can think of). I also set mouse policy to "focus follows mouse." And it is here that a really tragic bug appears.

If running XFree86-4.01, as I am (and maybe if you're not), and choose "focus follows mouse," selecting any menu in any application, KDE2-native or not, allows about a second to make a menu choice before the menu disappears behind the application itself. This is terrible, but it's made worse by the fact that the menu doesn't know that it's behind the app, so clicking in the application in any of the space where the menu was just a second ago, activates whatever menu item corresponds to that place. If you get coiled, ready to spring, and click on the menu again--nothing, because the menu already thinks it's open. You need to click on another menu, then back to the first, to see it again. And again, it'll disappear very quickly.

The workaround is to switch to "click to focus" when choosing mouse policy. The solution, best I can tell, awaits KDE2.1.

The Apps

KOrganizer, which made its debut with KDE-1.x, has matured and is now a fine calendar-todo-list-phonebook-addressbook application; indeed, it's as good as anything in the genre in my estimation. One of the complaints about it was that it wasn't tied into other KDE applications, but that's no longer the case. Which brings us to the much-improved KMail. In a world of dazzling KDE2 applications, it's easy to overlook, but that would be a mistake. The new version allows you to receive mail from a number of different accounts, though it still allows you to send only from one. But it now offers the option of sorting mail by thread, a boon (when was the last time you heard *that* word?) to those of us who are on multiple mailing lists, and who have filters set up to direct each into its own folder. Its configuration screen is much improved, and now can color-code the various levels of quotations (though it does not, alas, automatically send a nastygram to anyone who quotes to, say, the fifth level). It reads HTML mail if you want (you don't; it's a security risk and spam magnet). As a single user mail program, it's mighty good, and the dozen or so people who spent lots of time on it are to be praised.

Which brings us to a general change in KDE2. In KMail, the configuration was launched from the File menu. Several months ago, in this space, I expressed my concern over Corel Corporation having hired a GUI designer to work on KDE2. I was wrong in thinking that this would lead to bad things. The work of the designer was limited chiefly to bringing about consistency among KDE2 applications. As a result, configuration of KMail and other applications is now found in the Settings menu. A nice bit of polish.

KDE2 is rich in native apps. The new Internet applications have been noted; Konqueror, which is just marvelous, could have a book written about it; there are new apps in the Toys menu, none of which is of much real use, but all of which are fun; the graphics applications will be familiar to any KDE-1.x user.

I would love to tell you about the multimedia applications, but through no fault of KDE2's developers they don't do anything useful here. I have a motherboard with the VIA Audio Codec, the drivers for which are experimental. I've never heard so much as a peep out of the thing, though once every couple of weeks I take a couple hours and give it another shot. But the fundamentals are that a daemon, artsd, is started when KDE2 is. It allows the playing of sounds of many kinds. There is aKtion, which handles many multimedia tasks. And of course there are the usual midi players, CD players, and so on. I'm told they work, and though I can't do anything but start them here, they appear to offer pretty much anything the user would want. I shall one day defeat the VIA Codec monster and life will be pleasanter for it.

What Now?

For years we've many of us made excuses for our Linux desktops. They did what we wanted, and what we wanted that they didn't do we learned to live without in order to take advantage of the robustness of the underlying operating system. But with KDE2 we no longer have to apologize for our desktops. Even with that annoying menu bug, KDE2 is the best desktop I've ever used on any platform. That having been said, it will only get better. Work is already underway on KDE2.1 (believe it or not, I actually took a little step back in installing KDE2, moving from a CVS build a week newer than the KDE2 freeze; don't worry--nothing much had yet changed). But more than that, the number of KDE2 applications is growing. A company I mentioned earlier, theKompany.com, is working on business programs for KDE2, impressed as they are with the design of the desktop itself. Other developers are being drawn to QT and KDE2, and who could blame them?

There's something else, an intangible, that has made KDE user-friendly from the early days. The developers, the big guns in KDE, have been in my experience to a person polite, helpful, and accessible. Imagine having a problem with Windows and in solving it being given access to the guy who wrote the code! This is true to a large extent in all of Free and Open Source software, but it seems to me that it is and always has been even more so with KDE.

Bottom line: KDE2 and Linux are together a Windows killer if ever there was one.

What? What's that you say? Oh. No, I haven't mentioned KOffice, the exciting office suite that is part of KDE2. KOffice is another story.

Which I'll be writing shortly.

Copyright Jupitermedia Corp. All Rights Reserved.