Debian Debian-France Debian-Facile Debian-fr.org Debian-fr.xyz Debian ? Communautés

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

doc:environnements:x11:i3wm:dolybar [06/01/2021 03:08] (Version actuelle)
smolski [Astuces]
Ligne 1: Ligne 1:
 +====== Le gestionnaire de fenêtre i3 ======
  
 +  * Objet : Installer et configurer le gestionnaire de fenêtre i3
 +  * Niveau requis : {{tag> avisé}}
 +  * Commentaires : ne pas avoir peur de contrôler son affichage au clavier
 +  * Suivi : {{tag>​à-tester}} ​
 +    * Création par [[user>​sogalpunx]] 27/11/2013
 +    * Testé par <...> le <​...> ​
 +  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=73085#​p73085]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
 +  * Traduction du [[utilisateurs:​arpinux:​tutos:​i3-userguide-fr|manuel de l'​utilisateur i3]]
 +===== Introduction =====
 +
 +i3 est un gestionnaire de fenêtre par pavage. Son but est de fournir un code et une configuration clairs, bien documentés,​ faciles à maintenir et à utiliser.\\
 +Il gère bien entendu les moniteurs multiples ainsi que l'​encodage UTF-8.\\
 +Son but est d'​être léger tout en étant moderne et extrêmement personnalisable.\\
 +
 +__Il fonctionne selon une logique d'​arborescence:​__ \\
 +
 +Vous travailler au sein d'un **espace de travail**. Au démarrage, un seul est actif par défaut. Les autres se créeront au fur et à mesure que vous les "​peuplerez"​ en ouvrant des fenêtres en leur sein. Un espace de travail qui n'​accueille aucune fenêtre est "​détruit"​.\\
 +
 +Une fenêtre seule représente un **container**. Vous pouvez ajouter des **fenêtres** à ce container en le divisant (horizontalement ou verticalement (voir ci-après dans le fichier de configuration en exemple)).\\
 +
 +Ainsi nous avons:\\
 +<​file>​
 +**espace de travail**
 +|
 +|_container 1
 +|            |_fenêtre seule (donc fenêtre=container)
 +|
 +|_container 2
 +             |
 +             ​|_fenêtre "​iceweasel"​
 +             |
 +             ​|_fenêtre "​terminal"​
 +             </​file>​
 +Le but de ce tutoriel est de présenter i3 et ses utilitaires et de permettre à l'​utilisateur de le mettre sur pied rapidement.\\
 +Pour en savoir plus, je vous recommande vivement la lecture du très bon guide pour i3: [[http://​i3wm.org/​docs/​userguide.html]] \\
 +
 +Il se présente en gros, comme ceci:\\
 +{{/​file-R3bf3ee93206d2617a301cabed82cde83.png}}
 +===== Installation =====
 +
 +i3 est disponible dans les dépôts. Pour l'​installer:​\\
 +<code root>​apt-get install i3</​code>​
 +Ce meta-paquet installera plusieurs binaires:\\
 +  * i3-wm: le gestionnaire de fenêtre lui même;\\
 +  * i3lock: un utilitaire pour verrouiller votre écran;\\
 +  * i3bar: une barre permettant d'​afficher les noms des espaces de travail et des informations sur le système;\\
 +  * i3status: utilitaire permettant d'​afficher les informations dans i3bar;\\
 +  * i3-msg: utilitaire permettant d'​envoyer des commandes à i3 sans pour autant modifier le fichier de configuration;​\\
 +  * suckless-tools:​ ce paquet est requis pour l'​utilitaire dmenu (que vous pouvez par ailleurs compiler depuis les sources afin d'​éviter l'​installation de ce paquet).\\
 +
 +===== Utilisation =====
 +
 +==== Démarrage ====
 +
 +Le démarrage peut-être différent selon le gestionnaire de connexion que vous utilisez (gdm3, kdm, slim,...). Toutefois i3, lors de son installation depuis les dépôts est configuré automatiquement en tant que'un des gestionnaires de fenêtres du système et sera donc disponible au login.\\
 +Si cela n'​était pas le cas, vous pouvez définir cela grâce à la commande:\\
 +<code root>​update-alternatives --install /​usr/​bin/​x-window-manager x-window-manager /usr/bin/i3 20</​code>​
 +
 +==== Configuration ====
 +
 +=== i3 ===
 +
 +Globalement la configuration de i3 est très bien documentée et claire. Elle est donc accessible aux utilisateurs souhaitant bidouiller leur configuration facilement.\\
 +Lors du premier lancement d'i3, un petit assistant vous demandera la touche de modification que vous souhaitez utiliser (<​key>​Alt</​key>​ par défaut mais beaucoup préféreront la touche <​key>​Windows</​key>​). Il en découle le paramétrage du fichier de configuration <​file>​~/​.i3/​config</​file>​ pour votre clavier (azerty).\\
 +Et c'est au sein de ce fichier que tout se paramètre! Plutôt que de passer en revue les différentes sections, je vous propose mon fichier de configuration commenté (et en français s'il vous plait 8-) ):
 +
 +<file config Exemple de fichier .i3/​config>​
 +# Ce fichier a été auto-généré par i3-config-wiazrd(1). Il ne sera pas écrasé, vous pouvez donc le modifier à votre guise.
 +#
 +# Si vous devez changer de configuration de clavier (azerty <=> qwerty), effacez ce fichier et relancez:
 +# i3-config-wizard(1).
 +#
 +
 +# i3 config file (v4)
 +#
 +# Merci de lire http://​i3wm.org/​docs/​userguide.html pour l'​ensemble des paramètres possibles!
 +#
 +# Définition de Mod4 (touche Super ou Windows) en tant que modificateur principal:
 +set $mod Mod4
 +
 +# Définition de Alt en tant que modificateur secondaire (pour mes raccourcis):​
 +set $alt Mod1
 +
 +# police des titres de fenêtres. ISO 10646 = Unicode
 +font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
 +
 +# Utilisation de la souris+$mod pour déplacer les fenêtres flottantes:
 +floating_modifier $mod
 +
 +# ouvrir un terminal
 +bindsym $mod+Return exec i3-sensible-terminal
 +
 +# fermer (tuer) la fenêtre ayant le focus:
 +bindsym $mod+Shift+Q kill
 +
 +# démarrer le lanceur de menu '​dmenu'​ (paquet suckless-tools)
 +bindsym $mod+d exec dmenu_run
 +
 +# déplacer le focus entre les fenêtres avec jklm:
 +bindsym $mod+j focus left
 +bindsym $mod+k focus down
 +bindsym $mod+l focus up
 +bindsym $mod+m focus right
 +
 +# ou avec les touches fléchées:
 +bindsym $mod+Left focus left
 +bindsym $mod+Down focus down
 +bindsym $mod+Up focus up
 +bindsym $mod+Right focus right
 +
 +# déplacer la fenêtre active avec jklm:
 +bindsym $mod+Shift+J move left
 +bindsym $mod+Shift+K move down
 +bindsym $mod+Shift+L move up
 +bindsym $mod+Shift+M move right
 +
 +# ou avec les touches fléchées:
 +bindsym $mod+Shift+Left move left
 +bindsym $mod+Shift+Down move down
 +bindsym $mod+Shift+Up move up
 +bindsym $mod+Shift+Right move right
 +
 +# diviser horizontalement (ex: mod+h suivi de mod+Entrée crée un nouveau terminal à côté du premier)
 +bindsym $mod+h split h
 +
 +# diviser verticalement (ex: mod+v suivi de mod+Entrée crée un nouveau terminal sous le premier)
 +bindsym $mod+v split v
 +
 +# mise en plein écran de la fenêtre active:
 +bindsym $mod+f fullscreen
 +
 +# changer le mode d'​affichage des containers:
 +# stacked: fenêtres maximisées,​ barres de titre des fenetres ouvertes empilées,
 +# tabbed: fenêtres maximisées,​ barres de titre des fenetres ouvertes les unes à côtés des autres, comme des onglets,
 +# default: tiling (pavage).
 +bindsym $mod+s layout stacking
 +bindsym $mod+z layout tabbed
 +bindsym $mod+e layout default
 +
 +# alterner l'​affichage de la fenêtre active entre flottant et tiling:
 +bindsym $mod+Shift+space floating toggle
 +
 +# alterner le focus entre les fenêtres en tiling et celle(s) flottante(s) :
 +bindsym $mod+space focus mode_toggle
 +
 +# donner le focus au container père:
 +bindsym $mod+q focus parent
 +
 +# donner le focus au container fils:
 +# bindsym $mod+d focus child
 +
 +# se déplacer entre espaces de travail:
 +bindsym $mod+ampersand workspace 1
 +bindsym $mod+eacute workspace 2
 +bindsym $mod+quotedbl workspace 3
 +bindsym $mod+apostrophe workspace 4
 +bindsym $mod+parenleft workspace 5
 +bindsym $mod+minus workspace 6
 +bindsym $mod+egrave workspace 7
 +bindsym $mod+underscore workspace 8
 +bindsym $mod+ccedilla workspace 9
 +bindsym $mod+agrave workspace 10
 +
 +# déplacer la fenêtre active vers un espace de travail:
 +bindsym $mod+Shift+ampersand move container to workspace 1
 +bindsym $mod+Shift+eacute move container to workspace 2
 +bindsym $mod+Shift+quotedbl move container to workspace 3
 +bindsym $mod+Shift+apostrophe move container to workspace 4
 +bindsym $mod+Shift+5 move container to workspace 5
 +bindsym $mod+Shift+6 move container to workspace 6
 +bindsym $mod+Shift+7 move container to workspace 7
 +bindsym $mod+Shift+8 move container to workspace 8
 +bindsym $mod+Shift+9 move container to workspace 9
 +bindsym $mod+Shift+0 move container to workspace 10
 +
 +# recharger la configuration d'i3 (relecture du présent fichier, ne nécessite pas de redémarrage d'i3):
 +bindsym $mod+Shift+C reload
 +
 +# redémarrer i3 sur place (conserve la session et l'​organisation actuelle, peut être utiliser pour une mise à jour d'i3)
 +bindsym $mod+Shift+R restart
 +
 +# quitter i3 (met fin à votre session X):
 +bindsym $mod+Shift+E exit
 +
 +# redimensionner la fenêtre (la souris peut aussi être utilisée):
 +mode "​resize"​ {
 +        # Ces raccourcis fonctionnent dès l'​entrée en mode "​resize"​
 +
 +        # j pour réduire la largeur de 10
 +        # m pour agrandir la largeur de 10
 +        # k pour agrandir la hauteur de 10
 +        # l pour réduire la hauteur de 10
 +        bindsym j resize shrink width 10 px or 10 ppt
 +        bindsym k resize grow height 10 px or 10 ppt
 +        bindsym l resize shrink height 10 px or 10 ppt
 +        bindsym m resize grow width 10 px or 10 ppt
 +
 +        # idem mais avec les touches fléchées
 +        bindsym 113 resize shrink width 10 px or 10 ppt
 +        bindsym 116 resize grow height 10 px or 10 ppt
 +        bindsym 111 resize shrink height 10 px or 10 ppt
 +        bindsym 114 resize grow width 10 px or 10 ppt
 +
 +        # Entrée ou Echap pour revenir en mode normal
 +        bindsym Return mode "​default"​
 +        bindsym Escape mode "​default"​
 +}
 +
 +bindsym $mod+r mode "​resize"​
 +
 +# i3bar permet ​ l'​affichage des espaces de travail (si i3status est disponible, des infos systèmes sont affichées)
 +bar {
 +        # démarrer i3status dans i3bar
 +        status_command i3status
 +        # position de la barre (top | bottom)
 + position top
 +        # le system-tray reste sur l'​écran principal
 + tray_output primary
 +
 +# définition des couleurs des noms d'​espaces de travail dans i3bar:
 + colors {
 +#   <​bordure>​ <​arrière plan> <​texte>​
 + focused_workspace #​FF00FF ​  #​111111 ​        #​00FF00
 +# définition de la couleur de police de i3status:
 + statusline  ​ #EEEEEE
 +
 + }
 +}
 +
 +##############################################​
 +## Début de ma configuration personnalisée:​ ##
 +##############################################​
 +
 +# Le focus ne suit pas la souris (évite le coup de paume sur le touchpad)
 +focus_follows_mouse no
 +
 +# Lors du passage à un workspace, retaper le raccourci de ce workspace ramène à celui dont je viens
 +workspace_auto_back_and_forth yes
 +
 +# Comportement des nouveaux containers (tabbed | stack | default ie tiled)
 +workspace_layout default
 +
 +# Bordure des nouvelles fenêtres (normal | none | 1pixel | pixel n)
 +# fenêtres normales:
 +new_window 1pixel
 +# fenêtres flottantes:
 +new_float normal
 +
 +# Assignation des logiciels à un espace:
 +assign [class="​Iceweasel"​] 1
 +assign [class="​Geany"​] 3
 +
 +# Applicationx à démarrer avec i3 (ce sont des exemples persos, vous mettez bien ce que vous voulez ;):
 +exec /​usr/​bin/​nm-applet
 +exec /​usr/​bin/​volumeicon
 +exec sh /​home/​user/​.screenlayout/​i3.sh
 +exec /​usr/​bin/​feh --bg-scale Images/​Wallpapers/​i3-blanc.png
 +
 +# Modification des couleurs de la fenêtre ayant le focus:
 +# class  ​      ​  ​  ​bordure fond texte indicateur
 +client.focused  ​  #​FF00FF #​111111 #​00FF00 #​FF00FF
 +
 +# Il est possible de définir des raccourcis d'​applications de 2 façons:
 +# bindsym renvoie au symbole de la touche (ça peut être aléatoire selon la disposition du clavier);
 +# bindcode renvoie au code de la touche obtenu via l'​utilitaire de test d'​évenements xev", ​
 +# c'est donc une méthode préférable pour les touches particulières:​
 +
 +# Définition des raccourcis d'​applications (avec bindsym)
 +#bindsym $mod+$alt+g exec gimp
 +bindsym $mod+$alt+m exec icedove
 +bindsym $mod+$alt+i exec iceweasel
 +bindsym $mod+$alt+z exec sakura -x mocp
 +bindsym $mod+$alt+r exec sakura -x ranger
 +bindsym $mod+$alt+e exec sakura -x emacs
 +bindsym $mod+$alt+a exec xfe
 +bindsym $mod+p  ​   exec sh /​home/​sogal/​.script/​dmenu.sh
 +bindsym $alt+p  ​   exec sh /​home/​sogal/​.script/​dossier.sh
 +
 +# Définition des raccourcis d'​applications (avec bindcode)
 +bindcode 122 exec amixer -q set Master 5dB- unmute
 +bindcode 123 exec amixer -q set Master 5dB+ unmute
 +bindcode 78  exec i3lock ​
 +#bindcode 220 exec sakura -x finch
 +#bindcode 173 exec mocp --previous
 +#bindcode 172 exec mocp --next
 +bindcode 172 exec mocp --toggle-pause
 +bindcode 107 exec scrot
 +bindcode Control+$alt+119 exec sh /​home/​sogal/​.script/​arret.sh
 +
 +# Raccourcis des mouvements entre espaces grâce aux touches fléchées
 +bindsym $mod+$alt+Left workspace prev
 +bindsym $mod+$alt+Right workspace next
 +
 +# Raccourci pour alterner entre les modes de bordures (normale, 1 pixel ou aucune)
 +bindsym $mod+b border toggle
 +</​file>​
 +
 +Voilà, nous avons fait le tour du fichier de configuration,​ des paramètres présents par défaut et ceux que vous pouvez rajouter.\\
 +Voici quelques captures des différents modes d'​affichage (je n'ai capturé que les barres de titre):\\
 +\\
 +Mode par defaut avec 3 fenêtres:
 +{{/​file-Ra23e4e5918f42653de07845a39340085.png}}
 +\\
 +\\
 +Mode par onglet (Mod+<​key>​z</​key>​):​\\
 +{{/​file-R2466fffc48b0f005462d9c045bf3aff2.png}}
 +\\
 +\\
 +Mode empilé (stack) (<​key>​C-s</​key>​):​\\
 +{{/​file-Rc8e90e60fb3dc4e18343481d98957182.png}}
 +
 +
 +=== Les modes ===
 +
 +Les modes permettent de redéfinir ponctuellement la configuration de son espace de travail comme par exemple le mappage du clavier.
 +Ici, on définit ​ un mode **Commande** qui permet de lancer ses logiciels favoris.
 +<​file>​
 +mode "​Commande"​ {
 +
 +  bindsym f exec "/​usr/​bin/​firefox";​ mode "​default"​
 +        # [...] Et ainsi d suite
 +
 + bindsym Return mode "​default"​
 + bindsym Escape mode "​default"​
 +}
 +bindsym $mod+c mode "​Commande"​
 +</​file>​
 +De cette façon combinaison des touches **meta** + <​key>​c-f</​key>​ va lancer firefox puis retourne au mode normal.
 +
 +== Autre Exemple ==
 +Nous allons utiliser les modes afin de switcher entres les workspaces. J'​utilise les lettres alphabetiques pour definir mes workspaces.
 +Pour ne pas interférer avec les raccourcis de base d'I3, nous créons un mode "​$mode_workspace"​.
 +Une fois activé, le nombre de workspace est sans limite !!
 +<​file>​
 +#​ declaration des workspaces
 +set $WSa   a: Mais
 +set $WSb   b: VoitQui
 +set $WSc   c: Voila
 +set $WSd   d: InspecteurGadget!
 +# definition du message affiché lors de l'​activation du mode
 +set $mode_workspace Special A-Z Workspaces | switch workspace (a - b - c - d) | move to Shift+(a - b - c - d) |
 +#​ configuration du mode
 +mode "​$mode_workspace"​ {
 +    bindsym a workspace $WSa, mode "​default"​
 +    bindsym Shift+a move container to workspace a, mode "​default" ​
 +    bindsym b workspace $WSb, mode "​default"​
 +    bindsym Shift+b move container to workspace b, mode "​default"​
 +    bindsym c workspace $WSc, mode "​default"​
 +    bindsym Shift+c move container to workspace c, mode "​default"​
 +    bindsym d workspace $WSd, mode "​default"​
 +    bindsym Shift+d move container to workspace d, mode "​default"​
 +# back to normal: Enter or Escape
 +    bindsym Return mode "​default"​
 +    bindsym Escape mode "​default"​
 +}
 +on defini un raccourcis pour le mode
 +bindsym $mod+Shift+ mode "​$mode_workspace"​
 +</​file>​
 +Voila; Enjoy !
 +ps: Attention, Veuillez bien vérifier les lettres des raccourcis pour ne pas  casser votre configuration actuelle, 2 raccourcis ou information dupliquer entrainera une erreur lors du lancement d'i3.
 +
 +
 +=== i3status ===
 +
 +Voyons maintenant comment personnaliser l'​affichage de i3status. Tout ce fait via le fichier de configuration:​\\
 +<​file>​~/​.i3status.conf</​file>​
 +Pour avoir une base vous pouvez le copier depuis <​file>/​etc/​i3status.conf</​file>​
 +
 +Il est composé de 3 parties:\\
 +
 +== Configuration générale ==
 +
 +C'est ici que vous pouvez définir la mise en couleur ou l'​intervalle d'​actualisation des informations.\\
 +
 +<file config Extrait de .i3status.conf>​
 +general {
 +        colors = true
 +        interval = 5
 +}
 +</​file>​
 +== Ordre d'​affichage ==
 +
 +Il s'agit de la liste des modules qui vont s'​afficher et qui seront définis par la suite.\\
 +En déplaçant les lignes, vous modifiez l'​ordre d'​affichage des informations dans la i3bar.\\
 +
 +== Définition des modules ==
 +
 +Par défaut, tous les modules disponibles ne sont pas affichés. Vous en trouverez d'​autres dans le man de i3status.\\
 +Exemple de module d'​affichage du son: \\
 +
 +<file config .i3status.conf>​
 +volume master {
 +          format = "♪: %volume"​
 +          device = "​default"​
 +          mixer = "​Master"​
 +          mixer_idx = 0
 +}
 +</​file>​
 +
 +
 +Et voilà le travail !\\
 +{{/​file-R3476ce188f5a63973175c156735805ee.png}}
 +
 + --- //​[[sogalpunx@volted.net|Sogal '​Seb'​ Punx]] 28/11/2013 18:26//
 +
 +
 +
 +===== Astuces =====
 +
 +  * [[:​utilisateurs:​captnfab:​tutos:​i3wm-deplacer-workspace-x-vers-ecran-actif|Un script pour i3 permettant de déplacer et afficher un workspace donné vers l'​écran actif]]
 +  * [[https://​github.com/​PotatoesMaster/​i3-vim-syntax|Coloration syntaxique pour Vim.]] ​ <​file>:​e ~/​.vim/​syntax/​i3.vim |read https://​raw.githubusercontent.com/​PotatoesMaster/​i3-vim-syntax/​master/​syntax/​i3.vim | w </​file>​
 +
 +==== Définir son gestionnaire de fichier par défaut ====
 +=== Choisir son explorateur de fichiers ===
 +  * caja (explorateur de [[:​atelier:​chantier:​environnement-mate|Mate]])
 +  * Thunar (explorateur de fichier)
 +  * [[:​doc:​systeme:​pcmanfm]]
 +  * [[:​doc:​systeme:​ranger]]
 +
 +=== Régler son choix ===
 +Ajouter la ligne dans le fichier (et y supprimer les éventuelles lignes ''​inode/​directory''​) :
 +<code ini ~/​.config/​mimeapps.list>​inode/​directory=caja.desktop</​code>​
 +ou
 +<code ini ~/​.config/​mimeapps.list>​inode/​directory=Thunar.desktop</​code>​
 +
 +=== Tester ===
 +<code user>​xdg-open .</​code>​
 +
 +=== lien vers un Tuto ===
 +https://​medium.com/​hacker-toolbelt/​i3wm-on-debian-10-buster-c302420853b1
 +
 +===== Dolybar =====
 +
 +[[doc:​environnements:​x11:​i3wm:​dolybar]]
doc/environnements/x11/i3wm/dolybar.txt · Dernière modification: 06/01/2021 03:08 par smolski

Pied de page des forums

Propulsé par FluxBB