Ajout de customisation couleut i3, nom de workspace, assigné une application a un workspace, mode fenetre flotante

This commit is contained in:
emorino 2017-07-02 16:55:18 +02:00
parent 2b3ab602a1
commit 472b57aef4

View file

@ -76,4 +76,121 @@ 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.
~~~
~~~
## Definir des noms pour chaque workspace
On peut définir des noms pour certains workspace à la place des numéros par défaut, pour ce faire on définit d'abord les noms dans des variables comme ceci :
~~~
set $workspace1 "1: Term"
set $workspace2 "2: Web"
~~~
Ensuite, on définit nos variables dans les raccourcis qui permettent de switcher d'un workspace à l'autre avec les touches mod+numero :
~~~
bindsym $mod+1 workspace $workspace1
bindsym $mod+2 workspace $workspace2
~~~
Et aussi dans les raccourcis qui permettent de déplacer une fenêtre d'un workspace à un autre :
~~~
bindsym $mod+Shift+1 move container to workspace $workspace1
bindsym $mod+Shift+2 move container to workspace $workspace2
~~~
## Assigné une application à un workspace
Pour assigner une application à un workspace, on utilise la fonction *assign* en précisant la class de l'application que l'on souhaite utiliser, suivi du numéro du workspace ou du nom de la variable du workspace, si on a défini ces workspaces avec des variables, par exemple :
~~~
assign [class="Firefox-esr"] $workspace2
~~~
Pour obtenir la class de l'application on peut utiliser la commande *xprop* et de cliquer sur la fenêtre de l'application, on obtient en console un résultat comme ceci :
~~~
$ xprop
WM_CLASS(STRING) = "Navigator", "Firefox-esr"
~~~
## Définir une application en mode fenêtre flottante
Si vous voulez avoir certaines applications en mode fenêtre flottante et pas en mode tilling dans un conteneur de fenêtre, il faut utiliser le mode "floating", exemple avec pavucontrol :
~~~
for_window [class="Pavucontrol"] floating enable
~~~
On peut redimensionner une fenêtre en mode foating avec le click droit de la souris.
## Customisation de l'apparence de i3
* Changer la couleur des fenêtres :
Pour changer la couleur des fenêtres il faut d'abord définir chaque couleur de chaque variable :
~~~
set $bg-color #2f343f
set $inactive-bg-color #2f343f
set $text-color #f3f4f5
set $inactive-text-color #676E7D
set $urgent-bg-color #E53935
~~~
Pour obtenir les numéros de chaque couleur, on peut utiliser gimp ou inkscape, ou alors sur ce site : [color-picker](https://www.webpagefx.com/web-design/color-picker/)
Définition des variables :
* $bg-color : couleur d'arrière-plan de la fenêtre
* $inactive-bg-color : couleur d'arrière-plan d'une fenêtre inactive
* $text-color: couleur du texte de la fenêtre
* $inactive-text-color : couleur du texte d'une fenêtre inactive
* $urgent-bg-color : couleur d'une fenetre qui signale une notification
Ensuite, on définit nos variables pour chaque "état" des fenêtres :
~~~
# border background text indicator
client.focused $bg-color $bg-color $text-color #00ff00
client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color #00ff00
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color #00ff00
client.urgent $urgent-bg-color $urgent-bg-color $text-color #00ff00
~~~
Pour chaque "état" on définit une couleur pour la bordure, le fond, le texte et l'indicateur horizontal / vertical.
L'indicateur Horizontal / Vertical est une barre très fine qui permet de savoir dans quel sens la prochaine fenêtre va être dispose.
Voici la définition de chaque "état" de fenêtre :
* client.focused : fenêtre sur laquelle on a le focus
* client.unfocused : fenêtre sur laquelle on n'a pas le focus
* client.focused_inactive: fenêtre qui est dans un conteneur, mais qui n'a pas de focus pour le moment.
* client.urgent : fenêtre avec une notification
* Changer la couleur de la barre
Pour changer la couleur de la barre, que l'on utilise i3status ou i3blocks, on peut utiliser les mêmes variables que pour les fenêtres, mais avec des fonctions différentes, il faut en premier lieu créé une section *colors* dans la section *bar* du fichier de configuration de i3 :
~~~
bar {
colors {
background $bg-color
separator #757575
# border background text
focused_workspace $bg-color $bg-color $text-color
inactive_workspace $inactive-bg-color $inactive-bg-color $inactive-text-color
urgent_workspace $urgent-bg-color $urgent-bg-color $text-color
}
}
~~~
On utilise toujours les mêmes options pour les bordures, le fond et le texte, mais avec des options différentes :
* focused_workspace : workspace actif
* inactive_workspace : workspace inactif
* urgent_workspace : workspace avec une notification