deskTOPia: 3d-Desktop

Aus LinuxUser 07/2003

deskTOPia: 3d-Desktop

Die dritten Dimension

Die reale Umwelt nimmt der Mensch dreidimensional wahr. Was spricht also dagegen, auch der täglichen Arbeit am Bildschirm eine räumliche Komponente zu verleihen? 3d-Desktop beschert Ihrer Arbeitsoberfläche eine zusätzliche, dritte Dimension.

Auf der grafischen Oberfläche benutzen Sie ihn jeden Tag, und trotzdem ist er Ihnen noch nie aufgefallen: der Pager. Das ist eines jener kleinen Programme, mit denen Sie zwischen den virtuellen Arbeitsflächen Ihres Fenstermanagers hin- und herschalten. Komfortablere Vertreter bieten dabei sogar noch eine Miniaturzeichnung der geöffneten Fenster an.

Etwas ganz anderes als diesen Einheitsbrei bietet 3d-Desktop [1]. Er kann mit nahezu jedem Fenstermanager kombiniert werden und visualisiert das Umschalten von einer Arbeitsfläche auf die nächste in dreidimensionaler Form. Anders als andere Pager präsentiert sich 3d-Desktop dabei nicht als normales Fenster. Er schaltet in einen Vollbildmodus um, in dem Sie Ihre Arbeitsflächen in verschiedenen räumlichen Anordnungen sehen.

Vorbereitungen

Wer ein solch exotisches Pager-Exemplar einsetzen will, muss dafür auch etwas tun: seiner Grafikkarte 3D-Beschleunigung beibringen.

Kasten 1: Testumgebung

Die Hardwarebeschleunigung haben wir unter Gentoo Linux mit einer nVidia GeForce2 MX/MX 400, unter Mandrake 9.0 mit Ati Rage Mobility und einer SuSE 8.2 mit diversen Grafikkarten (GeForce2 MX/MX 400, ATI Radeon M7, GeForce TNT2) getestet.

Stolperfallen

Zwei Klippen galt es zu umschiffen

  • SuSE 8.2/ATI Radeon M7: Unter SuSE gehört das (/dev/dri/card0), also die Hardwareschnittstelle für den direkten Zugriff auf die Grafikkarte, der Gruppe video. Alle Nutzer, die diese Schnittstelle nutzen wollen, müssen in diese Gruppe eingetragen sein.
  • SuSE 8.2/nVidia-Karten: nVidia liefert die aktuellen Treiber nicht mehr als RPM-Pakete aus, sondern mit eigener Installationsroutine. Diese sollten Sie verwenden, denn mit den älteren, die das YaST Online Update anbietet, gab es Probleme beim Kompilieren von 3ddesk.

Falls Sie nicht wissen, ob die 3D-Unterstützung bei Ihnen schon aktiviert ist, testen Sie das mit dem Tool 3Ddiag. Hilfe bei der Einrichtung finden Sie im Zweifelsfall in den Handbüchern Ihrer Distribution oder auf der Web-Seite Ihres Grafikkartenherstellers.

Zwar funktioniert 3d-Desktop auch ohne Hardware-Akzeleration, die Darstellung der Desktop-Wechsel läuft dann jedoch weit weniger flüssig ab. In diesem Fall verweigerte das Programm im Test jedoch die Zusammenarbeit mit einigen Fenstermanagern, darunter KDEs kwin und fluxbox. Mit waimea hingegen funktionierte die Zusammenarbeit klaglos, wenn auch etwas gemächlich.

Die Installation

Obwohl man über http://rpmseek.com/ Pakete für Mandrake und einige weitere Distributionen findet, sollten Sie 3d-Desktop selbst kompilieren. Bei der Konfiguration kann man nämlich viele individuelle Einstellungen tätigen. Zum Übersetzen benötigen Sie die Entwickler-Pakete von Mesa und freetype, darüber hinaus die imlib2-Bibliothek samt entsprechendem Development-Archiv. SuSE 8.2 liefert diese Pakete nicht mit, Sie erhalten sie jedoch unter [2]. Wollen Sie 3d-Desktop in Verbindung mit KDE nutzen, müssen auch die Entwicklerpakete der Desktop-Umgebung installiert sein.

Anschließend entpacken Sie den Quellcode von 3d-Desktop [3]. Um die Hardware-3D-Unterstützung einzuschalten, geben Sie im dabei entstandenen Verzeichnis

./configure --with-Mesa=no

ein. Unter SuSE verlängert sich dieser Befehl zu

./configure --with-Mesa=no --with-kde-libraries=/opt/kde3/lib --with-kde-includes=/opt/kde3/include

weil das configure-Skript ansonsten die KDE-Entwicklerdateien nicht findet.

make
su (Eingabe des root-Passworts)
make install

kompiliert und installiert 3d-Desktop in die Verzeichnisse unterhalb von /usr/local.

Erste Schritte

Dort finden Sie nun zwei Programm-Dateien vor: den Daemon 3ddeskd, der laufen muss, damit die eigentliche Pager-Anwendung 3ddesk zwischen den virtuellen Arbeitsflächen umschalten kann. Diesen Daemon müssen Sie nur dann manuell starten, wenn Sie besondere Einstellungen wünschen. Dann lässt sich seine Funktionsweise durch die in Tabelle 1 angegebenen Parameter beeinflussen. Normalerweise startet ihn 3ddesk beim ersten Aufruf von sich aus.

Tabelle 1: Parameter von <C>3ddeskd<C>

--acquire=# Die statt # angebene Zahl legt fest, alle wieviel Millisekunden der Daemon den Desktop wechselt, um ein aktuelles Bildschirmfoto zu holen.
--dir=/path Anstelle von /path gibt man das Verzeichnis an, in dem bei der Installation Hilfsdateien abgelegt wurden. Standard ist /usr/local/share/3ddesktop.
--texturesize=# Statt des Raute-Zeichens gibt man die Texturgröße und damit die Detailstufe an, mit der das Bildschirmfoto dargestellt wird. Mögliche Werte sind 256, 512 und weitere Zweierpotenzen.
--wm=fenstermanager Spezifiziert den benutzten Fenstermanager. In der aktuellen Version sind folgende Zuweisungen möglich: kde2, kde3, gnome1, gnome2, ewmh, fluxbox, windowmaker, enlightenment, sawfishonly.
--fastest Sorgt dafür, dass 3d-Desktop die höchstmögliche Priorität zugewiesen bekommt.

Ebenso wie der Daemon kennt auch der Pager verschiedene Aufrufparameter (Tabelle 2). Nicht jeder davon eignet sich für jeden Fenstermanager, da diese die virtuellen Arbeitsflächen oft unterschiedlich gruppieren. WindowMaker und kwin ordnen die Desktops in einer Reihe an, fvwm und enlightenment hingegen in einer tabellenartigen Struktur mit mehreren Zeilen und Spalten. Als universeller Pager unterstützt 3d-Desktop beide Ansätze. Versteht ein Window Manager einen Parameter nicht, hat der entsprechende Aufruf keinen Effekt. So bewirkt der Parameter --gotodown bei kwin nichts, da es dort kein “unten” gibt. Durch Herumexperimentieren mit den einzelnen Aufrufparametern finden Sie schnell heraus, welche Optionen für Sie nützlich sind.

Über die in Tabelle 2 genannten --goto@L: *-Parameter springen Sie Ihre Arbeitsflächen an. Wollen Sie jedoch zum übernächsten virtuellen Desktop, bietet sich der interaktive Modus an. Sie erreichen ihn, wenn Sie 3ddesk ohne Angabe eines Ziels aufrufen. Dort wählen Sie mittels der Pfeiltasten die gewünschte Arbeitsoberfläche aus. Auch die Benutzung der Maus ist in diesem Modus möglich, wobei die beiden Maustasten den jeweiligen Richtungen zugeordnet sind. Alternativ springen Sie den gewünschten Desktop durch Eingabe einer Zahl von 0 bis 9 direkt an. Sind Sie am richtigen Ort angelangt, wählen Sie diese Arbeitsfläche durch Druck auf die [Leer]- oder [Escape]-Taste aus oder drücken auf [q] oder klicken einmal mit der mittleren Maustaste.

Tabelle 2: Parameter von <C>3ddesk<C>

--view=xxx Benutzt die view-Optionen aus der Datei 3ddesktop.conf.
--mode=xxx Setzt den Darstellungsmodus; mögliche Werte für xxx sind: carousel, cylinder, linear, viewmaster, priceisright, flip oder random.
--acquire=# Die statt # eingegebene Zahl überschreibt den --acquire-Wert des Daemons (vgl. Tabelle 1).
--acquirecurrent Macht ein Bildschirmfoto der aktuellen virtuellen Arbeitsfläche.
--gotoright Wechselt eine virtuelle Arbeitsfläche nach rechts.
--gotoleft Wechselt eine virtuelle Arbeitsfläche nach links.
--gotoup Wechselt eine virtuelle Arbeitsfläche nach oben.
--gotodown Wechselt eine virtuelle Arbeitsfläche nach unten.
--goto=# Wechselt auf die virtuelle Arbeitsfläche mit der Nummer #.
--gotocolumn=# Wechselt auf die virtuelle Arbeitsfläche, die sich in der gleichen Zeile, aber in Spalte # befindet.
--gotorow=# Wechselt auf die virtuelle Arbeitsfläche, die sich in der gleichen Spalte, aber in Zeile # befindet.
--stop Beendet 3ddeskd.
--reload Zwingt 3ddeskd, die Datei 3ddesktop.conf neu zu laden.

Standardmäßig startet 3ddesk im Darstellungsmodus carousel (Abbildung 1), in dem Ihre Arbeitsoberflächen kreisförmig an Ihnen vorbeiziehen. Über den Parameter --mode=darstellungsmodus ändern Sie das Erscheinungsbild, wobei die Aufrufe 3ddesk --mode=priceisright (Abbildung 2) und 3ddesk --mode=flip (Abbildung 3) besonders schöne Ergebnisse hervorbringen.

Abbildung 1: Standard-Darstellungsmodus <code srcset=

carousel” width=”300″ height=”240″ /> Abbildung 1: Standard-Darstellungsmodus carousel

Abbildung 2: Darstellungsmodus <code srcset=

priceisright” width=”300″ height=”240″ /> Abbildung 2: Darstellungsmodus priceisright

Abbildung 3: Darstellungsmodus <code srcset=

flip” width=”300″ height=”240″ /> Abbildung 3: Darstellungsmodus flip

Noch spektakulärere Effekte erzielen Sie mit der --view-Option. Deren Definitionen stehen in der Datei 3ddesktop.conf des Quellarchivs. Diese kopieren Sie nach ~/.3ddesktop/3ddesktop.conf. Ein Blick hinein mit less präsentiert alle möglichen Werte für --view. So verwandeln sich Ihre virtuellen Arbeitsflächen mit 3ddesk --view=bigmoney in die drehende Walze einer Slot Machine.

Integration in KDE

Der Aufruf von 3ddesk über die Kommandozeile ist auf die Dauer ziemlich lästig. Viel netter wäre ein vordefiniertes Tastenkürzel oder ein Menüeintrag, der das Programm automatisch startet. Dabei deaktivieren Sie gleichzeitig den Standard-Pager der verwendeten Arbeitsumgebung, damit die beiden Desktop-Wähler sich nicht ins Gehege kommen.

Abbildung 4: Tastenkürzel bei KDE modifizieren

Abbildung 4: Tastenkürzel bei KDE modifizieren

Dazu gehen Sie im Kontrollzentrum auf Regionale Einstellungen & Zugangshilfe / Tastenkürzel (Abbildung 4). Dort deaktivieren Sie folgende Einträge:

  • Allgemeine Tastenkürzel / Navigation / Zwischen Einträgen der Arbeitsflächenliste wechseln
  • Allgemeine Tastenkürzel / Navigation / Zwischen Einträgen der Arbeitsflächenliste wechseln (Gegenrichtung)
  • und alle Untereinträge des Punktes Tastenkürzel-Serien / Zu anderer Arbeitsfläche wechseln. Um die neuen Aufrufe für 3ddesk zu erzeugen, starten Sie den KDE-Menü-Editor über das Kontextmenü des K-Buttons. Legen Sie dort z. B. Einträge für den Wechsel nach links (3ddesk --gotoleft) und rechts (3ddesk --gotoright), für den interaktiven Modus (3ddesk) und für das direkte Anspringen von Arbeitsflächen (3ddesk --goto=#) an.
Abbildung 5: Menüeintrag für 3ddesk im interaktiven Modus

Abbildung 5: Menüeintrag für 3ddesk im interaktiven Modus

Dazu erzeugen Sie zuerst einen neuen Menüpunkt und geben in der Eingabemaske in der rechten Fensterhälfte den gewünschten 3ddesk-Programmaufruf ein, für den interaktiven Modus z. B. 3ddesk (Abbildung 5). Fehlt nur noch das Tastenkürzel: Dazu klicken Sie auf den Knopf in der rechten unteren Ecke und geben danach den gewünschten Shortcut ein, z. B. [Windows]+[Strg]+[Tab]. Was Sie wählen, ist Geschmackssache, Sie sollten jedoch keine schon anderweitig vergebenen Tastaturkürzel wählen.

Auch unter anderen Fenster-Managern kann man das Menü bearbeiten und Tastaturkürzel vergeben. WindowMaker beispielsweise bietet für diesen Zweck in das Programm wprefs integriert einen eigenen Menüeditor.

Grafischer Overkill?

Es lässt sich darüber streiten, wer dreidimensional rotierende, virtuelle Arbeitsflächen überhaupt braucht. Zumindest aber eignet 3d-Desktop sich prächtig dazu, Freunde und Kollegen in sprachloses Staunen zu versetzen.

Der Autor

Hagen Höpfner ist wissenschaftlicher Mitarbeiter am Institut für Technische und Betriebliche Informationssysteme der Fakultät für Informatik an der Otto-von-Guericke Universität Magdeburg. In seiner Freizeit ist er begeisterter Vater und spielt Gitarre in der Rockband Gute Frage (http://www.gutefrage.de).

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