I3: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
 
(8 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 17: Zeile 17:
Wenn stattdessen i3 mit log gestartet werden soll, muss folgendes in die [[xinitrc]]
Wenn stattdessen i3 mit log gestartet werden soll, muss folgendes in die [[xinitrc]]


  exec i3 -V >> ~/i3log-$(date +'%F-%k-%M-%S') 2>&1
  exec i3 -V >> ~/.i3/i3log-$(date +'%F-%k-%M-%S') 2>&1
 
Das log ist unter ~/.i3 zu finden.


Benutzer des [[Nvidia]]-Treibers in Kombination mit mehreren Ausgabegeräten für das Bildsignal sollten ferner die Option {{ic|--force-xinerama}} benutzen.
Benutzer des [[Nvidia]]-Treibers in Kombination mit mehreren Ausgabegeräten für das Bildsignal sollten ferner die Option {{ic|--force-xinerama}} benutzen.
Zeile 23: Zeile 25:
  exec i3 --force-xinerama
  exec i3 --force-xinerama


==Konfiguration==
== Alternative: i3-gaps ==
[https://github.com/Airblader/i3 i3-gaps] ist ein fork von i3-wm. In Grunde genommen sind sie identisch, jedoch kann man bei i3-gaps, wie der Name schon sagt,
Lücken zwischen den Fenstern erstellen. Das hört sich zuerst etwas befremdet an, jedoch kann man auf der Webseite von i3-gaps ein gutes Beispielbild erkennen.
Die Einstellungen von i3-wm gibt's auch bei i3-gaps, somit muss man beim wechseln nichts verändern, sondern (man kann) eher etwas hinzufügen :).
Sie können also einfach, wenn sie sich für i3-gaps entscheiden, dieser Anleitung folgen.
 
== Konfiguration ==
Um die Konfiguration anpassen zu können ist es nötig die globale Konfiguration in den entsprechenden Unterordner des Benutzerverzeichnisses zu kopieren:
Um die Konfiguration anpassen zu können ist es nötig die globale Konfiguration in den entsprechenden Unterordner des Benutzerverzeichnisses zu kopieren:


Zeile 36: Zeile 44:
Unter [http://i3wm.org/docs/userguide.html#configuring i3 User Guide] findet man Details, wie die i3-config zu konfigurieren ist.
Unter [http://i3wm.org/docs/userguide.html#configuring i3 User Guide] findet man Details, wie die i3-config zu konfigurieren ist.


==Anwendungsstarter==
== Anwendungsstarter ==
 
i3 benutzt {{paket|dmenu}} als Anwendungsstarter, was per Default mit {{ic|$mod+d}} aufzurufen ist.
i3 benutzt {{paket|dmenu}} als Anwendungsstarter, was per Default mit {{ic|$mod+d}} aufzurufen ist.


{{paket|i3-wm}} beinhaltet ''i3-dmenu-desktop'', ein {{wikipedia|Perl_(Programmiersprache)|Perl}}-Wrapper für dmenu, welcher die Desktop Einträge benutzt um eine Liste von allen installierten Anwendungen zu erstellen.
{{paket|i3-wm}} beinhaltet ''i3-dmenu-desktop'', ein {{wikipedia|Perl_(Programmiersprache)|Perl}}-Wrapper für dmenu, welcher die Desktop Einträge benutzt um eine Liste von allen installierten Anwendungen zu erstellen.
Alternativ kann das Paket {{AUR|j4-dmenu-desktop-git}} benutzt werden, ein Ersatz für i3-dmenu-desktop, welcher um einiges schneller ist.  
Alternativ kann das Paket {{AUR|j4-dmenu-desktop-git}} benutzt werden, ein Ersatz für i3-dmenu-desktop, welcher um einiges schneller ist.
 
Eine weitere Möglichkeit ist {{AUR|dmenu-extended}}. Es funktioniert wie dmenu ist aber um einige [https://github.com/markjones112358/dmenu-extended Funktionen] erweitert.
==Keybindings==


== Keybindings ==
In i3 werden Kommandos mit einem modifier key ausgeführt, welcher mit {{ic|$mod}} referenziert wird. Standardmäßig ist das die {{ic|Alt}}-Taste(Mod1); eine populäre Alternative ist {{ic|Super}}(Mod4).
In i3 werden Kommandos mit einem modifier key ausgeführt, welcher mit {{ic|$mod}} referenziert wird. Standardmäßig ist das die {{ic|Alt}}-Taste(Mod1); eine populäre Alternative ist {{ic|Super}}(Mod4).
Will man zum Beispiel für alle shortcuts Super benutzen, geht es schnell mit einem einfachen Text-Editor die i3-config zu öffnen, und alle Mod1 durch Mod4 zu ersetzen.
Will man zum Beispiel für alle Shortcuts Super benutzen, geht es schnell mit einem einfachen Text-Editor die i3-config zu öffnen, und alle Mod1 durch Mod4 zu ersetzen.


[http://i3wm.org/docs/refcard.html i3 Reference Card] und [http://i3wm.org/docs/userguide.html#_using_i3 using i3] geben hier gute Hilfestellungen auf englisch.
[http://i3wm.org/docs/refcard.html i3 Reference Card] und [http://i3wm.org/docs/userguide.html#_using_i3 using i3] geben hier gute Hilfestellungen auf englisch.


==Farbverwaltung==
== Farbverwaltung ==
Die i3-config erlaubt die Konfiguration der Farbverzierungen. Die Syntax macht es unpraktisch themes zu erstellen oder auszutauschen. Es gibt allerdings mehrere Projekte, die das Ganze einfacher gestalten und beinhaltet - von Usern beigetragene - Themes.
Die i3-config erlaubt die Konfiguration der Farbverzierungen. Die Syntax macht es unpraktisch Themes zu erstellen oder auszutauschen. Es gibt allerdings mehrere Projekte, die das Ganze einfacher gestalten und beinhaltet - von Usern beigetragene - Themes.
*'''i3-style''' — Modifiziert deine Config aus einem Theme, welches in einem JSON Object gespeichert wird. Für häufiges bearbeiten der Farben designed.
*'''i3-style''' — Modifiziert deine Config aus einem Theme, welches in einem JSON Object gespeichert wird. Für häufiges Bearbeiten der Farben designed.
[https://github.com/acrisci/i3-style https://github.com/acrisci/i3-style] || {{AUR|nodejs-i3-style}}
[https://github.com/acrisci/i3-style https://github.com/acrisci/i3-style] || {{AUR|nodejs-i3-style}}


Zeile 58: Zeile 65:
[https://github.com/okraits/j4-make-config https://github.com/okraits/j4-make-config] || {{AUR|j4-make-config-git}}
[https://github.com/okraits/j4-make-config https://github.com/okraits/j4-make-config] || {{AUR|j4-make-config-git}}


==i3bar==
== i3bar ==
Als Ergänzung, um Arbeitsplatz-Informationen anzuzeigen, kann i3bar als Input oder Alternative für i3status dienen, so, we im nächsten Abschnitt gezeigt. Zum Beispiel:
Als Ergänzung, um Arbeitsplatz-Informationen anzuzeigen, kann i3bar als Input oder Alternative für i3status dienen, so, wie im nächsten Abschnitt gezeigt. Zum Beispiel:


  ~/.config/i3/config
  ~/.config/i3/config
Zeile 83: Zeile 90:
  }
  }


Unter [http://i3wm.org/docs/userguide.html#_configuring_i3bar i3 User Guide] gibt's mehr Informationen - auf englisch.
Unter [http://i3wm.org/docs/userguide.html#_configuring_i3bar i3 User Guide] gibt es mehr Informationen - auf englisch.
 
==i3bar Alternativen==


== i3bar Alternativen ==
Einige User ziehen eventuell andere Panels - wie z.B. die von den regulären [[:en:Desktop environment|Desktops]] angebotenen - vor. Dies kann innerhalb von i3 erreicht werden, indem das Panel der Wahl während des Startens gestartet wird.
Einige User ziehen eventuell andere Panels - wie z.B. die von den regulären [[:en:Desktop environment|Desktops]] angebotenen - vor. Dies kann innerhalb von i3 erreicht werden, indem das Panel der Wahl während des Startens gestartet wird.


FÜr das {{Paket|xfce4-panel}} muss folgendes in ~/.config/i3/config eingefügt werden:
Für das {{Paket|xfce4-panel}} muss folgendes in ~/.config/i3/config eingefügt werden:


  exec --no-startup-id xfce4-panel --disable-wm-check
  exec --no-startup-id xfce4-panel --disable-wm-check
Zeile 99: Zeile 105:
i3bar kann abgeschaltet werden, indem der {{ic|bar{}}}-Bereich in {{ic|~/.config/i3/config}} auskommentiert wird.
i3bar kann abgeschaltet werden, indem der {{ic|bar{}}}-Bereich in {{ic|~/.config/i3/config}} auskommentiert wird.


==i3status==
'''Polybar'''
 
Es kann auch {{ic|polybar}} anstatt i3-bar verwendet werden.
[https://github.com/polybar/polybar polybar] bietet sehr viele Konfigurationsmöglichkeiten, unter anderem hinzufügen von Icons, durchsichtigkeit, eigene Programme an der Bar anheften und vieles mehr!
Polybar steckt in den AURs. Sie können also mithilfe von ihrem [https://wiki.archlinux.de/title/AUR_Hilfsprogramme AUR_Hilfsprogramm] die polybar installieren:
trizen -S polybar
 
{{ic|polybar}} bietet ein Beispielskript namens {{ic|example}} an, welches sie zuerst kopieren sollten:
$ install -Dm644 /usr/local/share/doc/polybar/config $HOME/.config/polybar/config
 
'''Hinweis:'''
Die Datei könnte sich auch unter {{ic|/usr/share/doc/polybar/config}} befinden.
 
Nun können sie ihre Bar anzeigen lassen:
$ polybar example
 
Für weitere Informationen können Sie [https://github.com/polybar/polybar hier] draufdrücken.


Zuerst muss die default config in's Homeverzeichnis kopiert werden:
== i3status ==
Zuerst muss die default config in das Homeverzeichnis kopiert werden:


  $ cp /etc/i3status.conf ~/.config/i3status/config
  $ cp /etc/i3status.conf ~/.config/i3status/config
Zeile 107: Zeile 130:
In der default config sind nicht alle plugins definiert, siehe {{ic|man 1 i3status}} für mehr Informationen
In der default config sind nicht alle plugins definiert, siehe {{ic|man 1 i3status}} für mehr Informationen


{{hinweis| Die Beispiel config nutzt eth0 und wlan0 als Schnittstellen. Falls diese nicht passen, kann man mit Hilfe von {{ic|ip link}} die richtige Schnittstellen ermittelt werden.
{{hinweis| Die Beispiel config nutzt eth0 und wlan0 als Schnittstellen. Falls diese nicht passen, kann man mit Hilfe von {{ic|ip link}} die richtige Schnittstellen ermitteln.
Möglicherweise passen andere Sachen, wie zum Beispiel der Pfad für den Akku, ebenfalls nicht, siehe dafür unter {{ic|man i3status}} nach.}}
Möglicherweise passen andere Sachen, wie zum Beispiel der Pfad für den Akku, ebenfalls nicht, siehe dafür unter {{ic|man i3status}} nach.}}


==Ersatz für i3status==
== Ersatz für i3status ==
 
*[[conky]] — Extrem gut erweiterbares Tool zum Überwachen des Systems. In diesem [http://i3wm.org/docs/user-contributed/conky-i3bar.html Tutorial] findet man Hilfe, wie man conky mit i3bar benutzt.
*[[conky]] — Extrem gut erweiterbarers Tool zum Überwachen des Systems. In diesem [http://i3wm.org/docs/user-contributed/conky-i3bar.html Tutorial] findet man Hilfe, wie man conky mit i3bar benutzt.


[http://conky.sourceforge.net/ http://conky.sourceforge.net/] || {{paket|conky}}
[http://conky.sourceforge.net/ http://conky.sourceforge.net/] || {{paket|conky}}
Zeile 132: Zeile 154:
[http://j4status.j4tools.org/ http://j4status.j4tools.org/] || {{AUR|j4status-git}}
[http://j4status.j4tools.org/ http://j4status.j4tools.org/] || {{AUR|j4status-git}}


== Terminal Emulator==
== Terminal Emulator ==
Standardmäßig wird, wenn {{ic|$mod+Return}} gedrückt wird, das {{ic|i3-sensible-terminal}} Script gestartet, welches ein Terminal aufruft. Siehe {{ic|man i3-sensible-terminal}} für Informationen darüber, in welcher Reihenfolge Terminals aufgerufen werden.


Standardmäßig wird, wenn {{ic|$mod+Return}} gedrückt wird, das {{ic|i3-sensible-terminal}} Script gestartet, welches ein Terminal aufruft. Siehe {{ic|man i3-sensible-terminal}} für Informationen dadrüber, in welcher Reihenfolge Terminals aufgerufen werden.
Wenn man stattdessen ein [[:en:list_of_applications#Terminal_emulators|Terminal]] seiner Wahl starten möchte, muss folgende Zeile in der {{ic|~/.config/i3/config}} bearbeitet werden:
 
Wenn man stattdessen ein [https://wiki.archlinux.org/index.php/list_of_applications#Terminal_emulators Terminal] seiner Wahl starten möchte, muss folgende Zeile in der {{ic|~/.config/i3/config}} bearbeitet werden:


  bindsym $mod+Return exec i3-sensible-terminal
  bindsym $mod+Return exec i3-sensible-terminal
Zeile 146: Zeile 167:
ersetzt werden.
ersetzt werden.


==Systemtray==
== Systemtray ==
Das Systemtray kann aktiviert werden, in dem man ''eine'' der zwei folgenden Werte in die {{ic|~/.config/i3/config}} in den {{ic|bar{ }}}-Abschnitt eingetragen wird.
Das Systemtray kann aktiviert werden, indem man ''einen'' der folgenden Werte in die {{ic|~/.config/i3/config}} in den {{ic|bar{ }}}-Abschnitt einträgt.


  bar {
  bar {
Zeile 161: Zeile 182:
  }
  }


für einen bestimmten Bildschrim.
für einen bestimmten Bildschirm.


Den richtigen Bildschirmnamen findet man leicht mit [[:de:RandR|RandR]] heraus.
Den richtigen Bildschirmnamen findet man leicht mit [[RandR]] heraus.


Soll die i3bar oben am Bildschirmrand platziert werden, muss man folgendes, ebenfalls in den {{ic|bar{ } }}-Bereich eingetragen werden:
Soll die i3bar oben am Bildschirmrand platziert werden, muss man folgendes, ebenfalls in den {{ic|bar{ } }}-Bereich eingetragen:


  position top
  position top


==Lautstärke im Systemtray==
== Lautstärke im Systemtray ==
 
Mit Hilfe folgenden Eintrages in die {{ic|i3stats config}} bekommt man eine Anzeige im Systemtray, welche die Lautstärke anzeigt.
Mit Hilfe folgendes Eintrages in die {{ic|i3stats config}} bekommt man eine Anzeige ins Systemtray, welche die Lautstärke anzeigt.


  order += "volume master"
  order += "volume master"
Zeile 183: Zeile 203:
  }
  }


==NetworkManager im Systemtray==
== NetworkManager im Systemtray ==
 
Möchte man den NetworkManager im Systemtray aktivieren, müssen folgende Dinge vorher bedacht worden sein:
Möchte man den NetworkManager im Systemtray aktivieren, müssen folgende Dinge vorher bedacht worden sein:
*Der [[:de:Networkmanager]] muss installiert und [https://wiki.archlinux.de/title/Networkmanager#Dienst_aktivieren aktiviert] worden sein.
*Der [[Networkmanager]] muss installiert und [[Networkmanager#Dienst_aktivieren|aktiviert]] worden sein.
*Es muss das [https://wiki.archlinux.de/title/Networkmanager#Gnome Networkmanager-applet] installiert sein.
*Es muss das [[Networkmanager#Gnome|Networkmanager-applet]] installiert sein.


Danach muss folgendes in die ~/.xinitrc eingetragen werden - vor {{ic|exec i3}}:
Danach muss folgendes in die ~/.xinitrc eingetragen werden - vor {{ic|exec i3}}:
  nm-applet --sm-disable &
  nm-applet --sm-disable &


==Numlock aktivieren==
== Numlock aktivieren ==
 
Eine einfache und schnelle Möglichkeit Numlock zu aktivieren bietet [[Numlock|numlockx]]
Eine einfache und schnelle Möglichkeit Numlock zu aktivieren bietet [https://wiki.archlinux.de/title/Numlock numlockx]
 
==Multimedia Tasten==


== Multimedia Tasten ==
Selbstverständlich ist es auch in i3 möglich seine Multimedia Tasten zu benutzen.
Selbstverständlich ist es auch in i3 möglich seine Multimedia Tasten zu benutzen.


Mit dem Befehl [https://wiki.archlinux.de/title/Xmodmap#xev xev] lässt sich der benötigte Keycode herausfinden.
Mit dem Befehl [[Xmodmap#xev|xev]] lässt sich der benötigte Keycode herausfinden.


Mit [[:en:Xmodmap|xmodmap]] -pke lässt sich der passende Name des dazugehörigen Keycodes finden.
Mit [[Xmodmap]] -pke lässt sich der passende Name des dazugehörigen Keycodes finden.


Hier ein beispielhafter Auszug aus meiner Config für Helligkeits-, sowie die Lautstärke-Tasten:
Hier ein beispielhafter Auszug aus meiner Config für Helligkeits-, sowie die Lautstärke-Tasten:
Zeile 218: Zeile 235:
  bindcode 121 exec amixer -q set Master toggle
  bindcode 121 exec amixer -q set Master toggle


==Bildschirmschoner und Energieverwaltung==
Weitere Informationen sind im [http://i3wm.org/docs/userguide.html#keybindings i3 User Guide] zu finden.


== Bildschirmschoner und Energieverwaltung ==
Mit [[DPMS]] kann man den Bildschirm abdunkeln, in den Ruhezustand bringen oder ausschalten. Folgendes in der {{ic|~/.config/i3/config}} sorgt dafür, dass der Monitor sich nach 10 Minuten ausschaltet.
Mit [[DPMS]] kann man den Bildschirm abdunkeln, in den Ruhezustand bringen oder ausschalten. Folgendes in der {{ic|~/.config/i3/config}} sorgt dafür, dass der Monitor sich nach 10 Minuten ausschaltet.
  exec --no-startup-id xset dpms 600
  exec --no-startup-id xset dpms 600


Mit {{AUR|xss-lock-git}} kann eine Bildschirmspere für die i3-Session angelegt werden.  
Mit {{AUR|xss-lock-git}} kann eine Bildschirmsperre für die i3-Session angelegt werden.  
  xss-lock -- i3lock -i background_image &
  xss-lock -- i3lock -i background_image &


Zeile 230: Zeile 248:
  xautolock -time 10 -locker i3lock &
  xautolock -time 10 -locker i3lock &


==Herunterfahren, Neustarten, Bildschirmsperre==
== Herunterfahren, Neustarten, Bildschirmsperre ==
 
In i3 gibt es keine Herunterfahr-, Neustart- oder Bildschirmsperr-Knöpfe. Es ist aber möglich sich {{wikipedia|Tastenkombination|Hotkeys}} dafür dafür einzurichten. Als erstes müssen wir ein Script dafür erstellen und unter dem Namen {{ic|i3exit}} speichern. Unbedingt dran denken die datei mit chmod +x ausführbar zu machen und irgendwo in dem $PATH platzieren. Das Script benötigt {{paket|polkit}}, damit auch unprivilegierte User Zugriff auf die [[Systemd#Systemverwaltung_mit_systemctl|Systemverwaltung]] haben.
In i3 gibt es keine Herunterfahr-, Neustart- oder Bildschirmsperr-Knöpfe. Es ist aber möglich sich {{wikipedia|Tastenkombination|Hotkey}} dafür dafür einzurichten. Als erstes müssen wir ein Script dafür erstellen und unter dem Namen {{ic||i3exit}} speichern. Unbedingt dran denken die datei mit chmod +x ausführbar zu machen und irgendwo in dem $PATH platzieren. Das Script benötigt {{paket|polkit}}, damit auch unprivilegiert User Zugriff auf die [https://wiki.archlinux.de/title/Systemd#Systemverwaltung_mit_systemctl Systemverwaltung] haben.


  #!/bin/sh
  #!/bin/sh
Zeile 270: Zeile 287:
}}
}}


Jetzt müsses die folgenden Zeilen in die {{ic|~/.config/i3/config}} eingefügt werden.
Jetzt müssen die folgenden Zeilen in die {{ic|~/.config/i3/config}} eingefügt werden.


  set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
  set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
Zeile 287: Zeile 304:
  bindsym $mod+Pause mode "$mode_system"
  bindsym $mod+Pause mode "$mode_system"


Hier ist eine Liste weiterer [https://wiki.archlinux.org/index.php/List_of_applications/Security#Screen_lockers Screensaver]
Hier ist eine Liste weiterer [[:en:List_of_applications/Security#Screen_lockers|Screenlocker]]
==Weblinks==
 
== Weblinks ==
* [http://www.i3wm.org/ Homepage] {{sprache|en}}
* [http://www.i3wm.org/ Homepage] {{sprache|en}}
* [http://i3wm.org/docs/userguide.html User Guide] {{sprache|en}}
* [http://i3wm.org/docs/userguide.html User Guide] {{sprache|en}}

Aktuelle Version vom 23. Februar 2020, 23:46 Uhr

i3 ist ein durch wmii inspirierter Tiling-Windowmanager mit Floating-Support, der sich momentan noch stark in der Entwicklung befindet.

Installation

i3 ist als i3 in community verfügbar, und kann von dort mittels Pacman installiert werden.

# i3 an sich
pacman -S i3

# ein gut mit i3 zusammenarbeitender Launcher
pacman -S dmenu

Wenn man nur den Fenstermanager möchte, nimmt man stattdessen i3-wm. Wer die fortwährende Entwicklung benutzen möchte, findet das Paket i3-gitAUR im AUR.

Um i3 über startx starten zu können, ist die xinitrc zu editieren, diese sollte den folgenden Eintrag enthalten.

exec i3

Wenn stattdessen i3 mit log gestartet werden soll, muss folgendes in die xinitrc

exec i3 -V >> ~/.i3/i3log-$(date +'%F-%k-%M-%S') 2>&1

Das log ist unter ~/.i3 zu finden.

Benutzer des Nvidia-Treibers in Kombination mit mehreren Ausgabegeräten für das Bildsignal sollten ferner die Option --force-xinerama benutzen.

exec i3 --force-xinerama

Alternative: i3-gaps

i3-gaps ist ein fork von i3-wm. In Grunde genommen sind sie identisch, jedoch kann man bei i3-gaps, wie der Name schon sagt, Lücken zwischen den Fenstern erstellen. Das hört sich zuerst etwas befremdet an, jedoch kann man auf der Webseite von i3-gaps ein gutes Beispielbild erkennen. Die Einstellungen von i3-wm gibt's auch bei i3-gaps, somit muss man beim wechseln nichts verändern, sondern (man kann) eher etwas hinzufügen :). Sie können also einfach, wenn sie sich für i3-gaps entscheiden, dieser Anleitung folgen.

Konfiguration

Um die Konfiguration anpassen zu können ist es nötig die globale Konfiguration in den entsprechenden Unterordner des Benutzerverzeichnisses zu kopieren:

cp /etc/i3/config ~/.i3/config 

Nun sollte man vor der Anpassung unbedingt die Manpage lesen, die sehr griffig die Konfigurationsmöglichkeiten erklärt.

man 1 i3

Um ein Desktop-Hintergrund zu setzten muss ein externes Programm genutzt werden.

Unter i3 User Guide findet man Details, wie die i3-config zu konfigurieren ist.

Anwendungsstarter

i3 benutzt dmenu als Anwendungsstarter, was per Default mit $mod+d aufzurufen ist.

i3-wm beinhaltet i3-dmenu-desktop, ein Wikipedia.png Perl-Wrapper für dmenu, welcher die Desktop Einträge benutzt um eine Liste von allen installierten Anwendungen zu erstellen. Alternativ kann das Paket j4-dmenu-desktop-gitAUR benutzt werden, ein Ersatz für i3-dmenu-desktop, welcher um einiges schneller ist. Eine weitere Möglichkeit ist dmenu-extendedAUR. Es funktioniert wie dmenu ist aber um einige Funktionen erweitert.

Keybindings

In i3 werden Kommandos mit einem modifier key ausgeführt, welcher mit $mod referenziert wird. Standardmäßig ist das die Alt-Taste(Mod1); eine populäre Alternative ist Super(Mod4). Will man zum Beispiel für alle Shortcuts Super benutzen, geht es schnell mit einem einfachen Text-Editor die i3-config zu öffnen, und alle Mod1 durch Mod4 zu ersetzen.

i3 Reference Card und using i3 geben hier gute Hilfestellungen auf englisch.

Farbverwaltung

Die i3-config erlaubt die Konfiguration der Farbverzierungen. Die Syntax macht es unpraktisch Themes zu erstellen oder auszutauschen. Es gibt allerdings mehrere Projekte, die das Ganze einfacher gestalten und beinhaltet - von Usern beigetragene - Themes.

  • i3-style — Modifiziert deine Config aus einem Theme, welches in einem JSON Object gespeichert wird. Für häufiges Bearbeiten der Farben designed.

https://github.com/acrisci/i3-style || nodejs-i3-styleAUR

  • j4-make-config — Füge deine Config mit einer Sammlung von Themes oder Stücken von Configs zusammen.

https://github.com/okraits/j4-make-config || j4-make-config-gitAUR

i3bar

Als Ergänzung, um Arbeitsplatz-Informationen anzuzeigen, kann i3bar als Input oder Alternative für i3status dienen, so, wie im nächsten Abschnitt gezeigt. Zum Beispiel:

~/.config/i3/config

bar {

   output            LVDS1
   status_command    i3status
   position          top
   mode              hide
   workspace_buttons yes
   tray_output       none
   font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1

   colors {
       background #000000
       statusline #ffffff
       focused_workspace  #ffffff #285577
       active_workspace   #ffffff #333333
       inactive_workspace #888888 #222222
       urgent_workspace   #ffffff #900000
   }
}

Unter i3 User Guide gibt es mehr Informationen - auf englisch.

i3bar Alternativen

Einige User ziehen eventuell andere Panels - wie z.B. die von den regulären Desktops angebotenen - vor. Dies kann innerhalb von i3 erreicht werden, indem das Panel der Wahl während des Startens gestartet wird.

Für das xfce4-panel muss folgendes in ~/.config/i3/config eingefügt werden:

exec --no-startup-id xfce4-panel --disable-wm-check

Alternativ kann das Starten auch über die xinitrc geregelt werden.

xfce4-panel --disable-wm-check &

i3bar kann abgeschaltet werden, indem der bar{}-Bereich in ~/.config/i3/config auskommentiert wird.

Polybar

Es kann auch polybar anstatt i3-bar verwendet werden. polybar bietet sehr viele Konfigurationsmöglichkeiten, unter anderem hinzufügen von Icons, durchsichtigkeit, eigene Programme an der Bar anheften und vieles mehr! Polybar steckt in den AURs. Sie können also mithilfe von ihrem AUR_Hilfsprogramm die polybar installieren:

trizen -S polybar

polybar bietet ein Beispielskript namens example an, welches sie zuerst kopieren sollten:

$ install -Dm644 /usr/local/share/doc/polybar/config $HOME/.config/polybar/config

Hinweis: Die Datei könnte sich auch unter /usr/share/doc/polybar/config befinden.

Nun können sie ihre Bar anzeigen lassen:

$ polybar example

Für weitere Informationen können Sie hier draufdrücken.

i3status

Zuerst muss die default config in das Homeverzeichnis kopiert werden:

$ cp /etc/i3status.conf ~/.config/i3status/config

In der default config sind nicht alle plugins definiert, siehe man 1 i3status für mehr Informationen

Hinweis: Die Beispiel config nutzt eth0 und wlan0 als Schnittstellen. Falls diese nicht passen, kann man mit Hilfe von ip link die richtige Schnittstellen ermitteln. Möglicherweise passen andere Sachen, wie zum Beispiel der Pfad für den Akku, ebenfalls nicht, siehe dafür unter man i3status nach.

Ersatz für i3status

  • conky — Extrem gut erweiterbares Tool zum Überwachen des Systems. In diesem Tutorial findet man Hilfe, wie man conky mit i3bar benutzt.

http://conky.sourceforge.net/ || conky

  • i3blocks — Via Shellscripts erweiterbar.

https://github.com/vivien/i3blocks || i3blocksAUR

  • i3pystatus — Erweiterbare Python 3 Statusbar mit vielen Plugins und Konfigurationsmöglichkeiten von Haus aus.

i3pystatus https://github.com/enkore/i3pystatus i3pystatus || i3pystatus-gitAUR

  • i3situation — Eine weitere Python 3 Statusbar

https://github.com/HarveyHunt/i3situation || i3situation-gitAUR

  • j4status — Unterstützt eine Statusleiste, konfigurierbar via Plugins, wurde in C geschrieben.

http://j4status.j4tools.org/ || j4status-gitAUR

Terminal Emulator

Standardmäßig wird, wenn $mod+Return gedrückt wird, das i3-sensible-terminal Script gestartet, welches ein Terminal aufruft. Siehe man i3-sensible-terminal für Informationen darüber, in welcher Reihenfolge Terminals aufgerufen werden.

Wenn man stattdessen ein Terminal seiner Wahl starten möchte, muss folgende Zeile in der ~/.config/i3/config bearbeitet werden:

bindsym $mod+Return exec i3-sensible-terminal

und zum Beispiel durch

bindsym $mod+Return exec urxvt

ersetzt werden.

Systemtray

Das Systemtray kann aktiviert werden, indem man einen der folgenden Werte in die ~/.config/i3/config in den bar{ }-Abschnitt einträgt.

bar {
   tray_output primary
}

für den Hauptbildschirm

oder

bar {
   tray_output LVDS1
}

für einen bestimmten Bildschirm.

Den richtigen Bildschirmnamen findet man leicht mit RandR heraus.

Soll die i3bar oben am Bildschirmrand platziert werden, muss man folgendes, ebenfalls in den bar{ } -Bereich eingetragen:

position top

Lautstärke im Systemtray

Mit Hilfe folgenden Eintrages in die i3stats config bekommt man eine Anzeige im Systemtray, welche die Lautstärke anzeigt.

order += "volume master"
volume master {
       format = "%volume"
       format_muted = "muted (%volume)"
       device = "default"
       mixer = "Master"
       mixer_idx = 0
}

NetworkManager im Systemtray

Möchte man den NetworkManager im Systemtray aktivieren, müssen folgende Dinge vorher bedacht worden sein:

Danach muss folgendes in die ~/.xinitrc eingetragen werden - vor exec i3:

nm-applet --sm-disable &

Numlock aktivieren

Eine einfache und schnelle Möglichkeit Numlock zu aktivieren bietet numlockx

Multimedia Tasten

Selbstverständlich ist es auch in i3 möglich seine Multimedia Tasten zu benutzen.

Mit dem Befehl xev lässt sich der benötigte Keycode herausfinden.

Mit Xmodmap -pke lässt sich der passende Name des dazugehörigen Keycodes finden.

Hier ein beispielhafter Auszug aus meiner Config für Helligkeits-, sowie die Lautstärke-Tasten:

Hinweis: Für meine Config werden alsa-utils für die Musik und xbacklight für die Bildschirmhelligkeit benutzt.

#####Custom settings#####

#Brightness Up/Down
bindcode 232 exec xbacklight -10
bindcode 233 exec xbacklight +10

#Volume Up/Down
bindcode 122 exec amixer -q set Master 5%-
bindcode 123 exec amixer -q set Master 5%+
bindcode 121 exec amixer -q set Master toggle

Weitere Informationen sind im i3 User Guide zu finden.

Bildschirmschoner und Energieverwaltung

Mit DPMS kann man den Bildschirm abdunkeln, in den Ruhezustand bringen oder ausschalten. Folgendes in der ~/.config/i3/config sorgt dafür, dass der Monitor sich nach 10 Minuten ausschaltet.

exec --no-startup-id xset dpms 600

Mit xss-lock-gitAUR kann eine Bildschirmsperre für die i3-Session angelegt werden.

xss-lock -- i3lock -i background_image &

Alternativ kann xautolock benutzt werden, um den Bildschirm nach einer gewissen Zeitspanne zu sperren.

xautolock -time 10 -locker i3lock &

Herunterfahren, Neustarten, Bildschirmsperre

In i3 gibt es keine Herunterfahr-, Neustart- oder Bildschirmsperr-Knöpfe. Es ist aber möglich sich Wikipedia.png Hotkeys dafür dafür einzurichten. Als erstes müssen wir ein Script dafür erstellen und unter dem Namen i3exit speichern. Unbedingt dran denken die datei mit chmod +x ausführbar zu machen und irgendwo in dem $PATH platzieren. Das Script benötigt polkit, damit auch unprivilegierte User Zugriff auf die Systemverwaltung haben.

#!/bin/sh
lock() {
   i3lock
}

case "$1" in
   lock)
       lock
       ;;
   logout)
       i3-msg exit
       ;;
   suspend)
       lock && systemctl suspend
       ;;
   hibernate)
       lock && systemctl hibernate
       ;;
   reboot)
       systemctl reboot
       ;;
   shutdown)
       systemctl poweroff
       ;;
   *)
       echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}"
       exit 2
esac

exit 0

Hinweis:

  • Wenn xss-lock-gitAUR benutzt wird, muss xset s activate aufgerufen werden um die Sperre zu aktivieren.
  • Mit xautolockAUR lautet der Befehl xautolock -locknow

Jetzt müssen die folgenden Zeilen in die ~/.config/i3/config eingefügt werden.

set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
mode "$mode_system" {
   bindsym l exec --no-startup-id i3exit lock, mode "default"
   bindsym e exec --no-startup-id i3exit logout, mode "default"
   bindsym s exec --no-startup-id i3exit suspend, mode "default"
   bindsym h exec --no-startup-id i3exit hibernate, mode "default"
   bindsym r exec --no-startup-id i3exit reboot, mode "default"
   bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"  

   # back to normal: Enter or Escape
   bindsym Return mode "default"
   bindsym Escape mode "default"
}
bindsym $mod+Pause mode "$mode_system"

Hier ist eine Liste weiterer Screenlocker

Weblinks