From 472b57aef439da23b2b3fd54ab0912ce851a2442 Mon Sep 17 00:00:00 2001 From: emorino Date: Sun, 2 Jul 2017 16:55:18 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20customisation=20couleut=20i3,=20no?= =?UTF-8?q?m=20de=20workspace,=20assign=C3=A9=20une=20application=20a=20un?= =?UTF-8?q?=20workspace,=20mode=20fenetre=20flotante?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoI3.md | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 118 insertions(+), 1 deletion(-) diff --git a/HowtoI3.md b/HowtoI3.md index 9c9f03e0..99151932 100644 --- a/HowtoI3.md +++ b/HowtoI3.md @@ -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. -~~~ \ No newline at end of file +~~~ + +## 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 +