DWM

Aus Linupedia.org
(Weitergeleitet von Dwm)
Wechseln zu: Navigation, Suche
Logo dwm.png
Dwm-screenshot.png
DWM Screenshot
Basisdaten
Entwickler: Anselm R. Garbe
Aktuelle Version: 4.1
letzte Veröffentlichung: 21. Mai 2007
Betriebssystem: Linux, Solaris
Kategorie: Windowmanager
Lizenz: MIT/X Consortium license
Deutschsprachig: nein
Webseite: dwm.suckless.org

DWM (Dynamic Window Manager) ist ein kleiner Fenstermanager der komplett über die Tastatur bedient werden kann.

Entstanden ist die Idee zu DWM vom Hauptentwickler von WMII, da dieser ihm zu groß wurde und etwas wollte, was seinen Bedürfnissen angepasst war. Daher sollte man zu Anfang auch keine Verbesserungen vorschlagen, jedoch mit größerem Interesse wurde eine Mailingliste erstellt und Patsches veröffentlicht.

DWM ist komplett über die Tastatur bedienbar und wird deshalb bei vielen Konsolennutzern immer beliebter.

DWM gehört zu einer Gruppe von Programmen die mit der Idee entstanden sind den Quellcode klein und kompakt zu halten (10.000 Zeilen Quellcode maximal).

Layouts (Anordnungen)

DWM hat standardmäßig 2 Ansichtsmodi:

Tiled layout (Gekachelte Anordnung)

"Tiled layout" <br\> Blau: Hauptfenster <br\> Grün: Restliche Fenster
Weitere Fensteranordnungen im "Tiled layout"

Im "Tiled layout" wird der Bildschirmplatz in eine Haupt- und einen Stapelbereich unterteilt.

Der Hauptbereich beinhaltet das/die Fenster die momentan wichtig sind und der Stapelbereich die Fenster, die unwichtig oder gerade von keinem Interesse sind.

Der Hauptbereich kann vergrößert und verkleinert werden und die Anzahl der Fenster im Hauptbereich kann vergrößert und verkleinert werden.

Desweiteren kann man das momentan fokussierte Fenster in den frei bewegbaren Modus versetzen, ohne das die restlichen Fenster dadurch beeinflusst werden.

Floating layout (Gleitende Anordnung)

"Floating layout" <br\> Blau: Altes Hauptfenster <br\> Grün: Alte Nebenfenster <br\> Rot: Neues Fenster

Bekannt von den meisten großen Fenstermanagern ist dieser Modus für viele Programme wichtig, da sie sonst den Inhalt verschoben anzeigen (z.B. MPlayer).

Im "Floating layout" werden alle Fenster frei beweglich und können maximiert werden, ohne sich gegenseitig zu beeinflussen.

Wechselt man vom "Floating layout" in das "Tiled layout" wird das momentan fokussierte Fenster in den Hauptbereich gelegt.

Tags (Etiketts)

DWM besitzt keine Task-Leiste und deswegen sind virtuelle Desktops (hier "Tags" genannt) umso wichtiger um die Übersichtlichkeit zu waren.

Standardmäßig benutzt ein Fenster nur einen Tag und kann von einem zum anderen oder zu mehreren Tags gleichzeitig zu geschoben werden.

Ein besonderer Tag ist der Tag "0", auf dem alle Fenster jeglicher Tags zugleich angezeigt werden.

Bar (Leiste)

Die Leiste ist in vier Punkte unterteilt:

  • Links sieht man die Namen der Tags, sowie farblich hinterlegt den ausgewählten Tag und ein Quadrat zeigt an ob Fenster diesen Tag nutzen.
  • Danach kommt das Symbol für den momentan genutzten Ansichtsmodus (Tiled layout: "[]="; Floating layout: "><>")
  • In der Mitte steht der Titel des jeweils fokussierten Fensters.
  • Rechts steht Text, den man DWM bei seinem Start übergeben kann.

Seit der Version 4.1 kann man die Leiste zur Laufzeit ausblenden und somit den gesammten Bildschirmplatz für die Fenster benutzen.

Beispiel wie man DWM mit der ~/.xinitrc aufrufen kann und ihm die Uhrzeit übergibt:

while true
   do
       echo `date +%H:%M\ %A\ %d.%m.%Y`
       sleep 1
done | /usr/local/bin/dwm

Installation

Infos zur Installation

Debian

Da DWM selbst zu kompilieren ist sind vollgende Pakete von noeten.

apt-get update
apt-get install install x-dev xlibs-static-dev

Im Anschluss laed man sich den DWM Code von deren Homepage runter und bearbeitet die in C geschriebene Konfigurationsdatei config.h entsprechend. Man kann auch die config.default.h als Vorlage verwenden.

Installiert wird am Ende das ganze mit:

make && make install

AFAIK gibt es in Debian DWM auch als fertiges Paket welches mit:

apt-get update
apt-get install dwm

installieren kann, hierbei muss allerdings die bereits vorhandene Konfiguration so wie sie ist weiter verwendet werden.

Konfiguration

DWM wird grundsätzlich nur über eine Headerdatei (config.h) konfiguriert und muss bei jeder Änderung neu kompiliert werden. Der Vorteil liegt darin, dass DWM somit sicherer und schneller ist, da Fehler nur bei der Kompilierung auftreten sollten. Auch wenn man kaum bis gar keine C-Kenntnisse hat kann man DWM trotzdem simpel konfigurieren.

Folgende Dinge können standardmäßig eingestellt werden:

  • Position der Liste
  • Rahmenbreite der Fenster
  • Schriftart und Größe
  • Farben
  • Anzahl und Namen der Tags
  • Regeln, welche Programme immer oder niemals im Tiled-/Floating layout angezeigt werden sollen.
  • Auswahl der Layouts und deren Symbol
  • Standardmäßige Hauptbereichsbreite
  • Standardmäßige Anzahl der Fenster im Hauptbereich
  • Tastenkombination

Patches

Es gibt eine Reihe von Patches, die hauptsächlich andere Layouts beinhalten oder andere kleine Hacks.

Wichtig ist, dass man die meisten Patches mit folgendem Befehl einfach und schnell einfügen kann:

diff -up original-dwm-ordner modifizierter-dwm-ordner > patchname.diff

Da viele Patches nur für bestimmte Versionen geschrieben wurden und in den allgemeinen Quelltext übernommen wurde lohnt es sich nicht näher auf dieses Thema einzugehen, aber als Beispiel soll folgender Patch dienen:

Bottom stack patch

Dieser Patch bietet drei weitere Möglichkeiten für das "Tiled layout", die z.B. für viele Audioprogramme sehr sinnvoll sein können:

  • Hauptbereich auf die linke Seite verschieben
  • Alle Fenster horizontal statt vertikal zu positionieren (bis auf die einzelnen Fenster im Stackbereich)
  • Alle Fenster (auch der Stackbereich) horizontal positionieren. Diesen Modus könnte man auch mit dem normalen "Tiled layout" herstellen, allerdings kann man mit diesem Patch trotzdem noch das Fenster aus dem Hauptbereich vegrößern (Ohne Patch existiert bei diesem Layout kein Stapelbereich).

DMENU

DWM selbst bringt kein Menü mit, allerdings existiert auch ein kleiner Bruder vom WMII-Menü, namens DMENU. Es wurde extra an DWM angepasst und wird genauso wie DWM über den Quellcode angepasst.

Beispiel wie man mit DMENU eine Datei aufrufen kann in der die Programme aufgelistet sind:

  • Inhalt der Menüdatei (~/.dmenu_input):
xterm
firefox
aterm
dillo
  • DWM Konfiguration (config.h) für DMENU:
{ MODKEY,                       XK_p,           spawn,          "exe=`cat ~/.dmenu_input | dmenu` && exec $exe" }, \

Weblinks



zurück zum Windowmanager