Sawfish

Aus wiki.archlinux.de
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.
Sawfish mit microGUI als Theme und Liberation Sans 10 pt als Font

Einführung

Sawfish ist ein weitgehend anpassbarer Fenstermanager. In früheren Gnome-Versionen war er mal der Standard-Fenstermanager, wurde aber aufgrund des Rückzugs eines wichtigen Betreuers des Projekts, und weil damit seine Zukunft ungewiss war, abgelöst. Inzwischen wird Sawfish aber wieder betreut. Hier soll es aber erst einmal nur um die Benutzung als eigenständigen Fenstermanager gehen.

Installation

Sawfish muss aus dem AUR heruntergeladen, gebaut und installiert werden. Es steht ein Paket für die letzte als stabil gekennzeichnete Version und eines, das die Sourcen aus dem Git-Repo des Projekte zieht, zur Verfügung.

Als Abhängigkeiten werden librep und rep-gtk benötigt, auch hier stehen wieder Git-Versionen alternativ zur Verfügung. AUR-Helper wie Yaourt unterstützen die automatische Abhängigkeitsauflösung, so dass es dann ausreichend ist,

yaourt -S sawfish

aufzurufen und den Dialog bis zum Ende durchzugehen.

Sawfish starten

Wenn X mittels startx gestartet wird, schreibt man

exec sawfish

an das Ende der ~/.xinitrc.

Anpassung

Zum Einen bringt Sawfish ein Menü mit, und darin einen Unterpunkt Anpassen. Das Menü erhält man durch Klick mit der mittleren Maustaste auf den Hintergrund. Änderungen, die man über dieses Menü macht, landen in der Datei ~/.sawfish/custom. Diese Datei sollte daher nicht manuell bearbeitet werden. Der dort erzeugte Code ist allerdings Lisp-Code (siehe zwei Abschnitte weiter unten).

Interessant ist der Punkt Arbeitsflächen. Hie kann man mehrere Arbeitsflächen (Desktops) definieren. Auch interessant: Fensterregeln. Darüber kann definiert werden, was mit Fenstern, die gewissen Match-Regeln genügen, geschehen soll, und auf diese Weise zum Beispiele Anwendungen auf die verschiedenen Arbeitsflächen verteilen.

Der resultierende Code könnte dann folgendermaßen aussehen.

(custom-set-typed-variable (quote match-window-profile) 
                           (quote ((((WM_CLASS . "^Thunderbird/Mail$")) (workspace . 3) (new-viewport . #f)) 
                                   (((WM_CLASS . "^Conkeror/Navigator$")) (workspace . 2) (maximized . all)))) 
                           (quote match-window) (quote sawfish.wm.ext.match-window))


Themes

Themes kann man im eingedeutschten Sawfish mit Hilfe des Unterpunktes Aussehen im Menü Anpassen ändern. Reichen die mitgelieferten Themes nicht aus, kann man auf der Sawfish-Wiki-Seite weitere bekommen.

Lisp-Code

Zum Anderen kann man im gegebenenfalls anzulegenden Verzeichnis ~/.sawfish/lisp auch eigene oder heruntergeladene Lisp-Dateien ablegen, die dann über die Datei ~/.sawfishrc oder ~/.sawfish/rc einbinden kann.

Sawfish verwendet einen Lisp-Dialekt namens rep, der als Bibliothek librep realisert ist. Der Dialekt ähnelt Emacs-Lisp, nimmt aber auch ein paar Anleihen bei Scheme.

Tipps

Seit Version 1.6.? gibt es im Menü ein Untermenü "Sitzung". Darin befinden sich wiederum Punkte, die zum Rechnerneustart, zum Herunterfahren oder zum Versetzen in Bereitschaft/Ruhezustand verwendet werden können. Per Paket stehen dort Kommandos, die nur funktionieren, wenn sudo installiert ist und der Benutzer entsprechend auf die Ausführung des shudown-Befehls hin berechtigt ist.

Will man auf sudo verzichten, hat aber hal und dbus aktiviert, so kann man über das Menü -> Anpassen -> Verschiedenes -> Externe Anwendungen zum Beispiel

dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Reboot

in das Feld "Befehl zum Neustart des Rechners" eintragen (andere hal-Kommandos analog).

Eine andere Möglichkeit mit Policykit wird im englischen Wiki beschrieben.

Weblinks