Window Maker Themes selbst bauen

Aus LinuxUser 04/2003

Window Maker Themes selbst bauen

Diplom-Desktop-Designer

Kaum ein Window Manager ist schlank und zugleich so flexibel wie Window Maker. Wir zeigen Ihnen, wie Sie die Oberfläche nach Ihren Ideen gestalten und Themes entwerfen.

Bevor wir uns auf das Erstellen eigener Icons, Menü-Leisten und Hintergründe stürzen, schauen wir uns einige Grundlagen an.

Abbildung 1: Ein Window Manager, viele Gesichter

Abbildung 1: Ein Window Manager, viele Gesichter

Obwohl der Window Manager in den meisten Distributionen enthalten ist, möchten Sie vielleicht eine taufrische Version von http://www.windowmaker.org ziehen und selber backen. Hier gilt es vor allem zu beachten, dass Sie eine eventuell gewünschte KDE- oder GNOME-Unterstützung explizit in das Programm kompilieren müssen. Zunächst entpacken Sie den Tarball.

Der Aufruf des configure-Skriptes mit KDE-/GNOME-Support hat dann die folgende Form:

./configure --enable-kde --enable-gnome

Weitere Optionen wie beispielsweise die Open-Look-Unterstützung (–enable-openlook) finden Sie in der Datei INSTALL im Window-Maker-Verzeichnis des entpackten Tarballs oder mit dem Befehl ./configure –help. Wenn Sie keine Parameter auswählen möchten, lässt sich das Programm im üblichen Dreischritt bauen. Als User führen Sie dazu zwei Befehle aus:

./configure
make

Nachdem Sie sich als root angemeldet haben, vollenden Sie die Installation mit den Kommandos:

make install
ldconfig

Benutzer von SuSE Linux können statt ldconfig auch SuSEconfig aufrufen. Letzteres dauert nur etwas länger, da das SuSE-Skript neben ldconfig noch weitere Programme abarbeitet.

Nach dem Eintrag der Zeile

exec wmaker

in die Datei ~/.xinitrc oder ~/.xsession ist Ihre neue Oberfläche schon startbereit.

Erste Eindrücke

Sehen wir uns ein bisschen im Window Maker um. Die mittlere Maustaste zeigt Ihnen die Liste der geöffneten Fenster. Sollten Sie keine Drei-Tasten-Maus besitzen, tut es ein gemeinsamer Druck auf die linke und rechte Taste.

Ihre Anlaufstelle, um Programme auszuführen, liegt unter der rechten Maustaste. Klicken Sie mit dieser Maustaste auf die Arbeitsfläche und öffnen Sie das Applikationsmenü. Form und Inhalt der Leiste sind durch das Tool WPrefs konfigurierbar. Per Rechts-Klick auf einen Fensterrahmen erhalten Sie die Möglichkeit, Anwendungen auf einen anderen Desktop zu schieben, aufzurollen oder die Attribute des aktuellen Fensters zu bestimmen. Weitere Optionen entdecken Sie, wenn Sie ein Icon anklicken. Davon gibt es auf Ihrem Bildschirm gleich mehrere.

Angedockt

Das Icon in der rechten oberen Ecke heißt WMDock. Es ist der oberste Punkt einer Reihe, in der Sie Applikations-Icons andocken können. In Abbildung 2 sehen Sie solch eine Anwendungsreihe. Tools, die zwar angedockt aber nicht gestartet sind, stellen sich durch ein Icon mit drei Punkten dar. Natürlich ist das Verhalten jedes Programms dieser Spalte via Rechtsklick anzupassen. Der Punkt Settings… bestimmt die genauen Einstellungen. Während Kill das entsprechende Programm schließt, wird es über Launch gestartet. Um eine Anwendung lediglich unsichtbar zu machen, wählen sie die Option hide.

Abbildung 2: Angedockte Applikationen

Abbildung 2: Angedockte Applikationen

In der linken oberen Ecke des Bildschirms klebt ein weiteres Icon mit einer Büroklammer darauf (Abbildung 3). Es wird WMClip genannt und arbeitet ähnlich wie das Applikations-Dock. In den Ecken des Bildchens entdecken Sie zwei Pfeile, mit denen Sie zwischen den Arbeitsflächen wechseln können. Die Nummer der Fläche, auf der Sie sich gerade befinden, steht über der Büroklammer. WMClip besitzt zahlreiche Optionen, von denen wir die wichtigsten erwähnen wollen.

Abbildung 3: WMClip, die Büroklammer

Abbildung 3: WMClip, die Büroklammer

Die Clip Options legen beispielsweise fest, ob der Clip von einer Anwendung überdeckt werden darf (Keep on Top), angehängte Icons einfaltet (Collapse) oder automatisch anzieht (Autoattract Icons). Mit dem Schalter Selected picken Sie sich Icons heraus, die Sie von der Büroklammer entfernen (Remove Icon) oder auf eine andere Arbeitsfläche (Move Icon To) verschieben möchten. Um alle Programm-Icons, die lose auf dem Bildschirm herum liegen, unter einen Hut (bzw. Clip) zu kriegen, verwenden Sie den Menüpunkt Attract Icons. Der Rest der Leiste ist in vielen Abschnitten mit dem Applikationsdock identisch.

Einstellungssache

Wie Sie in Abbildung 2 sehen, existieren für den Window Maker kleine, vielfältige Tools, die so genannten DockApps[1]. Wie Icons rasten sie an Dock oder Clip ein, und ihr Gebrauchswert schwankt zwischen den Kategorien unersetzlich (wmweather) bis Spielkram (wmmatrix). Allerdings möchte man, nützlich oder nicht, nach einer Weile keines der Würfelchen mehr missen; sie haben einen erheblichen Spaß- und Suchtfaktor. Sollte Ihr Distributor mit den beigepackten DockApps geizen, finden Sie im DockApp Warehouse [2] über 200 Anwendungen. Die Programme lassen sich mit der Maus an das Dock oder den Clip heften, schieben und ordnen.

Bevor wir uns endlich dem kreativen Teil der Geschichte zuwenden, werfen wir noch einen Blick in die Schaltzentrale WPrefs des Window Managers. Ihr Icon ist mit den GNUstep-Wappen, Pinsel und Schraubendreher verziert (Abbildung 4).

Abbildung 4: Die Kommandozentrale WPrefs

Abbildung 4: Die Kommandozentrale WPrefs

Ein Markenzeichen des Window Maker Preferences Utility ist seine Benutzerfreundlichkeit. Ein Häkchen auf dem Button Balloon-Help schaltet helfende Sprechblasen ein, die jede Sektion kommentieren. Die Abschnitte gliedern sich von Fensterverwaltung und Menü-Einstellung über Ergonomie, Suchpfade und Mausbedienung bis zu Tastaturkürzeln und Anpassungen des Applikationsmenüs.

Gerade wer es nicht gewohnt ist, Konfigurationen im Text-Editor aufzusetzen, wird den letzten Punkt zu schätzen wissen. Da es uns in diesem Artikel in der Hauptsache um das Erstellen eigener Themes geht, seien Sie besonders auf die Auswahl Appearance Preferences hingewiesen: Ohne Vorkenntnisse können Sie hier Menüleisten und Icons zusammenklicken, auch wenn es Ihren Kreationen vorerst am nötigen Feinschliff fehlt.

Doch kümmern wir uns jetzt um die Anpassungen im Abschnitt Applications Menu Definition von WWPrefs. Wie Abbildung 5 zeigt, genügt ein schlichtes Herausziehen oder Einschieben einzelner Elemente, um die Menüleiste zu bearbeiten. Per Doppelklick in ein Feld schreiben Sie einen neuen Text hinein, durch einen einfachen Klick definieren Sie die Aktion, die der Eintrag in Zukunft auslöst.

Abbildung 5: Eine Menüleiste wird zusammengeschoben

Abbildung 5: Eine Menüleiste wird zusammengeschoben

Styles

Beim Experimentieren mit Window Maker im Applikationsmenü fallen einem die Abschnitte Themes und Styles auf. Beide Optionen verpassen der Oberfläche ein völlig neues Äußeres, deshalb beschäftigen wir uns mit ihnen etwas eingehender.

Fangen wir mit den Styles an, von denen der Window Manager einige mitbringt. Ein Klick auf Appearance / Styles / Autumn kleidet Icons und Bildleisten in herbstliche Töne. Was ist da geschehen?

Sobald Sie das Feld Appearance / Styles in den WPrefs durchleuchten, sehen Sie zwei Dinge: Sie haben es mit dem Tool setstyle zu tun, und es arbeitet in den Pfaden /usr/local/share/WindowMaker/Styles und ~/GNUstep/Library/WindowMaker/Styles. Seine Aufgabe beschränkt sich zwar auf das Laden der Stylefiles, trotzdem besitzt es eine kleine Manpage, die über das Kommando man setstyle zu erreichen ist.

Suchen wir einmal im systemweiten Verzeichnis /usr/local/share/WindowMaker/Styles nach der Datei Autumn.style. Wenn Sie Pakete Ihrer Distribution verwenden, kann der Pfad hier variieren. Ihr Aufbau ist dank sprechender Variablennamen sehr klar. Listing 1 zeigt die Datei.

Listing 1

Autumn.style

{
  TitleJustify = center;
  ClipTitleFont = "-@L: *-helvetica-medium-r-normal-@L: *-10-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *";
  WindowTitleFont = "-@L: *-helvetica-bold-r-normal-@L: *-12-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *";
  MenuTitleFont = "-@L: *-helvetica-bold-r-normal-@L: *-12-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *";
  MenuTextFont = "-@L: *-helvetica-medium-r-normal-@L: *-12-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *";
  IconTitleFont = "-@L: *-helvetica-medium-r-normal-@L: *-8-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *";
  DisplayFont = "-@L: *-helvetica-medium-r-normal-@L: *-12-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *-@L: *";
  HighlightColor = white;
  HighlightTextColor = black;
  ClipTitleColor = white;
  CClipTitleColor = gray20;
  FTitleColor = white;
  PTitleColor = gray;
  UTitleColor = white;
  FTitleBack = (hgradient, darkred, black);
  PTitleBack = (hgradient, indianred, black);
  UTitleBack = (hgradient, peru, black);
  ResizebarBack = (hgradient, peru, black);
  MenuTitleColor = white;
  MenuTextColor = white;
  MenuDisabledColor = gray80;
  MenuTitleBack = (hgradient, firebrick, black);
  MenuTextBack = (hgradient, peru, black);
  IconBack = (dgradient, "#efb573", "#734221");
  IconTitleColor = white;
  IconTitleBack = "#8b0000";
  MenuStyle = normal;
}

Zwei geschweifte Klammern umfassen die gesamte Konfiguration. Es folgt die Variable TitleJustify, mit der die Ausrichtung der Namen in den Fenstertitelleisten festgelegt wird. Hier wird zentriert (center) statt links- oder rechtsbündig (left, right) auszurichten.

Die nächsten sechs Zeilen sind für die Schriften zuständig. ClipTitleFont wählt den Font des Büroklammer-Icons, WindowTitleFont den der Fenstertitelleiste, MenuTitleFont meint die Kopfzeile des Applikationsmenüs, und so fort. Ein ideales Hilfsmittel für Eigenkreationen ist das Programm xfontsel.

HighlightColor beschreibt die Farbe hervorgehobener Elemente, HighlightTextColor den dazu gehörenden Text. Die Farbe des Schriftzugs, der zuvor mit ClipTitleFont festgelegt wurde, benennt die Variable ClipTitleColor. Sind die angeknipsten Icons mit Collapse in den Clip gefaltet, erhält er die Farbe der Zeile CClipTitleColor.

FTitleColor, PTitleColor und UTitleColor enthalten die Textfarbwerte der Titelleiste des fokussierten Fensters (FTitle), eines nicht fokussierten Hauptfensters (PTitle) oder eines generellen Fensters ohne Fokus (UTitle).

Etwas kniffliger wird die Konfiguration bei den Zeilen FTitleBack, PTitleBack und UTitleBack, die das Aussehen der Titelleisten festlegen. Hier taucht als Wert eine dreiteilige Definition in runden Klammern auf: (hgradient, darkred, black). hgradient bedeutet eine horizontale Farbabstufung von darkred (dunkelrot) nach black (schwarz). Neben hgradient gibt es weitere Varianten wie dgradient (diagonale Graduierung) und vgradient (vertikale Graduierung).

Zu den Farben bleibt zu sagen, dass sie sich nicht auf konkrete Farbnamen wie black beschränken. Wer es feiner mag, darf seine Palette ebenso hexadezimal…

FTitleBack = (vgradient, "#94CA73", "#BDF78C")

…wie mit RGB-Angaben ausfüllen:

FTitleBack = (hgradient, "rgb:50/5a/5e", "rgb:20/2a/2e")

Wem das noch immer nicht genügt, den stellt vielleicht eine Grafik zufrieden, die er anfertigt und einbindet:

FTitleBack = (spixmap, title.jpg, yellow);

Lassen Sie uns mit Listing 1 fortfahren:

ResizebarBack steht für den unteren Rahmen, mit dem Sie die Fenstergröße zurecht rücken. MenuTitleColor verrät die farbliche Gestaltung der Fonts in Menütitelleisten, MenuTextColor die Schriftfarbe des Textes innerhalb des Menüs. Wenn Sie dort einen Bereich nicht anklicken können, dann trägt er den Wert der Zeile MenuDisabledColor. MenuTitleBack beschreibt den Hintergrund zu MenuTitleColor. Nicht anders verhalten sich MenuTextBack (Texthintergrund) und die bereits erwähnte MenuTextColor (Textfarbe) zueinander.

Die Farbe der Icons übernimmt die Zeile IconBack, die ebenfalls Grafiken zulässt:

IconBack = (tpixmap, Icon.jpg, black)

IconTitleColor und IconTitleBack konfigurieren die Farbe des Titel-Backgrounds und des Titeltextes eines Programm-Icons. Der MenuStyle schließlich ist für die Form der Menüelemente zuständig. Er bietet Ihnen mit normal die Button-Form und mit flat eine glatte Oberfläche.

Themes

Wie zaubern Sie nun aus einem Style ein Theme, wie sie tausendfach auf Freshmeat [3] liegen? Zunächst gehen wir den einfachen, anspruchslosen Weg.

Sie wählen im Applikationsmenü unter Appearance / Themes ein Theme mit Hintergrundbild. Darauf folgt die Auswahl eines Styles durch Appearance / Styles. Und zuletzt speichern Sie das Ergebnis im Menü als eigenes Theme mit einem Namen: Appearance / Save Theme. Wenn Sie zu diesem Punkt erneut WPrefs bemühen, stolpern Sie über den Befehl getstyle -t und den Pfad zum Theme-Verzeichnis im Ordner ~/GNUstep. Ein

getstyle -t meintheme

auf der Kommandozeile hätte eben diese Datei in Ihrem Home-Verzeichnis erstellt, die Sie jetzt im Pfad ~/GNUstep/Library/WindowMaker/Themes finden. Der Befehl setstyle meintheme lädt die Angaben dann zur Umsetzung in den Window Maker.

Den besten Ausgangspunkt liefert ein Bildschirmhintergrund, den Sie im Internet aufspüren [4] oder mit Gimp erstellen [5]. Achten Sie darauf, dass Grafiken mit der Größe 800×600 Pixel in einer Monitoreinstellung von 1024×768 oder gar 1152×870 nicht gut aussehen. Das Bild verschieben Sie in das Verzeichnis ~/GNUstep/Library/WindowMaker/Backgrounds, wo es im Menü unter Appearance / Background / Images steht. Folgendes Kommando kürzt die Klickerei erheblich ab:

wmsetbg -u -t ~/GNUstep/Library/WindowMaker/Backgrounds/IhrBild

Nun suchen Sie einen zum Hintergrund passenden Style heraus und gehen wie bereits erklärt vor. Laden Sie diese Datei in Ihren Lieblings-Editor und schreiben die Vorlage nach und nach um, bis Window Makers Outfit Ihnen gefällt. Nicht unerwähnt bleiben soll die Fähigkeit des Window Managers, Grafiken für Icons, Menüs und Bildleisten einzubinden (Listing 2).

Listing 2

{
  FTitleBack = (spixmap, FTitle.jpg, yellow);
  PTitleBack = (spixmap, PTitle.jpg, "#72797d");
  UTitleBack = (spixmap, UTitle.jpg, "#12191d");
  MenuTitleBack = (spixmap, MenuTitle.jpg, "#72797d");
  MenuTextBack = (spixmap, MenuText.jpg, "#72797d");
  ResizebarBack = (spixmap, Resize.jpg, yellow);
  IconBack = (tpixmap, IconBack.jpg, black);
  WorkspaceBack = (spixmap, Background.jpg, black);
}

Dieses Beispiel bringt zwei neue Begriffe ins Spiel: spixmap und tpixmap. Der Wert spixmap in der ersten Zeile von Listing 2 legt fest, dass die Grafik FTitle.jpg die Fensterleiste FTitleBack füllt. Die vorherrschende Farbe des Bildes ist yellow (gelb). Die Grafik ist skaliert. tpixmap geht mit dem Bild und der Farbe genauso um, allerdings kachelt es die Grafik (Abbildung 6).

 

Abbildung 6: Eine skalierte und eine gekachelte Menü-Grafik

Abbildung 6: Eine skalierte und eine gekachelte Menü-Grafik

Eines der Verzeichnisse, in denen Window Maker nach Bildern sucht, ist ~/GNUstep/Library/WindowMaker/Pixmaps (systemweit im Pfad /usr/local/share/WindowMaker/ oder den Vorgaben Ihrer Distribution entsprechend). Übersichtlicher ist jedoch die Konvention, einen Theme-Ordner zusammenzustellen. Er enthält alle Dateien, endet auf .themed und befindet sich im Verzeichnis Themes. Selbstverständlich meistern Sie diese Aufgabe ohne große Kopierarbeit mit einem knappen Kommando:

getstyle -p ~/GNUstep/Library/WindowMaker/Themes/IhreTheme

Zum Schluss noch ein Wort zu den Projekten auf Freshmeat [3]: Die Verwendung von tar, zum Entpacken der Theme-Tarballs mag nicht jedermanns Sache sein. Eine Vereinfachung der Theme-Verwaltung verspricht das Tool wmthemeinstall[6]. Nun wünschen wir Ihnen ein frohes Theme-Basteln.

LinuxUser 04/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