Fluxbox Wiki

0. Was sind KeyModes?

KeyModes sind sozusagen Gruppierungen in der keys Datei, die mit bestimmten Tastenkombinationen aktiviert werden können.

Die Tastenkombinationen in einer Gruppe sind nur dann aktiv, wenn die Gruppe selber aktiviert wurde. Alle anderen Gruppen sind dann deaktiviert.

Ursprünglich wurde dieses Verhalten implementiert, um das Verhalten anderer WMs zu imitieren.

Warum braucht man denn nun Keymodes? Sehen wir uns das Beispiel die Keys an, wenn man Fenster vergrössern oder verkleinern will:

Beispiel:

Mod4 Shift Up        :ResizeVertical -2
Mod4 Shift Down      :ResizeVertical +2
Mod4 Shift Left      :ResizeHorizontal -2
Mod4 Shift Right     :ResizeHorizontal +2
Mod1 Shift Up        :ResizeVertical -10
Mod1 Shift Down      :ResizeVertical +10
Mod1 Shift Left      :ResizeHorizontal -10
Mod1 Shift Right     :ResizeHorizontal +10

Wie man sieht hat man so sehr schnell viele Tasten belegt, die man sonst auch brauchen könnte.

Weiter unten steht genau das gleiche Beispiel mit Keymodes, doch zuerst kommen wir zur Einrichtung:

1. Wo bekomme ich ein Fluxbox mit Keymode Unterstützung?

KeyModes gibt es in jeder Fluxbox Version ab SVN revision 4298 oder Fluxbox 1.0rc+.

2. Wie werden KeyModes konfiguriert

Jede Zeile in der keys Datei sieht wie folgt aus:

[KeyMode:]  [ ] Taste [Taste Taste] :Befehl 

Wenn kein KeyMode angegeben wird nimmt Fluxbox "default"

Der neue Befehl lautet nun KeyMode.

:KeyMode  [ [mod mod ...]  [Taste Taste ...]]

Die letzte "..." Kombination wird verwendet um wieder in den Defaultmodus (kein KeyMode) zurückzukehren. Ist das nicht definiert nimmt Fluxbox "Escape" als Standard.

3. Beispiel

Hier erneut das Beispiel mit den Fenstergrössen, dieses mal mit Hilfe von Keymodes:

Fenstergrösse bearbeiten bis Escape gedrückt wird
## ResizeMode
Mod4 w Mod4 r               :KeyMode ResizeMode
ResizeMode: None Up         :ResizeVertical -2
ResizeMode: None Down       :ResizeVertical +2
ResizeMode: None Left       :ResizeHorizontal -2
ResizeMode: None Right      :ResizeHorizontal +2
ResizeMode: Shift Up        :ResizeVertical -10
ResizeMode: Shift Down      :ResizeVertical +10
ResizeMode: Shift Left      :ResizeHorizontal -10
ResizeMode: Shift Right     :ResizeHorizontal +10
Fensterposition bearbeiten bis Escape gedrückt wird
## MoveMode 
Mod4 w Mod4 m               :KeyMode MoveMode
MoveMode: None Up           :MoveUp 2
MoveMode: None Down         :MoveDown 2
MoveMode: None Left         :MoveLeft 2
MoveMode: None Right        :MoveRight 2
MoveMode: Shift Up          :MoveUp 10
MoveMode: Shift Down        :MoveDown 10
MoveMode: Shift Left        :MoveLeft 10
MoveMode: Shift Right       :MoveRight 10
Alle Tastenkombinationen deaktivieren
## XnestMode
Mod1 x                      :KeyMode XnestMode