wiki/HowtoI3.md

79 lines
2.2 KiB
Markdown
Raw Normal View History

2017-03-01 10:18:14 +01:00
---
2017-03-01 10:18:27 +01:00
title: Howto i3, a tiling window manager
2017-03-01 10:18:14 +01:00
category: window-manager
---
2017-03-03 14:27:55 +01:00
**Documentation officielle** : <http://i3wm.org/docs/>
2017-03-01 10:36:18 +01:00
## Installation
2017-03-03 14:27:55 +01:00
En installant le méta-paquet **i3** on obtient **i3-wm** lui-même et plusieurs outils utiles (**i3lock** , **i3status** , **dunst**…).
2017-03-01 10:36:18 +01:00
~~~
$ apt install i3
~~~
2017-03-03 14:28:24 +01:00
On peut aussi se contenter du paquet **i3-wm**.
2017-03-01 10:31:22 +01:00
## 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
2017-03-03 14:42:00 +01:00
### Verrouillage de session rapide
2017-03-03 14:25:55 +01:00
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
~~~
2017-03-03 14:42:00 +01:00
### 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
~~~
2017-03-01 10:31:22 +01:00
### 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
2017-03-01 10:32:08 +01:00
~~~
2017-03-01 10:31:22 +01:00
### 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.
~~~