Konfiguration von IceWM
Vorwort
IceWM ist keiner dieser speicherfressenden Window-Manager. Sein Speicherbedarf beschränkt sich aufs Wesentliche und dürfte in etwa mit dem von WindowMaker zu vergleichen sein. Er befindet sich seit geraumer Zeit in der Entwicklung, wurde aber immer weiter verbessert und viele Fehler wurden bereits entfernt, sodaß er mittlerweile einer der stabilsten geworden ist. Seine Vorteile liegen auch klar in der Konfiguration (ein grafisches Konfigurationsprogramm ist bereits vorhanden) und vor allem in der Schelligkeit, aber auch im Aussehen. Einige Features fehlen ihm allerdings noch. So läßt es sich z.B. nicht ermöglichen, ein Fenster via Alt-Taste und gedrückter Maustaste zu verschieben. Auch ein Modul, in das andere Anwendungen in einen festen Bereich geladen werden können, fehlt noch (ich denke da an FvwmButtons oder FvwmGoodStuff des WindowManagers fvwm2).
Installation
Zuerst einmal lädt man sich die Source-Dateien von der Homepage runter:
Mittlerweile liegen bereits vorkompilierte Pakete fast jeder Distribution vor. Also vielleicht auch zuerst mal auf den CD-ROMs nachschauen, wenn man welche hat.
Die Installation geht wie unter UNIX üblich vonstatten. Zuerst wird die Source-Datei entpackt mit
tar -xvzf icewm-x.x.x.tar.gz
dann in das entsprechende Verzeichnis gewechselt und mit de üblichen Schritten installiert (letzterer wie immer als Root).
./configure make make install
Benutzerdefinierte Einstellungen
Man wechselt nun in sein User-Verzeichnis und erstellt das Verzeichnis .icewm. Nun erstellt man in diesem Verzeichnis die folgenden fünf Dateien:
- menu
- preferences
- toolbar
- winoptions
- keys
Deren Bedeutung wird nun erklärt. Leider gibt es noch keine richtige Dokumentation zu icewm, deswegen dieser Artikel.
Die Menüs einstellen
Zwar gibt es mittlerweile eine grafische Oberfläche, um die Menüs einzustellen, aber viele verzichten trotzdem nicht darauf, alles selbst einzutippen. Das Programm IceMe findet man unter http://iceme.sourceforge.net/. Die Datei menu ist natürlich dafür verantwortlich. Es ist nicht viel dazu zu sagen, da die Menüdatei denkbar einfach gehalten wurde.
Zu startende Programme fügt man nach folgendem Schema hinzu:
prog "Name des Programmes" icon Befehl
Ein Untermenü erzeugt man sinngemäß mit dem Eintrag:
menu Name folder { ... }
Die ... repräsentieren die entsprechenden Einträge der zu startenden Programme.
Man kann auch dasMenü in einzelne Abschnitte unterteilen. Das erledigt der Befehl separator.
Man kann es auch ermöglichen, daß im Nachhinein andere WindowManager gestartet werden können:
restart wmaker - wmaker
Abschließend eine kleine Übersicht:
prog "rxvt" xterm.xpm rxvt
prog "Netscape 4.51" netscape.xpm netscape
separator
menu Grafik folder {
prog "Gimp 1.1.19" /usr/share/icons/gimp.xpm /usr/local/gimp
}
menu "Window Managers" folder {
restart icewm - icewm
restart wmaker - wmaker
restart blackbox - blackbox
restart fvwm2 - fvwm2
}
Die eigentlichen Einstellungen
In der Datei preferences kann man bestimmte Zeichenketten angeben, die das Verhalten von icewm steuern. Nachfolgend sind eigentlich alle erläutert. Ein Hinweis noch: Die Null steht für false (Option wird nicht eingestellt) und die 1 für true (eingestellt). Spezielle Optionen sind erklärt. In Klammern steht jeweils die Erläuterung zum Befehl.
Wer sich nicht durch die vielen Eintragungen kämpfen möchte, kann sich auch das Programm IcePref ansehen ( http://members.xoom.com/SaintChoj/icepref.html/). Dies nimmt dem Benutzer die lästige Tipparbeit ab. Allerdings sind alle Optionen in Englisch gehalten, so daß die nachfolgende Beschreibung aller Funktionen auch für Nutzer der grafischen Oberfläche äußerst sinnvoll ist.
Das Verhalten von aktivierten Fenstern (Focus von Fenstern)
- ClickToFocus=0 - Der Focus des Fensters wird wie unter Windows erst durch Klicken darin aktiviert
- RaiseOnFocus=0 - Bekommt ein Fenster den Fokus, wird es in den Vordergrund geholt
- FocusOnClickClient=0 - Wenn die Verzierung angeklickt wird, bekommt das Fenster den Focus
- RaiseOnClickClient=0 - Wenn die Verzierung angeklickt wird, wird das Fenster in der Vordergrund geholt
- RaiseOnClickTitleBar=1 - Wird die Titelleiste angeklickt, wird das Fenster in den Vordergrund geholt
- RaiseOnClickButton=0 - Das Fenster wird in den Verdergrund gebracht, wenn auf einer der Schalter geklickt wird
- RaiseOnClickFrame=1 - Das Fenster wird in den Vordergrund geholt, wenn die Verzierung angeklickt wird
- PassFirstClickToClient=1 - Hiermit werden Mausklicks auch in deaktivierte Fenster geschickt und ausgewertet
- FocusOnMap=1 - Das Fenster erhält den Focus, wenn es erscheint
- FocusOnMapTransient=1 - Das Fenster erhält den Focus, wenn es erscheint
- FocusOnMapTransientActive=1 - Das Fenster erhält den Focus, wenn es erscheint
- PointerColormap=1 - Die Farbgebung folgt dem Focus
- DelayPointerFocus=0 - Hiermit wird der Focus zeitverzögert
- PointerFocusDelay=200 - Zeitverzögerung in ms, bevor der Focus in Kraft tritt
- AutoRaise=0 - Fenster werden nach einer best. Zeitverzögerung in der Vordergrund gebracht
- AutoRaiseDelay=400 - Zeitverzögerung in Millisekunden
- WarpPointer=0 - Bewegt die Maus, wenn der Focus verändert wird, in das aktive Fenster
generelles Verhalten der Fenster
- LimitSize=1 - Die Größe der Fenster wird auf den Bildbereich beschränkt)
- LimitPosition=1 - Die x,y-Position der Fenster wird auf den Bildbereich beschränkt
- SizeMaximized=0 - Maximierte Fenster können in ihrer Größe selbst noch verändert werden
- ShowMoveSizeStatus=1 - Den x,y-Status des Fensters beim Verschieben anzeigen
- MinimizeToDesktop=1 - Fenster werden auf den Desktop minimiert, anstatt in die Taskbar
- OpaqueMove=1 - Fenster werden ausgefüllt gezogen
- OpaqueResize=1 -Die Größe der Fenster wird ausgefüllt geändert
- ManualPlacement=0 - Fenster werden beim Aufklappen manuell plaziert
- SnapMove=1 - Kommt man beim Verschieben eines Fensters in die Nähe von einem anderen oder an den Bildschirmrand, rastet das Fenster dort an
- SnapDistance=10 - stellt die Pixeleinrastzone ein
- EdgeSwitch=0 - Desktops werden gewechselt, wenn man in die Nähe des Bildschirmrandes kommt



