Dieser Artikel ist verfübar in: English Castellano ChineseBig5 Deutsch Francais Italiano Nederlands Portugues Russian Turkce Korean |
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: |
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.
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.
Das 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. |
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.
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.
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.
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. |
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!
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:
|
2001-01-17, generated by lfparser version 2.7