--- title: Howto i3, a tiling window manager category: window-manager --- **Documentation officielle** : ## Installation En installant le méta-paquet **i3** on obtient **i3-wm** lui-même et plusieurs outils utiles (**i3lock** , **i3status** , **dunst**…). ~~~ $ apt install i3 ~~~ On peut aussi se contenter du paquet **i3-wm**. ## Barre d'état Une barre d'état est proposée par i3 via la commande `i3status` qui affiche une ligne de texte d'information, mise à jour en continu. i3 affiche par défaut cette barre sur tous les écrans, en dessous des "workspaces". Via la configuration, il est possible de modifier ce comportement. Par exemple la placer en haut, seulement sur l'écran principal : ~~~ bar { position top tray_output primary status_command i3status } ~~~ ## Utile ### Verrouillage de session rapide I3 propose un verrou de session avec la commande `i3lock`. On peut créer un raccourci pour le faire facilement : ~~~ bindsym $mod+exclam exec i3lock --dpms ~~~ ### Verrouillage automatique de la session Au lancement de i3, il est possible de lancer également un programme qui va verrouiller la session après une certaine inactivité. Par exemple avec `xautolock` : ~~~ xautolock -time 10 -locker i3lock ~~~ ### Déplacer des "workspaces" sur un autre écran Pour déplacer le "workspace" courant sur un autre écran (à placer dans la config de i3) : ~~~ bindsym $mod+Control+Shift+Right move workspace to output right bindsym $mod+Control+Shift+Left move workspace to output left ~~~ Si on branche/débranche régulièrement des écrans, il peut être utile d'automatiser le retour de certains "workspaces" sur un écran ajouté : ~~~{.bash} # list all worspaces on the internal display, except "worspace 1" (using "jq" for json parsing) i3_workspaces=$(i3-msg -t get_workspaces | jq '.[] | select(.output == "eDP1" and .num != 1) | .num') for i in $i3_workspaces; do i3-msg -q "workspace ${i}; move workspace to output right" done ~~~ ### Faire une capture d'écran ~~~ bindsym Print exec scrot -e 'mv $f ~/tmp/ && sxiv ~/tmp/$f' ~~~ La commande exécutée est `scrot […]` et il est évidemment possible de la personnaliser ou la remplacer par une autre. ~~~