deskTOPia: waimea

Aus LinuxUser 01/2003

deskTOPia: waimea

Aloha Waimea

Entspannung, Komfort und eine schöne Aussicht – wer wünscht sich das nicht in den kalten Wintermonaten? Zumindest auf dem Desktop kann dieser Wunsch in Erfüllung gehen.

deskTOPia

Wie Ihr Linux-Desktop aussieht, bestimmen allein Sie. Mit deskTOPia nehmen wir Sie regelmäßig mit auf die Reise ins Land der Window Manager und Desktop-Umgebungen, stellen Nützliches und Farbenfrohes, Hingucker und hübsches Spielzeug vor.

Window Manager gibt es wie Sand am Meer, doch etwas scheint immer zu fehlen. Wie anders erklärt es sich sonst, dass trotz der guten Versorgung mit Fensterherrschern immer wieder neue geschrieben werden? Mit dem ehrgeizigen Ziel, den effizientesten von allen zu schaffen, hat sich auch David Reveman an’s Werk gemacht und waimea[1] entwickelt. Bis dahin ist es noch ein weiter Weg, doch schon jetzt beeindruckt das Programm durch Schnelligkeit und extreme Konfigurierbarkeit.

Die Einrichtung

Da die stabile Version 0.4.0 erst kürzlich erschien, kann man zur Installation noch nicht auf fertige Binär-Pakete zurückgreifen, sondern muss selbst Hand anlegen, sprich kompilieren. Allerdings ist waimea ein genügsamer Vertreter seiner Gattung und setzt lediglich XFree, Imlib2 und die entsprechenden Development-Pakete voraus. Wollen Sie TrueType-Schriften nutzen, sollten auch libfreetype und das dazu gehörende Entwicklerpaket vorhanden sein.

Sind diese Voraussetzungen erfüllt und der Source-Code entpackt, erledigt der Dreisatz ./configure; make; make install-strip die Installation nach /usr/local. Da sich waimea zum Setzen des Hintergrunds des externen Programms Esetroot bedient, empfiehlt es sich, das Paket Eterm von den CDs Ihrer Distribution zu installieren. Alternativ ersetzen Sie den Aufruf von Esetroot in der letzten Zeile der Datei /usr/local/share/waimea/styles/Default.style durch ein anderes Programm, beispielsweise durch chbg[2].

Wie starten?

Gar vielfältig sind die Wege der Distributionen, den Wunsch-Window-Manager festzulegen, so dass Ihnen hier hoffentlich die Dokumentation Ihres Distributors weiter hilft. Distributionsunabhängig liegt die Zuständigkeit für die Auswahl des Fenstermanagers bei den Dateien ~/.xinitrc (wenn Sie den X-Server mit startx auf einer Konsole starten) oder ~/.xsession (wenn Sie sich grafisch einloggen). Soll waimea zum Einsatz kommen, kommentieren Sie die Startzeile des gewohnten Window Managers oder einer Desktop-Umgebung aus und tragen stattdessen die Zeile

exec /usr/local/bin/waimea

ein. Sieht Ihre X-Start-Datei komplizierter aus, legen Sie eine Sicherheitskopie davon an und erzeugen eine neue ~/.xsession bzw. ~/.xinitrc, in der lediglich diese eine Zeile steht. Eventuelle Auswahlmöglichkeiten beim grafischen Login entfalten dann natürlich keine Wirkung mehr; stattdessen startet waimea (Abbildung 1). Eine Ausgangsbasis für die individuelle waimea-Konfiguration bekommen Sie, indem Sie die systemweite Konfig-Datei mittels

cp /usr/local/share/waimea/config ~/.waimearc

in Ihr Home-Verzeichnis kopieren. Vorsorglich legen Sie dort zudem noch das Verzeichnis .waimea an, in dem Sie später eigene Styles, Menüdateien und Ihre persönliche Konfiguration der Fenstersteuerung speichern.

Abbildung 1: waimea in der Default-Konfiguration

Abbildung 1: waimea in der Default-Konfiguration

Desktops und Arbeitsflächen

Erscheinen Ihnen die vier, über das Kontextmenü der rechten Maustaste im Punkt desktops zu erreichenden Desktops etwas zu viel des Guten, passen Sie deren Anzahl (screen0.numberOfDesktops) in ~/.waimearc an.

Jeder Desktop besteht aus einer Reihe von Arbeitsflächen (screen0.virtualSize) von der Größe des Bildschirms; Sie haben es also mit einem virtuellen Desktop zu tun, von dem Sie immer nur einen Teil sehen. Zwischen den Arbeitsflächen wechseln Sie, indem Sie mit der Maus an einen Bildschirmrand fahren. Alternativ scrollen Sie im sogenannten Viewport-Modus stufenlos über den gesamten Desktop, indem Sie die Maus bei gedrückt gehaltener mittlerer Maustaste über den Bildschirm bewegen. Anfangs etwas ungewohnt, da eine Mausbewegung nach links Ihnen einen weiter rechts stehenden Desktop-Ausschnitt ins Sichtfeld rückt, erweist sich diese Form der Navigation nach kurzer Gewöhnungsphase als ausgesprochen komfortabel.

In der Standard-Einstellung besteht ein Desktop aus 3x3, also neun schachbrettartig angeordneten Arbeitsflächen. Ändern Sie diesen Wert in der ~/.waimearc auf

screen0.virtualSize:  2x2

so steht Ihnen pro Desktop ein Quadrat aus vier Arbeitsflächen zur Verfügung. Ersetzen Sie 2x2 durch 4x1, ordnet der Desktop alle vier Arbeitsflächen in einer horizontalen Reihe an.

Maus-zentrisch

Auch die Fenstersteuerung gestaltet sich über die bekannten Fenster-Buttons recht angenehm: Standardmäßig stattet waimea jedes Fenster mit Knöpfen zum Schließen, Maximieren und für’s Shading aus, mit dem man es auf seine Titelleiste reduziert. Die Größe eine Fensters ändern Sie, indem Sie mit gedrückter linker Maustaste an den Anfassern unten links und rechts ziehen. Weitere Optionen finden sich im Fenstermenü, das Sie über einen Rechtsklick auf die Titelleiste erreichen.

Dort können Sie Fenster festpinnen, widerspenstige Programme “killen” oder Ihr Fenster auf einen anderen Desktop verschieben. Ein Klick auf join all im Untermenü desktop functions sorgt für Omnipräsenz des betreffenden Fensters auf allen Desktops, die ein Klick auf part all wieder rückgängig macht. Mit Hilfe des Untermenüs desktop functions / join desktop stellen Sie ein Fenster nur auf ausgewählten Desktops dar.

Das Untermenü process info bietet Prozessinformationen zum laufenden Programm, etwa den Speicherverbrauch, und gibt Ihnen die Möglichkeit, die Priorität des Prozesses zu ändern oder ihn zu beenden. Leider stehen diese Informationen erst unter XFree ab Version 4.2 und nicht für alle Programme zur Verfügung, was waimea in einer kurzen Meldung mitteilt. Auf einem SuSE-8.0-Testrechner mussten wir sogar komplett auf dieses Feature verzichten.

Das per Rechtsklick auf den Desktop-Hintergrund erhältliche Kontextmenü nennt sich root menu. Damit können Sie beispielsweise Programme starten oder einen anderen Style laden. Anhand der als Default benutzten Vorlage /usr/local/share/waimea/menu erstellen Sie leicht eine individuell angepasste Variante, die sie z. B. in ~/.waimea/mymenu ablegen. Mit der Zeile

screen0.menuFile:  /home/andi/.waimea/mymenu

in ~/.waimearc weist man waimea an, diese Menübeschreibung zu benutzen. Dass eine einzige Zeile das Untermenü (in der Konfigurationssyntax sub genannt) styles in der Menüdatei erzeugt, verdankt es dem Perl-Skript stylesdir.pl. Es handelt sich dabei um ein dynamisches Menü, welches über Konfigurationsdateien eingebunden wird. Falls Sie über Perl-Kenntnisse verfügen, können Sie die waimea-Menüs mit eigenen Skripten erweitern.

Und die Tastatur?

Hochgradig konfigurierbar, erlaubt waimea dem Benutzer, für jedes Ereignis eigene Aktionen zu definieren. Zu diesen Events gehören Tastendrücke ebenso wie Mausklicks, so dass Liebhaber der Tastatursteuerung ebenso wenig wie jene Benutzer außen vor bleiben, die dem Sloppy-Focus-Verhalten nichts abgewinnen können.

Da das Erstellen einer dazu benötigten action-Datei viel Arbeit bedeutet, liefert David Reveman im Verzeichnis /usr/local/share/waimea/actions schon einige mit. Finden Sie eine zumindest grundlegend dem eigenen Geschmack entsprechende Steuerungsdatei, kopieren Sie sie nach ~/.waimea/myaction und passen sie an. Da darin nur ein Teil der möglichen Optionen definiert wird, lohnt sich ein Blick in die ausführliche waimea-Manpage. In der Datei ~/.waimearc setzen Sie den Window Manager von den neuen Regeln in Kenntnis:

screen0.actionFile:  /home/andi/.waimea/myaction

Die wenigen, in der Default-Konfiguration definierten Tastaturkombinationen listet Tabelle 1 auf.

Tabelle 1: Tastaturkombinationen

[Alt-F1] Fenster minimieren/wiederherstellen
[Alt-F2] Fenster maximieren/wiederherstellen
[Alt-F3] Fenstermenü aufrufen
[Alt-F4] Fenster schließen (Programm beenden)
[Alt-F10] Fenster killen (Programm mit dem Signal SIGKILL beenden, dabei gehen ungespeicherte Daten verloren)
[Alt-Tab] Liste der geöffneten Fenster
[Strg-Esc] root-Menü aufrufen
[Esc] aktives Menü schließen
[Tab] zum nächsten Menü-Item wechseln
Pfeiltasten Navigation in Menüs
[Enter] Menüpunkt auswählen

Angedockt

Bei der täglichen Arbeit hat man manche Dinge gern immer im Blick, etwa die Uhrzeit oder den Speicherverbrauch des Systems. Dafür eignen sich die von Windowmaker kommenden Dock Apps, die waimea voll unterstützt. Sie können sogar mehrere Docks einrichten und genau festlegen, auf welchem Desktop sie erscheinen sollen. Die dazu nötigen Einstellungen nimmt wieder einmal die Datei ~/.waimearc auf. Listing 1 verschafft Ihnen mit einer kommentierten Dock-App-Sektion einen Einblick.

Etwas verwirrend ist dabei nur die Syntax für die Reihenfolge, in der die Applets angeordnet werden. Es handelt sich um reguläre Ausdrücke [3], denen ein Filterkriterium vorangestellt wird. Ein n/ weist waimea an, den nachfolgend definierten regulären Ausdruck auf die Namen der gestarteten Applets anzuwenden. So erfasst der reguläre Ausdruck n/.@L: *mon$/ alle Applets, deren Namen mit einem oder mehreren beliebigen Zeichen (.@L: *) beginnen und auf mon enden (mon$). Das trifft auf wmsysmon, bubblemon und wmmemmon zu, welche im vertikalen Dock zuerst erscheinen. Leitet man den regulären Ausdruck statt mit n/ mit c/ ein, wendet waimea ihn auf ganze Fenster-Klassen an. Live und in Farbe vermittelt Abbildung 2 einen Eindruck der grafischen Möglichkeiten.

Abbildung 2: waimea im mood-Style mit zwei Docks

Abbildung 2: waimea im mood-Style mit zwei Docks

Listing 1

Definition zweier Docks in

~/.waimearc

# Dock Nr. 1
# Position
screen0.dock0.geometry:    -0-0
# Anordnung der gestarteten Anwendungen
screen0.dock0.order:       n/.@L: *mix/ n/.@L: *fish/ n/.@L: *Clock/ n/.@L: *cube$/ n/ascd/
screen0.dock0.direction:   Horizontal
# auf allen Desktops
screen0.dock0.desktopMask: All
# zentriert, überschreibt Position
screen0.dock0.centered:    True
# Abstand
screen0.dock0.gridSpace:   2
# Immer im Vordergrund
screen0.dock0.stacking:    AlwaysOnTop
# wird von maximierten Fenstern nicht überdeckt
screen0.dock0.inworkspace: False
# Dock Nr. 2
# Position oben links
screen0.dock1.geometry:    +0+0
screen0.dock1.order:       n/.@L: *mon$/ n/asmem/ n/wmfire/ n/wmcpuload/
screen0.dock1.direction:   Vertical
# auf Desktop 2 und 3
screen0.dock1.desktopMask: 2 3
screen0.dock1.centered:    False
screen0.dock1.gridSpace:   2
screen0.dock1.stacking:    AlwaysOnTop
screen0.dock1.inworkspace: False

Stilvoll

Dass der Programmautor eine Vorliebe für grafische Spielereien hat, sieht man auf den ersten Blick: Es gibt wohl kein Detail der Fensterdekoration, das nicht frei konfigurierbar ist. Ob einfarbig, mit pseudo-transparenten Pixmaps oder gar durchsichtigen Menüs samt TrueType-Schrift und Antialiasing – der optischen Wandlungsfähigkeit von waimea sind nur die Grenzen Ihrer Phantasie gesetzt.

All diese Einzelheiten werden in sogenannten Style-Dateien definiert. Welche waimea benutzt, teilen Sie dem Window Manager in der Konfigurationsdatei ~/.waimearc mit. Per Default kommt die mitgelieferte Datei /usr/local/share/waimea/styles/Default.style zum Einsatz. Die darin enthaltene Optionsvielfalt erschlägt den Nutzer förmlich. Hat man nicht die Geduld, selbst einen Style zu schreiben oder Default.style anzupassen, muss man sich nach Alternativen umsehen.

Da waimea die Style-Dateien des Window Managers blackbox unterstützt, finden Sie unter [4] unzählige Styles. Obwohl nicht alle blackbox-Optionen (z. B. besitzt waimea keine Toolbar) funktionieren, gibt es keine Probleme, da waimea die ihm unbekannten ignoriert. Andersherum nutzen blackbox-Style nicht alle waimea-Features aus; beispielsweise lassen sich keine pseudotransparenten Texturen definieren.

Inzwischen stellen aber auch einige grafisch talentierte waimea-Fans selbstentworfene Styles zur Verfügung [5]. Neben einigen Beispielen finden Sie auf der Heft-CD die Datei Readme.styles, die Hinweise gibt, wie Sie die Styles in Ihr System einbinden.

Glossar

Sloppy-Focus

Bei dieser Variante des Fenster-Managements reagiert ein Fenster auf Eingaben, sobald sich der Maus-Cursor über ihm befindet. Handelt es sich dabei nicht um das oberste Fenster von mehreren überlappenden, bleibt es aber weiterhin im Hintergrund.

Fenster-Klassen

Jedes Fenster, das auf dem Display gezeichnet wird, gehört zu einer mehr oder weniger aussagekräftigen, vom Programmierer vorgegebenen Fenster-Klasse, die sich mit den Befehlen “xlsclients -l” oder “xprop -name programmname” auslesen lässt.

Antialiasing

Die Kantenglättung bei Schriften soll ein weniger eckiges Aussehen der Fonts bewirken. Je nach Anwendung kann sich Antialiasing auch nachteilig auswirken und zu einem unscharfen Schriftbild führen.

Infos

[1] http://www.waimea.org/

[2] Joachim Moskalewski: “Hintergrund-Menü”, LinuxUser 12/2001, S. 72, http://www.linux-user.de/ausgabe/2001/12/072-desktopia/desktopia-chbg-3.html

[3] Marc André Selig: “Nadel im Heuhaufen”, LinuxUser 08/2002, S. 74

[4] http://themes.freshmeat.net/browse/920/

[5] http://130.239.134.83/cgi-bin/waimea/waimeass.pl?mode=list

LinuxUser 01/2003 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben