As many of you know, I used to be a huge KDE basher, not having used it since 3.1 (which wasn't all that bad, but, well, it was KDE). Then, one day a couple of weeks ago, much more enlightened in Unix than I was at the time, I swallowed my pride and downloaded the KDE 3.3.2 binaries from the FreeBSD package repository. The reason I did so wasn't exactly clear; from what I remember, I saw a screenshot of it and saw kturtle, a Logo interpreter. Well, here I am, and here's a review of version 3.3.2 (when 3.4 comes out, I plan on reviewing it too). Off we go.
Installation on my FreeBSD 5.3-STABLE machine was fairly straightforward thanks to the help of lauri in freenode/#freebsd. Basically, I typed 'pkg_add -r kde' (because building on my lowly p3/750 would take days) and let 'er rip. However, it started installing some stuff I didn't want, like kdevelop and koffice. I quickly ^C'd the pkg_add and inquired in channel if one could specify what components to install, and was told that a menu should have came up. So, I tried portinstall, which did the same thing. At that point, I decided to cut my losses and said "fugghedaboutit". Not to worry, though
After the installation, I modified my .xinitrc to call startkde instead of my beloved wmaker. I took a gulp and typed 'startx'. Lo and behold, KDE started to load, but stopped right when it tried to start artsd. In the error backlog, I saw something about artsd and tried to disable it to no avail. Then I read again and saw that the owner of /tmp/.ICE-unix/ should be root. I changed it, and KDE proceeded to load unincidentally until....
I was greeted by a lovely setup wizard that asked me questions about my locale, the interface style I wanted, and the themes to use. Fair enough. I complied, and hit finish. KDE proceeded to load kdesktop, just as I remembered it. I quickly proceeded to top and ksysguard to check the memory usage of it. Not too shabby; if I remember correctly it was around 40MB. Still a lot more than windowmaker's humble 3MB image size, but then again KDE does a lot more stuff than manage windows (which wmaker does a fine job at, I must say).
I proceeded over to kcontrol to mess around with the various themes and looks available for my new desktop. I also changed my background to the ubiquitous Dark side of the Moon prism.
KDE, for the most part, works extremely well with non-KDE applications (written using GTK or Xt or what have you). However, XMMS was running into sound device problems. The culprit was (obviously) artsd, so I proceeded to turn it off. It worked. artsd can be annoying, and it was sucking up valuable RAM, so no major losses here.
Although I knew that KDE was rather flexible in how it can look, I didn't bother downloading themes. I stuck with Plastik and the Crystal icons until a week or two later (yesterday, actually), when I decided that I liked good ole' KDE2's HiColor icons and the KDE2 theme with laptop window decor better. Indeed, it doesn't look like a New Age bullshit toy as the Crystal icons make it look.
I was playing around with the panel applets (as I used to) and eventually stuck with my current setup: kweather and kbinaryclock (instead of the default clock applet).
KDE comes with a huge selection of applications written for it, ranging from a systray tea timer to the periodic table application called kalzium. One thing I immediately witnessed was the consistency among these applications. Traditionally, Unix applications (both text and console) all have completely different interfaces, including the toolkits used and the style of the UI.
Initially, I vowed to continue using xterm instead of konsole, as konsole (as I remembered) was plagued with emulation problems, like parts of text disappearing. However, I sucked it up and tried it, and fell in love with the tabbing functionality and the scriptability (discussed below). The emulation problems seem to have been fixed.
I am a longtime firefox user and initially didn't plan to try konqueror. This was largely due to the fact that it used to have horrendous rendering. However, I remembered that Apple uses KHTML (the default konqueror rendering engine) in their Safari browser. Apple has contributed lots of fixes to KHTML, so one could only assume that rendering had improved drastically.
I was quickly proven correct: rendering was much better, indeed on par with that of gecko. Konqueror had another advantage over firefox: KDE caches Qt, so startup time is fast and RAM usage isn't as much as if one was using another application such as firefox. Also, KHTML seems to render much faster than gecko to begin with. I soon found myself using konqueror more and more, and I also recently got flash working (even though it sucks, but sadly some idiot webmasters demand it).
One downside to using konqueror, however, is that it doesn't support the breadth of extensions available for firefox (such as adblock, something I found invaluable). However, I carried on (now using privoxy, which I had been using but stopped since it doesn't support gzip compression, a big timesaver in some cases).
Also, as many people know, I have been (and continue to be) vehemently opposed to graphical filemanagers when they are not necessary. However, I recently embarked on a project to correctly rename all the songs in my music collection, and to have them use the format 'Artist - Album - Track# Title.ext'. Konqueror proved invaluable for such a task; doing so by hand using mv(1) would have been painful at best.
This, my friends, is a truly cool aspect of KDE. I went for years not knowing what this was, but when I found out, I was intrigued. Remember ARexx on the amiga and how it could script any application which made its port available? This is somewhat of a Unix/KDE analogue. DCOP is an IPC system that allows you to script any KDE application that supports DCOP via either shell (good), C++ (sucks), or Python (sucks more). For example, you could tell konsole to send text to select tabs, or tell kwin to minimize a window, or ask kweatherservice the temperature in your area, all from a shell script. I currently have a script that asks for an away message via kdialog, and sends the entered text to the irssi and pork/naim tabs in the form of '/away $message'. This is only a miniscule example of the power offered by this system.
I used to be a huge KDE basher, as I said (and as many of you know). However, upon trying it, I was enlightened. But, all these features come at a price: RAM. KDE's memory footprint is humongous, and if you have a small amount of RAM (like I do: 256MB), you may, nay, will run into problems. I plan on getting more, but until then, I have to be frugal with RAM.
In closing, although KDE does have some idiosyncrasies, it is overall a nice suite of applications. I originally intended to move back to windowmaker on this machine, but frankly, I don't have much incentive to do so, and I'm lazy. Oh well. By the way, I never really got into kturtle.
Lastly, here's a screenshot.