Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
convert to palmConvert to PalmDoc

[Bild des Autors]
by Geoffrey W. Corey

About the author:
Computer sind mein Hobby und mein Beruf, am meisten liegt mir aber an meiner Familie. Ich bin der stolze Vater eines 4-jährigen Sohns - Joshua - und der 10 Monate alten Zwillinge Aaron und Ryan. Meine Frau Jennifer ist einfach die Beste und unterstützt mich bei meiner seltsamen Karriere im Computerbereich. Momentan arbeite ich bei einer kleinen Outsourcing-Firma ClientLink und arbeite dort an sehr großen Datenbanken und Objektorientierter Analyse & Design.
Content:

Enlightenment

[Ilustration]

Abstract:

Enlightenment ist ein sehr weit konfigurierbarer Windowmanager für Linux. Dieser Artikel beschreibt die Features, die Installation und die Konfiguration des Enlightenment Windowmanagers. Die aktuelle Version ist allerdings immer noch als Entwicklerversion anzusehen. Deshalb richtet sich dieser Artikel an die Leser, die Erfahrung mit der Entwicklung und der Kompilierung von Programmen unter Linux haben - aber nicht nur.



 

Einführung

Enlightenment ist ein grafikintensiver Windowmanager. Die Autoren von Enlightenment haben einen sehr weit konfigurierbaren Windowmanager erstellt, der es Nutzern erlaubt jeden Aspekt des Aussehens eines Windowmanagers zu konfigurieren. Vorbei sind die Tage der rechteckigen "Fenster" - wie sie so manches andere Betriebssystem diktiert. Mit Enlightenment kehrt der Spaß an der Computerarbeit zurück! Die Arbeitskollegen sollen vor Neid grün werden? Ganz einfach: Installiere das Standardtheme, welches Enlightenment beiliegt. Sie sollen ausflippen, weil ihr Computer so etwas nie unterstützen wird? Einfach Aliens oder Neuromancer als Theme installieren. Dies sind nur zwei von ca. 20 erhältlichen Themes für Enlightenment. All diese Themes findet man unter http://www.enlightenment.org/themes, der Enlightenment Web-Seite.

Eine kleine Warnung: Enlightenment benötigt einen recht schnellen Prozessor und eine vernünftige Grafikkarte um in all seiner Pracht zu glänzen. Bei mir läuft Enlightenment auf einem Pentium 90 mit einer Vision 864 S3 Grafikkarte mit 2 MB Speicher. Diese Konfiguration würde ich als unterste Grenze ansehen. Es gibt allerdings auch Themes für kleinere Rechner, so zum Beispiel das Executive theme.

Das folgende Bild zeigt das Standard Theme von Enlightenment.

Oben rechts findet man die "desktop buttons". Über diese Buttons können Anwendungen wie xterm, netscape, gimp etc. gestartet werden. Wenn man auf die letzten 3 Buttons klickt, öffnet sich rechts auf dem Bildschirm eine Schublade in der man Thumbnails von Bildern findet, die man als Hintergrund nutzen kann.

Unten links auf dem Bildschirm befinden sich die virtuellen Desktops. Durch klicken kann man zu den verschiedenen Desktops springen. Auf den Buttons findet sich das Layout der Fenster wieder, die auf dem jeweiligen Desktop aktiv sind. Man kann sie sogar durch einfaches Ziehen mit der Maus auf den virtuellen Desktops selber verschieben.

Oben links befindet sich die Icon Box. Wenn ein X-Fenster minimiert wird, wird ein Icon für diese Anwendung dort plaziert. Wenn die Icon Box voll ist, besteht die Möglichkeit anhand der Scroll Buttons (oben und unten an der Icon Box) die Liste der Icons durchzusehen. Icons werden wiederhergestellt, indem man sie aus der Iconbox auf den Desktop zieht.

In der Mitte des Bildschirms ist ein Popupmenü sichtbar. Popup Menüs kann man sich durch klicken mit einer der drei Maustasten auf den Bildschirmhintergrund anzeigen lassen.

Das Standard Theme 
Enlightenment Screenshot
 
Das Obsidian Theme 
Obsidian Theme
Es gibt etliches an interessantem Zubehör für Enlightenment.   Einfach mal http://www.enlightenment.org ansteuern und Eterm und Eplus runterladen. Eterm ist eine hübsche Version vom rxvt und Eplus beinhaltet so ziemlich alle anderen nötigen Applikationen! Eplus beinhaltet einen CD-Player, ein Überwachungstool für eingehende E-Mails, einen Systemmonitor und viele kleine Spielereien um die Kollegen zu beeindrucken. Eplus's "look and feel" kann genau wie Enlightenment beliebig konfiguriert werden. Andere Programme speziell für Enlightenment sind natürlich auch erhältlich. Ein MUSS ist eMusic. eMusic ist ein aufgemotzter mp3, MOD und CD-Player. Ganz nach Art des Hauses kann eMusic nach belieben angepaßt werden.
 
Hier ist ein Screenshot des Obsidian Themes, welches sich vom Standard Theme völlig unterscheidet. Ganz unten befinden sich die virtuellen Desktops. Die Reihe darüber beinhaltet die Menüs, die Icon Box und Eplus.

Die Kreativität in der Computerbranche ist Dank der vielen Menschen die für Linux entwickeln noch längst nicht gestorben.

   

Installation

Die Installation kann etwas pricklig sein, wenn man sich nicht mit Makefiles und Library-Pfaden auskennt. Immer dran denken: Enlightenment ist noch eine Enwicklerversion. Ich habe Enlightenment erfolgreich auf einem Debian 1.3.1 System und auf einer RedHat 5.0 Distribution installiert. Die Installation auf dem Debian System war ziemlich einfach, da auf der CD schon die jpeg, png, tiff und z-Libraries enthalten waren. Die Installation auf dem Redhat-System geriet etwas schwieriger, da dieses auf der glibc basiert. Deswegen werde ich hier von der Installation auf dem Redhat-System schreiben. Eine weiterführende Installationsanleitung kann auf der Enlightenment Website gefunden werden. Bitte lest erst die Anleitung auf dieser Website um sicher zu gehen, daß die korrekten Libraries installiert sind bevor ihr Enlightenment kompiliert. Ich werde hier kurz beschreiben, wie ich Enlightenment installiert habe und werde einige Workarounds für Probleme beschreiben, welche auftreten können.

Zuerst werden die neuesten Imlib Libraries benötigt, welche unter http://www.labs.redhat.com/imlib beziehbar sind. Die meisten Probleme tauchen dann auf, wenn man versucht die neuen Libraries zu installieren, während die alten Versionen noch irgendwo auf der Platte rumfliegen. Also schaut bitte in /usr/lib/ nach, ob dort noch alte Versionen der jpeg-, tiff-, png-, z- und Imlib-Libraries vorhanden sind. Ältere Versionen einfach löschen, um sicher zu gehen, daß nur die neuesten Versionen installiert werden. Alle Libs sind als .rpm erhältlich.

Es gibt eine RPM-Version von Enlightenment. Ihr könnt also einfach versuchen diese Version zu installieren und gucken ob sie funktioniert. Um Enlightenment zu starten muß noch die .xinitrc in $HOME/ ediert werden. Mit 'insert-your-favourite-Editor-here .xinitrc' öffnen und die folgende Zeile hinzufügen:

exec /usr/local/enlightenment/bin/enlightenment

Die Datei abspeichern und dann das folgende Kommando auf der Konsole eintippen (Achtung: Enlightenment hat eine fantastische Graphik und sollte deswegen am besten in der höchstmöglichen Auflösung mit der höchstmöglichen Farbtiefe gestartet werden, 16-Bit sollten wirklich als Minimum betrachtet werden.)

startx -- -bpp 16

Falls Enlightenment jetzt nicht starten sollte, müsste man den Fehler eigentlich am Ende der X Window Info sehen können. Man sollte dadurch selbst herausfinden können, was schiefgegangen ist. Falls nicht, kann man immer noch versuchen den Source von Enlightenment selbst zu kompilieren.

 

Den Source kompilieren

Nachdem die Sourcedateien mit tar -xvf entpackt wurden sollte man die Datei INSTAL im erzeugten Verzeichnis lesen, um zu verstehen wie man Enlightenment selbst kompiliert. Kurzversion:

Falls die Übersetzung fehlgeschlagen ist, weil die png, jpeg, tiff Libs nicht gefunden wurden, dann ediert das Makefile, sucht nach LOCAL_LIBRARIES und stellt sicher, daß die Zeile genau so aussieht:

LOCAL_LIBRARIES = -lImlib -ltiff -lgif -ljpeg -lpng -lz

Wenn die Übersetzung dann hingehauen hat, einfach 'make install' aufrufen und alles sollte okay sein. Falls nicht: Überprüft ob noch Libraries in /usr/lib/ doppelt vorhanden sind und ob das Makefile sie finden kann.

 

Enlightenment konfigurieren

Ein neues Theme hinzufügen

Okay, ihr habt ein Theme von Enlightenment.org runtergeladen. Und was jetzt? Also, kopiert die Datei nach /usr/local/enlightenment/themes. Um ein neues Theme beim Start verfügbar zu haben, muß nur die .xinitrc geändert werden, indem das Theme der Startzeile von Enlightenment hinzugefügt wird. Beispiel: Wir haben das Neuromancer Theme runtergeladen. .xinitrc mit dem Editor öffnen, und den -theme Parameter mit dem Namen des Themes an den Startbefehl anhängen. Die Zeile sieht dann also wie folgt aus:

exec /usr/local/enlightenment/bin/enlightenment -theme Neuromancer

Dann X wie gewohnt im 16-Bit Modus starten:

startx -- -bpp 16

Enlightenment sucht jetzt beim Start nach einem File namens `Neuromancer` bzw. einem Verzeichnis mit dem gleichen Namen in /usr/local/enlightenment/themes/. Wie zu sehen ist, ist jedes Theme ziemlich einzigartig und zeigt die Kreativität der Autoren dieser Themes.

Was ist überhaupt ein Theme? Die Datei, die ihr runtergeladen habt ist eine komprimierte tar Datei (.tgz). Diese Datei kann dann einfach im Theme-Verzeichnis dekomprimiert und entpackt werden. Genau das werden wir jetzt machen und werden dann versuchen einige der Buttons und Menüs an unsere Gepflogenheiten anzupassen.

Anpassung eines Themes

Es gibt ein TCL/TKbasiertes Utility Econfig mit dem man die Konfigurationsdateien für ein Theme edieren kann. Wir werden aber etwas tiefer in die Materie gehen und den 'vi' - bzw. jeden beliebigen anderen Editor - benutzen. Die Themes befinden sich unter /usr/local/enlightenment/themes/ und sind nichts anderes als tarballs (.tgz). Um das DEFAULT Theme zu entpacken einfach folgendes machen:

Beim Starten eines Themes liest Enlightenment zuerst die Datei MAIN. Wenn ihr euch diese Datei anschaut, seht ihr, daß dort die ganzen anderen Dateien die für das Setup des Themes benötigt werden, eingelesen werden. Die meisten anderen Themes folgen diesen Richtlinien des DEFAULT Themes.
 
 

Dateiname Beschreibung
MAIN Diese Datei wird beim Start von Enlightenment gelesen. Über diese Datei können andere Dateien gestartet werden, die für das Aussehen von Fenstern, Menüs, Buttons, Desktops, Cursors etc. verantwortlich sind.
buttons Definiert die Position, das Aussehen und die Auswirkungen der Buttons die sich auf dem Desktop befinden. Im DEFAULT Theme sind dieses die Buttons die sich links oben auf dem Desktop befinden.
control Definiert das Verhalten des Windowmanagers, so z.B. ob ein Fenster automatisch in den Vordergrund gelegt wird, falls es für eine gewisse Zeitdauer den Fokus hat. Ediert die Datei einfach mal und probiert aus, welche Auswirkungen irgendwelche Änderungen haben. Die Features sind sehr gut dokumentiert.
cursors Definiert das Aussehen des Mauscursors
desktops Definiert das Aussehen und die Position der virtuelle Desktops. Im DEFAULT Theme sind das die Bilder welche unten links auf dem Desktop sind.
exec Definiert, welche Programme beim Start von Enlightenment automatisch mitgestartet werden.
fx Definiert 'special FX' die von Enlightenment bereitgestellt werden. Dies ist eine spaßige Datei, ändert einfach mal die 'drop-shadows' von off nach on.
icons Definiert das Fenster welches die verkleinerten Programme beinhaltet, d.h wenn ein Programm minimiert wird, erscheint ein Icon dieses Programms in der Icon Box. beim DEFAULT Theme befindet sich die Icon Box oben rechts auf dem Desktop.
infobox Definiert das Infofenster welches beim Start angezeigt wird. Das ist das Logo was man sieht, wenn Enlightenment gestartet wird und die Konfigurationsdateien lädt.
keys Definiert Hot-Keys und ihr Verhalten. Diese Datei kann z.B. so angepaßt werden, daß die Taste F5 den Gimp startet.
menus Definiert das Aussehen und das Verhalten der Popup-Menüs. Dies sind die Menüs, die durch klicken mit einer der drei Maustasten auf den Desktop-Hintergrund angezeigt werden. Wir werden uns diese Menüs etwas später genauer ansehen.
pix Dies ist das Verzeichnis, in dem sich alle Bilddateien für ein Theme befinden
root Definiert das Hintergrundbild.
status Diese Datei definiert die Fenster die beim Starten von Enlightenment auf dem Bildschirm erscheinen.
text Definiert die Schriftart die für Text benutzt wird.
windowstyles In dieser Datei werden die Fensterrahmen, -buttons und das Verhalten für alle Fenster unter X definiert.
 

Anpassen und Konfiguration der Menüs

Normalerweise werden die Menüs in der Datei 'menus' konfiguriert. Zuerst kann man z.B. nur den Text und die 'action'-Zeile (führt Programm aus) für ein schon existierendes Programm ändern. Viele dieser Menüeinträge existieren nämlich nicht auf meinem Computer, ich kann diese Zeilen also für Programme nutzen, welche auf meinem Rechner vorhanden sind. Später möchte man dann eventuell eigene Programme hinzufügen, so z.B. einen Taschenrechner.

Achtung! Bevor ihr irgendwelche Konfigurationsdateien ändert: SICHERHEITSKOPIEN ERSTELLEN NICHT VERGESSEN!!!

Um einen Menüeintrag anzuhängen, 'cuttet & pasted' einfach ein 'begin menuitem' bis zu 'end' an das Ende der Liste (natürlich innerhalb von 'begin menu' und 'end'). Sucht z.B. nach 'Random' innerhalb der 'menu' Datei. Dies sind die Einträge für das Menü 'Random Garbage' welches man durch Rechtsklicken mit der Maus auf den Bildschirm zaubert. Nun sucht nach 'Xsnow' und ihr findet euch am Ende der 'Random Garbage' Menüeinträge wieder. Kopiert von 'begin menuitem' bis 'end' (direkt nach 'action exec xsnow') und fügt es vor dem letzten 'end' wieder ein. Nun macht aus 'Xsnow' ein 'Schriftarten' und ändert 'action exec xsnow' zu 'action exec xfontsel'.

Jetzt kommt der schwierige Teil ;) . Wie man sehen kann beinhaltet 'Xsnow' den Eintrag '0 312' und 'size' ist '253 24'. Um die erste Zahl braucht ihr euch nicht zu kümmern. Wenn man allerdings 312 durch 24 dividiert erhält man 13. Das liegt daran, daß 'Xsnow' der 14.(!) Menüeintrag ist. Die 13 erscheint deswegen, weil Enlightenment beim menuitem 0 anfängt zu zählen. Also müssen wir für den Eintrag 'Schriftarten' 24 zu 312 dazuaddieren. Also muß 312 durch 336 ersetzt werden (beim 'menuitem Schriftarten'). Außerdem muß die Anzahl der Einträge auf 15 erhöht werden (von 14) - zwei Zeilen über dem Eintrag 'Random Garbage'. Außerdem muß 'dimensions 253 336' durch 'dimensions 253 360' ersetzt werden.

Die Alternative dazu wäre natürlich Econfig zu nutzen, und das ganze einfach über ein X-Interface zu ändern. Allerdings habe ich Econfig noch nicht ausprobiert. Es scheint allerdings, daß das ganze mit Econfig etwas einfacher ist.

Ausschnitt aus der Datei 'menus':

------- Schnipp! -------
begin menu
  name root3
  type custom
  dimensions 253 336
  popupdist 126 12
  items 14
  begin menuitem
    text Random Garbage
------- Schnipp! -------
 begin menuitem
    text Xsnow
    type element
    location 0 312
    size 253 24
    text_location 5 5
    text_size 243 14
    image unselected pix/menu_plain_1.ppm  shapemode on 255 0 255
    image selected   pix/menu_plain_2.ppm  shapemode on 255 0 255
    action exec xsnow
  end
end
-------- Schnipp! -------

Ausschnitt aus der geänderten Datei 'menus':

-------- Schnipp! -------
begin menu
  name root3
  type custom
  dimensions 253 360
  popupdist 126 12
  items 15
  begin menuitem
    text Random Garbage
-------- Schnipp! -------
  begin menuitem
    text Xsnow
    type element
    location 0 312
    size 253 24
    text_location 5 5
    text_size 243 14
    image unselected pix/menu_plain_1.ppm  shapemode on 255 0 255
    image selected   pix/menu_plain_2.ppm  shapemode on 255 0 255
    action exec xsnow
  end
  begin menuitem
    text Schriftarten
    type element
    location 0 312
    size 253 24
    text_location 5 5
    text_size 243 14
    image unselected pix/menu_plain_1.ppm  shapemode on 255 0 255
    image selected   pix/menu_plain_2.ppm  shapemode on 255 0 255
    action exec xfontsel
  end
end
------- Schnipp! ------
 

Okay, um nun die Auswirkungen zu testen klickt mit der linken Maustaste auf den Bildschirm, wählt 'Exit Options' aus und dort dann 'Restart'. Enlightenment liest dann die Konfigurationsdateien erneut ein und startet neu. Während des Neustarts bleiben alle Fenster geöffnet, man kann also keine nicht gespeicherten Daten verlieren. Nachdem Enlightenment wieder läuft, einfach mit der rechten Maustaste auf den Bildschirm klicken am Ende des Menüs sollte jetzt der Eintrag 'Schriftarten' erscheinen. Probiert's einfach aus!

Das Aussehen der Buttons wird auf ähnliche Weise geändert. Schaut euch einfach mal die Konfigurationsdateien an, aber vergeßt vor dem Ändern dieser Dateien eines nicht: Sicherungskopien erstellen!
 

Die Zukunft von Enlightenment

In Zukunft wird Enlightenment GNOME kompatibel sein. Die Autoren - so z.B. Mandrake & Rasterman - schreiben Enlightenment komplett neu für DR0.14. Rasterman hat schon länger GNOME-features eingebaut, da er momentan Mitarbeiter des GNOME Projekts bei den Red Hat Labs ist. Eine Demo des 'Developer Releases' 0.14 ist veröffentlicht worden, beinhaltet aber noch keinerlei Konfigurationsmöglichkeiten. Die Demo ist veröffentlicht worden um einige der netten Features von DR0.14 aufzuzeigen. Zum Zeitpunkt an dem dieser Artikel erscheint, sollte DR0.14 für die Öffentlichkeit verfügbar sein - außer es treten noch unvorhergesehene Probleme auf.
Webpages maintained by the LinuxFocus Editor team
© Geoffrey W. Corey, FDL
LinuxFocus.org

Click here to report a fault or send a comment to Linuxfocus
Translation information:
en -> -- Geoffrey W. Corey
en -> de Ralph Angenendt

2001-01-17, generated by lfparser version 2.7