ksplash.png

Kleine Ursache, große Wirkung

KDE 3.0

01.03.2002
KDE 3.0 im Beta-Stadium einer der Stars der Linux Expo/Linux World in Paris. Wir haben uns Vorversionen der neuen Desktop-Umgebung angeschaut.

Wenn sich bei Versionsnummern die Vorkommastelle ändert, lässt das in der Regel einschneidende Veränderungen an der Software erwarten. Doch wie KDE 3.0 beweist, muss dies nicht immer dazu führen, dass User ihre Programme kaum noch wiedererkennen: Der aktuelle Versionssprung lässt sich keineswegs mit dem von KDE 1.x auf KDE 2.x vergleichen. Nur aufmerksamen Beobachter/innen fallen Änderungen an der Optik sofort ins Auge, und auch bei den Techniken unter der Haube hat sich nichts besonders Einschneidendes getan. Wozu dann aber eine neue Major-Versionsnummer?

Von rechts nach links und zurück

Damit KDEs Versionierung mit der der zugrundeliegenden GUI-Bibliothek im Takt bleibt: Im Wesentlichen handelt es sich bei KDE 3.0 um eine Portierung von KDE 2.2.x auf Qt 3.0.x. Was nicht besonders großartig klingt, hat durchaus interessante Konsequenzen: Da sich die Unterstützung für nicht-lateinische Alphabete in Qt 3 ebenso verbessert hat wie die bidirektionale Darstellung, profitiert auch KDE davon.

Während eine KDE-2-Applikation wie das KDE-Kontrollzentrum in Abbildung 1 auf einer nicht für den israelischen Markt gedachten SuSE-7.2-Installation bei eingespieltem hebräischem KDE-Internationalisierungspaket nur Fragezeichen aufwirft, klappt die Sprachumstellung bei KDE 3 hervorragend. Nicht nur, dass in Abbildung 2 ohne Installation zusätzlicher Fonts ordentliche hebräische Programmbeschriftungen zu begutachten sind – auch die Anordnung der Menüs und Buttons passt sich automatisch dem Leseverhalten von rechts nach links an und verhält sich spiegelverkehrt zur für europäische Augen gewohnten Sichtweise. Allerdings spielte – zumindest in der zum Redaktionsschluss aktuellen CVS-Version – das KDE-Panel noch nicht mit, sodass die Pfeile des gespiegelten Startmenü in die verkehrte Richtung zeigen…

Abbildung 1: Bei KDE 2.x ist der Umstieg auf Arabisch oder Hebräisch nicht so einfach
Abbildung 2: … bei KDE 3 hingegen eine Selbstverständlichkeit

Dass KDE 3 auf so wunderbare Weise zu den richtigen Schriftzeichen kommt, ist auf die in Qt 3 umgeschriebene Klasse QFont zurückzuführen. Ihre Benutzung hat zur Folge, dass das Programm nicht mehr stur lustige Ersatzzeichen ausgibt, wenn es keine Schrift findet, die alle Zeichen abdeckt. Stattdessen sucht es in den auf dem System installierten Fonts die passenden Glyphen heraus und mixt sie bei Bedarf zusammen. Den alten KDE-Code das neue QFont-API nutzen zu lassen, war so auch eine der aufwändigsten Aufgaben bei der Portierung.

Neue Features dank Qt

Nicht nur Umgeschriebenes, sondern auch Neuzugänge in Qt 3 sorgen für neue KDE-3-Features. So kommt die Desktop-Umgebung zum Beispiel ohne weiteren Aufwand zu Xinerama-Unterstützung, und auch die neue Qt-3-Klasse QTextEdit, die an sich schon einen einfachen Richtext-Editor zur Verfügung stellt, verkürzt bereits den Code einiger KDE-Programme. (Obwohl naheliegend, basiert der KDE-Editor Kate derzeit übrigens nicht auf QTextEdit.) Die neuen Qt-Klassen, die den Zugriff auf SQL-Datenbanken erleichtern, haben bislang noch keine Spuren in den KDE-3-Core-Paketen hinterlassen. Hiervon profitieren eher KDE-Programme Dritter.

Mit den ausklinkbaren Fenstern kommt in KDE 3 auch erstmals ein Feature zum Einsatz, das Qt bereits ab Version 2.2 enthält: Sofern ein Programmfenster aus mehreren Fragmenten besteht, lassen sich die, die mit einem Minibalken wie in Abbildung 3 ausgestattet sind, mit der Maus auf den Desktop ziehen. Die dabei entstehenden eigenständigen Fenster kann man sogar auf separate virtuelle Desktops verfrachten. Insbesondere, wenn mehrere Monitore zum Einsatz kommen, bei denen jeder einen anderen virtuellen Desktop anzeigt, vermag sich dadurch der Bedienkomfort von Programmen verbessern, bei denen das Hauptfenster möglichst viel Platz einnehmen soll.

Wer es beim Zerpflücken der Fenster zu weit getrieben hat, sollte erst einmal tief durchatmen – das Re-Integrieren von Teilfenstern zurück ins Hauptfenster erfordert nämlich eine ruhige Hand: Das Fensterfragment mit der linken Maustaste verschiebend, muss die Cursor-Spitze genau einen Fensterrand des Main-Windows oder eines darin integrierten Unterfensters treffen.

Abbildung 3: Überfrachtete Hauptfenster lassen sich auch zerpflücken

Neue Applikationen

Die vielen kleinen und größeren Bugfixes und Detailverbesserungen, die KDE 3 im wesentlichen ausmachen, täuschen aber nicht darüber hinweg, dass die Applikationenzahl – selbstverständlich – nicht konstant geblieben ist. Das neue Core-Paket kdeedu enthält neun Lernsoftware-Programme unterschiedlichster Coleur. Der auch für ältere Semester sinnvoll einsetzbare Vokabeltrainer kvoctrain gehört ebenso dazu wie das für Schüler/innen wie Lehrer/innen nützliche Geometrie-Zeichenprogramm kgeo (Abbildung 4) oder das "Heimplanetarium" kstars. Vorschulkinder lernen mit dem klettres-Bärchen die Buchstaben (des französischen Alphabets, Abbildung 5), um anschließend das flüssige Tippen mit ktouch zu üben. Allerdings dürften auch Erwachsene des Öfteren ins Grübeln kommen – ohne Studium der (noch nicht überall vorhandenen) Dokumentation ist die Bedienungsweise nicht immer auf den ersten Blick ersichtlich.

Abbildung 4: Edutainment in KDE: kgeo, kvoctrain und ktouch
Abbildung 5: Vorschule mit klettres

… und verbessertes Handling

Auf der Liste der Applikationen mit den meisten Verbesserungspunkten stehen (neben dem obligatorischen Konqueror) zwei höchst unterschiedliche Anwendungen auf den obersten Plätzen: konsole und kmail. Erstere hört jetzt auch auf die Kommandozeilenoptionen -tn Terminal-Typ, --noframe, --noscrollbar und --nomenubar. Während eine Änderung des Terminal-Typs (zum Beispiel auf vt100) besonders interessant ist für Leute, die remote, eventuell von Maschinen mit anderen Betriebssystemen aus, arbeiten, verzichtet eine Konsole mit fehlendem Rahmen (englisch: "frame") lediglich auf den "Schatten" um das Kommandozeilenfeld und wird somit eher spartanischen Gemütern gerecht. Einschalten kann man ihn (wie auch einen fehlenden Scroll-Balken) wieder über den Menüpunkt Einstellungen. Dieser ist nunmehr selbst dann schnell erreichbar, wenn man die Menüleiste per Kommandozeilenoption abgeschaltet hat: Die Tastenkombination [Strg-Alt-m] hilft hier aus der Bredouille. Eher zweifelhaft bei einem Programm doch eher geringen Funktionsumfangs erscheint hingegen das neue konsole-Feature "Tipp des Tages".

KMail seinerseits kann nun auch Mailboxen im Maildir-Format (eine E-Mail pro Datei, wobei ein übergeordnetes Verzeichnis den Mail-Folder repräsentiert) einlesen, was insbesondere Fans des Mail-Servers Qmail freuen wird. Andererseits bleibt das Sorgenkind IMAP wohl auch in Zukunft eines: Die angekündigten Verbesserungen ließen sich in der Vorversion nicht testen, da das Programm bei der Kontaktaufnahme mit dem IMAP-Server stets abstürzte.

Weniger ist manchmal mehr

Die Planungsliste für KDE 3 [2] war lang – doch nicht alles wurde auch realisiert. So stand ursprünglich die Idee eines Icon-Servers im Raum, der während einer KDE-Session von Applikationen bereits benutzte Bildchen nach Art eines Caches vorrätig hält. Ziel war, die Ladezeit beim Start einer Anwendung zu beschleunigen. Doch im Laufe der Diskussion stellte sich heraus, dass sich das Problem auch ohne zusätzliches Helferprogramm lösen lässt: Wenn Icons erst dann geladen werden, wenn sie wirklich von der Applikation gebraucht werden (statt alle zu Anfang), spart das nicht nur Startzeit, sondern auch noch einen Server…

Ob all die Neuerungen und Verbesserungen interessant genug sind, um einen Umstieg auf KDE 3.0 zu wagen, muss jede/r selbst entscheiden. Spielt der Plattenplatz keine Rolle, koexistieren auch mehrere KDE- und Qt-Versionen friedlich nebeneinander [3]. Die Entscheidung, den Usern neben dem Umstieg auf eine neue Bibliotheksversion keine revolutionären Umwälzungen zuzumuten, zeigt dabei auch, dass das KDE-Team erwachsener und verantwortungsvoller geworden ist.

Glossar

Major-Versionsnummer

In der Regel die Zahl vor dem ersten Dezimalpunkt einer Versionsangabe im Gegensatz zur danach folgenden "Minor-Versionsnummer". Diese Hauptversion ändert sich im Normalfall nur bei größeren Umstellungen und Funktionalitätszuwächsen. Folgt nach der Minor-Versionsnummer ein weiterer Punkt, bezeichnet die darauf folgende Zahl meist ein "Maintainance Release", bei dem es sich in der Theorie lediglich um Bug-Fixes handelt. Allerdings halten sich nicht alle Projekte immer an diese ungeschriebene Konvention.

GUI-Bibliothek

Eine Ansammlung von Quellcode, der Programmierer/innen bereits vorgefertigte Elemente grafischer Benutzeroberflächen (Knöpfe, Fenster, Menüleisten, Dialoge etc.) als Klassen zur Verfügung stellt. Unter Linux am weitesten verbreitet sind GTK+ und Qt.

bidirektionale Darstellung

(kurz: "Bidi") Wenn in von rechts nach links geschriebenen Texten (Hebräisch, Arabisch…) Begriffe aus Sprachen auftauchen, die von links nach rechts geschrieben werden (z. B. Englisch oder Russisch), muss die Schreib- bzw. Darstellungsrichtung zwischenzeitlich wechseln. Dabei handelt es sich um eine sehr anspruchsvolle Aufgabe bei der GUI-Programmierung.

Klasse

In der "objektorientierten Programmierung" Code, mit dem sich Objekte (zum Beispiel ein Button, ein Font oder eine ganze Applikation) erzeugen lassen. Um diese – oft noch sehr allgemein gehaltenen – Objekte individuell zu gestalten, enthält die Klassen-Implementierung Funktionen, bei deren Aufruf sich die Eigenschaft (Property) eines Objekts (beispielsweise seine Farbe) ändern lässt. Zudem können Objekte auch "Dinge tun" (eine Applikation kann sich schließen, ein Button eine Aktion ausführen), was ebenfalls durch Funktionen (Methoden) dieser Klasse realisiert wird.

Glyphen

Eine Glyphe bezeichnet ein einzelnes Zeichen aus einer Schrift.

API

"Application Programmer's Interface". Die Antwort auf die Frage "Wie lässt sich eine Klasse verwenden, ohne dass ich um die Implementierungsdetails wissen muss?", in einer Programmiersprache ausgedrückt. Bei C- oder C++ verbirgt sich das API zu einer Klasse normalerweise in Header-Dateien mit der Endung ".h". Vollständig ist ein API eigentlich nur mit der API-Dokumentation, die beschreibt, was die Klasse und ihre Funktionen tun, welche Funktionsargumente welche Bedeutung haben etc.

Xinerama

Darstellung eines virtuellen Desktops auf mehreren Monitoren, wobei sich Fenster zwischen ihnen hin und her schieben lassen und sogar "auf der Kante" liegen können, also teils auf dem einen, teils auf einem (oder gar mehreren) anderen Bildschirmen dargestellt werden.

SQL

Datenansammlung, die in Form von Tabellenstrukturen gespeichert ist und auf die mithilfe einer "Structured Query Language" genannten Abfragesprache zugegriffen werden kann. Beispiele für "Datenbank-Management-Systeme" (DBMS) auf SQL-Basis sind mySQL, PostgreSQL oder Oracle.

IMAP

"Internet Message Access Protocol", eine Möglichkeit, mit einem entsprechenden Dienstprogramm auf E-Mails zuzugreifen, die auf einem anderen Rechner gelagert werden. Vom Standpunkt des Users sieht es aus, als ob er/sie seine Postfächer lokal bearbeitet.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare