Aufmacher Artikel

Cursoritis

deskTOPia

01.07.2001 Wer seinen Desktop wirklich individuell gestalten will, kommt nicht am Cursor vorbei: Auch unter X muss man sich hier nicht mit dem zufrieden geben, was XFree86 von Haus aus bietet. Vorausgesetzt man ist etwas kreativ…

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 Desktopumgebungen, stellen Nützliches und Farbenfrohes, Hingucker und hübsches Spielzeug vor.

Dass der Cursor unter X11 je nachdem, worüber er sich befindet oder was die jeweilige Anwendung gerade tut, verschieden aussieht, ist kein Geheimnis. Dass es sich dabei jedoch um nichts Anderes als eine mit gzip gepackte Font-Datei namens cursor.pcf.gz handelt, legt nahe, dass man diese auch austauschen kann.

Nur wogegen? Noch im Alpha-Stadium befindlich, doch durchaus schon brauchbar, kann man sich unter http://www.hut.fi/u/pvsavola/decurs.html ein Cursor-Font-Editor-Programm namens decurs herunterladen. Sofern die GTK-Bibliothek, das passende devel-Paket sowie der C++-Wrapper GTK-- (gtkmm und gtkmm-devel o.ä.) installiert sind, reichen ein configure und make zum Kompilieren aus.

Cursor wie gemalt

Das ausführbare Programm decurs aus dem Verzeichnis decurs-0.42.1-alpha/src kopiert man dann als root nach /usr/local/bin. Liegt die im src-Verzeichnis mitgelieferte Font-Datei namens cursor.bdf beim Start des Programms im Arbeitsverzeichnis, wird sie automatisch geladen, und man trifft bereits einen alten Bekannten – das X_cursor-Fadenkreuz (Abb. 1).

Abbildung 1

Abbildung 1: decurs mit geladener cursor.bdf-Datei

Will man lieber eine andere Font-Datei als Ausgangsbasis nehmen, kann man über den "Load Font"-Button z.B. aus dem fonts-Verzeichnis im decurs-Archiv eine andere wählen – allerdings sollte man hier aufpassen, dass man wirklich einen Cursor-Font erwischt. Wer einen Schriften-Font benutzt, dessen erster Glyph von decurs nicht mit dem Namen X_cursor angegeben wird, darf zwar gern weiter editieren, sollte jedoch tunlichst davon Abstand nehmen, das Ergebnis als Cursorfont zu installieren.

Der Rest ist einfach: Zunächst maskiert man den gesamten Font mit Mask. Damit erhält man eine Ansicht der verschiedenen Cursor, wie sie auf dem Desktop auftauchen (Abbildung 2). Mit den Pfeil-Buttons bewegt man sich dann von einem Glyphen zum nächsten (und lernt dabei, welche wunderbaren Cursor man schlichtweg nie zu sehen bekommt, da sie nie verwendet werden).

Abbildung 2

Abbildung 2: Beim Editieren bearbeitet man maskierte Glyphen

Als Änderungskandidaten kommen dabei in erster Linie natürlich die Cursor in Frage, die man schon einmal in freier Wildbahn gesehen hat. Ist ein Opfer gefunden, so setzt man mit einem rechten Mausklick einen schwarzen Bildpunkt und mit einem linken einen weißen. Das Betätigen der linken Maustaste bei gedrückter [Umschalt]-Taste "löscht" ein Pixel, d. h., es wird transparent und der türkise Hintergrund der Zeichenoberfläche sichtbar.

Mit dem Invert-Knopf werden schwarze Pixel zu weißen und weiße zu schwarzen. Drückt man hingegen [Strg] und klickt gleichzeitig die linke Maustaste, kann man den "Hot Spot" des Cursors setzen: Da, wo das rote Fadenkreuz liegt, befindet sich später der exakte Mausfokus. Wer den z.B. ans falsche Ende eines Pfeil verfrachtet, darf sich anschließend nicht wundern, wenn die Treffgenauigkeit der Benutzer leidet…

Interessiert man sich für die genauen Abmessungen des aktuellen Glyphs, hilft ein Druck auf die [B]-Taste: Im X-Terminalfenster, in dem man decurs gestartet hat, lässt sich diese Information nachlesen (Abbildung 3).

Abbildung 3

Abbildung 3: Informationen zum aktuellen Glyph

Den fertig editierten Cursor-Font demaskiert man zunächst mit UnMask, bevor man ihn mit save Font abspeichert. Anschließend ist ein wenig Handarbeit angesagt, denn aus dem erzeugten .bdf-File muss noch ein .pcf.gz werden. Dazu dienen die Kommandozeilenbefehle

bdftopcf -o cursor.pcf neuer_cursor_font.bdf
 gzip cursor.pcf

Nachdem root für den Notfall eine Sicherheitskopie des originalen Cursorfonts in /usr/X11R6/lib/X11/fonts/misc/cursor.pcf.gz o.ä. angefertigt hat, kopiert man die neuerstellte cursor.pcf-Datei an deren Stelle und startet X neu.

Sollte nun der Cursor mit dem neuen Font unsichtbar sein (weil man aus Versehen einen wichtigen Glyphen "zerschossen" abgespeichert hat), heißt es Ruhe bewahren, X mit [Strg+Alt+Backspace] abzuschießen und die gesicherte alte Cursor-Font-Datei wieder an ihre ursprüngliche Stelle zurückzukopieren.

Erscheint ein Cursor trotz Bearbeitung in altgewohnter Manier, muss man sich leider damit abfinden. Viele Applikationen wie z.B. gimp verwenden nämliche eigene Cursor anstelle der aus dem Cursor-Font.

Root-Cursor

Wem all das zu heikel erscheint, kann sich auch damit begnügen, lediglich den Cursor zu ändern, der erscheint, wenn man die Maus über den nicht von Fenstern, Toolbars und Menüs belegten Platz des Root Windows bewegt. In dem Fall kommt ein uralteingesessenes Kommandozeilenprogramm namens xsetroot zu Ehren. Der Eine oder die Andere hat es in Vor-KDE/GNOME-Zeiten vielleicht schon einmal dazu benutzt, den Bildschirmhintergrund mit xsetroot -solid black gänzlichst einzuschwärzen.

Die Option -cursor erlaubt es, ein Bildchen als Root-Cursor zu installieren. Allerdings nicht irgendeins: Es muss zum Einen als schwarz-weiße X-Bitmap (Dateinamenendung .xbm) vorliegen, und dann auch noch in zwei Ausgaben. Damit der Cursor nicht von einem hässlichen Bildrand verunziert wird, fertigt man eine Masken-Bitmap an, von der die Umrisse des Cursors begrenzt werden. Der als Cursor dienende Ausschnitt der Bitmap wird dazu geschwärzt (Abbildungen 4 und 5).

Abbildung 4

Abbildung 4: Cursorbild …

Abbildung 5

Abbildung 5: … und Maske

Dazu malt man einfach die Umrisse des Cursor-Bilds mit einem Grafikprogramm oder besser einem Icon-Editor schwarz aus und speichert die Maske unter einem anderen Namen, jedoch unbedingt als .xbm-Datei. Wer kein eigenes Bildchen designen möchte, kann sich im xbm-Fundus des eigenen Rechners bedienen. Ein locate .xbm | less dürfte hier für reichlich Auswahl sorgen. Ein

xsetroot -cursor bild.xbm masken.xbm

sorgt dann für ein ganz neues Cursorerlebnis. Wem Schwarz auf Weiß zu langweilig ist, kann aus der schwarzen Vordergrundfarbe mit -fg red Rot und aus dem weißen Cursorhintergrund mit -bg black Schwarz machen. Das Programm xcolors verrät z.B., welche Möglichkeiten man bei der Farbwahl hat. So sorgt ein

xsetroot -cursor bild.xbm masken.xbm  -fg LemonChiffon1 -bg SeaGreen

dafür, dass sich mit den Bitmaps aus Abbildung 4 und 5 hellgelblich gezeichnete Computerchen mit nostalgisch-grünen Monitoren gut von einem schwarzen Desktophintergrund abheben.

Wer beim Durchschauen des Cursor-Fonts mit decurs einen Glyph gefunden hat, den er/sie gern als Root-Cursor benutzen möchte, kann sich auch diesen Wunsch mit xsetroot erfüllen.

xsetroot -cursor_name bogosity

macht den bogosity-Glyph aus cursor.pcf.gz zum Standard-Cursor.

Allerdings vermiesen Desktop-Umgebungen wie KDE hier das Vergnügen, denn dort haben die Programmierer den Anwendern ins Handwerk gepfuscht. Ein für sich allein arbeitender Window Manager wie windowmaker ist daher Pflicht, will man mit xsetroot etwas ausrichten.

Glossar

Glyph

Zeichen eines Fonts.

Root Window

Der nackte Bildschirmhintergrund, den ein Window Manager zu verwalten hat. Startet man X ohne Window Manager oder Desktop-Umgebung, bekommt man das Root Window als schwarz-weiß-gerasterten Hintergrund zu Gesicht. Seinen Namen "Wurzel-Fenster" trägt es, weil es die "Mutter" aller Fenster ist, die der Window Manager darauf platzieren kann.

Tip a friend    Druckansicht beenden Bookmark and Share
Kommentare