i3 (Français)

i3 est un gestionnaire de fenêtres par pavage dynamique inspiré de wmii qui s'adresse principalement aux développeurs et aux utilisateurs avancés.

État de la traduction: Cet article est la version francophone de i3. Date de la dernière traduction: 2022-09-05. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Les objectifs fixés pour i3 incluent une documentation claire, un support multi-moniteur approprié, une structure arborescente pour les fenêtres, et différents modes comme dans Vim.

Installation

i3 peut être installé avec le paquet i3-wm.

Un groupe de paquets i3 est également disponible. Il comprend le gestionnaire de fenêtres, un écran de verrouillage et deux programmes qui écrivent une ligne d'état dans i3bar via «stdout» (la sortie standard).

Note: i3-wm est en conflit avec i3-gaps (un fork de i3 avec des espaces entres les fenêtres et d'autres fonctionnalités) et par défaut i3-gaps sera installé.

Démarrage

Depuis le tty

Exécutez i3 avec xinit.

Gestionnaire d'affichage

i3-wm inclut i3.desktop comme Xsession qui démarre le gestionnaire de fenêtres. active les journaux (utiles pour le débogage). i3-gnomeAUR intègre i3 dans GNOME.

Utilisation

Consultez la documentation officielle pour plus d'informations, notamment le Guide de l'utilisateur d'i3.

Raccourcis

Dans i3, les commandes sont invoquées avec une touche modificatrice, désignée par . Cette touche est (Mod1) par défaut, avec Super (Mod4) comme alternative populaire. Super est la touche habituellement représentée sur un clavier par l'icône Windows, ou sur un clavier Apple par la touche Commande.

Consultez la carte de référence d'i3 et Utiliser i3 pour connaître les valeurs par défaut. Consultez les raccourcis clavier pour ajouter de nouveaux raccourcis.

Les utilisateurs de claviers non-Qwerty peuvent souhaiter contourner l'"assistant de configuration" comme décrit ci-dessous.

Si vous passez d'un gestionnaire de fenêtres ou d'un environnement de bureau à un autre, envisagez d'utiliser sxhkd ou un autre programme indépendant de l'environnement pour gérer les raccourcis. Plus d'informations peuvent être trouvées dans Keyboard shortcuts (Français)#Xorg et Wayland.

Conteneurs et mises en page

i3 gère les fenêtres dans une structure arborescente, avec des conteneurs comme éléments de construction. Cette structure se ramifie avec des scissions horizontales ou verticales. Les conteneurs sont tuilés par défaut, mais peuvent être disposés en onglets or piles, ainsi que rendus flottants (comme pour les fenêtres de dialogue). Les fenêtres flottantes sont toujours au premier plan.

Consultez l'arborescence dans i3 et Les conteneurs et la structure de données de l'arborescence pour plus de détails.

Lanceur d'application

i3 utilise dmenu comme lanceur d'applications, qui est lié par défaut à . Comme il s'agit d'une dépendance optionnelle, doit d'abord être installé avant que cette fonctionnalité puisse être utilisée.

i3-wm contient i3-dmenu-desktop, une enveloppe Perl pour dmenu qui utilise les «desktop entries» pour créer une liste de toutes les applications installées. Alternativement, le paquet peut être utilisé.

rofi est un remplacement populaire de dmenu et plus, qui peut lister les entrées du bureau.

KRunner comme lanceur d'applications dans KDE Plasma/i3

Il est possible de faire tourner i3 en même temps que KDE Plasma comme indiqué ici : KDE#Use a different window manager.

Lorsque Plasma est exécuté avec , on peut définir KRunner comme lanceur d'application alternatif avec en ajoutant ce qui suit à la configuration de i3 :

Configuration

Consultez Configurer i3 pour plus de détails. Le reste de cet article suppose que le fichier de configuration i3 se trouve dans le dossier .

Assistant de configuration et dispositions alternatives de clavier

Lorsque i3 est lancé pour la première fois, il propose de lancer l'assistant de configuration i3-config-wizard. Cet outil crée ~/.config/i3/config en réécrivant un fichier de configuration modèle dans . Il apporte deux modifications au modèle par défaut :

  1. il demande à l'utilisateur de choisir une clé modificatrice par défaut, qu'il ajoute au modèle en une seule ligne, comme ; et
  2. il remplace toutes les lignes bindcode par des lignes bindsym correspondant à la disposition actuelle du clavier de l'utilisateur.

L'étape 2 est conçue pour s'assurer que les quatre raccourcis de navigation, j, , et sur un clavier Qwerty, seront mappés à des keysyms qui ont le même emplacement, par exemple , , , s sur un clavier Dvorak. L'effet secondaire de cette magie est que jusqu'à quinze autres symboles de touches peuvent être remappés de manière à rompre la mnémonique - de sorte que, pour un utilisateur de Dvorak, "redémarrer" est lié à au lieu de , "diviser horizontalement" est lié à au lieu de $mod1+h, et ainsi de suite.

Par conséquent, les utilisateurs d'autres dispositions de clavier qui veulent des raccourcis clavier simples, qui correspondent aux raccourcis données dans les tutoriels, peuvent préférer contourner l'"assistant de configuration". Pour ce faire, il suffit de copier dans ~/.config/i3/config. (ou ), et de modifier ce fichier.

Notez qu'une configuration basée sur les codes de touches est également possible, par exemple pour les utilisateurs qui changent souvent de disposition de clavier, mais qui veulent que les raccourcis i3 restent les mêmes.

Démarrage automatique

Ajouter une commande dans le fichier ~/.config/i3/config. Par exemple :

exec terminator

Alternativement, vous pouvez utiliser XDG Autostart.

i3bar

En plus d'afficher des informations sur l'espace de travail, i3bar peut agir comme une entrée pour i3status ou une alternative, comme celles mentionnées dans la section suivante. Par exemple :

Consultez Configurer d'i3bar pour plus de détails.

Alternatives à i3bar

Certains utilisateurs peuvent préférer des panneaux tels que ceux fournis par les Environnements de bureau conventionnels. Cela peut être réalisé dans i3 en lançant l'application de panneau de son choix au démarrage.

Par exemple, pour utiliser le panneau Xfce (), ajoutez la ligne suivante n'importe où dans ~/.config/i3/config :

exec --no-startup-id xfce4-panel --disable-wm-check

i3bar peut être désactivé en commentant la section bar{ } de ~/.config/i3/config, ou en définissant un keybind pour activer la barre :

Les remplacements indépendants de l'environnement de bureau sont listés ci-dessous :

i3status

Copiez les fichiers de configuration par défaut dans le répertoire de l'utilisateur :

$ cp /etc/i3status.conf ~/.config/i3status/config

Tous les plugins ne sont pas définis dans la configuration par défaut et certaines valeurs de configuration peuvent être invalides pour votre système, elles doivent donc être mises à jour en conséquence. Consultez pour plus de détails.

Remplacements de i3status

  • conky Moniteur système hautement extensible. Pour l'utilisation avec i3bar, consultez ce tutoriel.
https://github.com/brndnmtthws/conky || conky
  • ty3status Remplacement d'i3status écrit en Typescript. Construit avec un support de première classe pour les blocs javascript.
https://github.com/mrkmg/ty3status || ty3status-gitAUR

wrappers i3status

  • py3status Un wrapper i3status extensible écrit en Python.
https://github.com/ultrabug/py3status || py3status

    Polices avec icônes dans la barre d'état

    La prise en charge des polices iconiques est intégrée depuis i3 version 4.20.

    • .
    • .

    Pour combiner des polices, définissez une séquence de repli dans votre fichier de configuration, en séparant les polices par comme suit :

    ~/.config/i3/config
    bar {
      ...
      font pango:DejaVu Sans Mono, Icons 8
      ...
    }

    Conformément à la syntaxe de pango, la taille de la police n'est spécifiée qu'une seule fois, à la fin de la liste des familles de polices séparées par des virgules. Le fait de définir une taille pour chaque police aurait pour effet d'ignorer toutes les polices sauf la dernière.

    Ajoutez des icônes aux chaînes de format dans en utilisant les numéros d'unicode donnés dans les cheatsheets liés ci-dessus. La méthode de saisie varie selon les éditeurs de texte. Par exemple, pour insérer l'icône "cœur" (numéro unicode f004) :

    • dans divers éditeurs de texte gui (par exemple gedit, Leafpad) et terminaux (par exemple GNOME Terminal, xfce4-terminal) : , ,
    • dans Emacs : C-x, , , ,
    • dans Vim (en mode insertion) : ,
    • dans urxvt : en maintenant Ctrl+Shift, tapez .

    Émulateur de terminal

    Par défaut, l'appui sur lance le qui est un script qui invoque un terminal. Consultez pour connaître l'ordre dans lequel les terminaux sont invoqués.

    Pour lancer le terminal de votre choix, modifiez cette ligne dans ~/.config/i3/config :

    bindsym $mod+Return exec i3-sensible-terminal

    Vous pouvez également définir la variable d'environnement .

    Désactiver le clic sur le titre

    Ajoutez pour ne pas sélectionner une fenêtre lorsque vous cliquez sur son cadre titre. Utile si votre disposition par défaut est à onglets et que vous cliquez sur les onglets de i3 au lieu de quelque chose dans une application.

    Trucs et astuces

    Sauter à la fenêtre ouverte

    • i3-wm-scripts Recherche et accès aux fenêtres dont le nom correspond à une expression rationnelle
    https://github.com/yiuin/i3-wm-scripts || not packaged? search in AUR.

    Sauter à la fenêtre urgente

    Ajouter à ~/.config/i3/config :

    bindsym $mod+x [urgent=latest] focus

    Sauvegarde et restauration de la disposition de la fenêtre

    À partir de la version 4.8, i3 peut sauvegarder et restaurer la disposition de l'espace de travail. Pour ce faire, les paquets suivants sont nécessaires : perl-anyevent-i3 et à partir des dépôts officiels.

    Enregistrer la disposition actuelle des fenêtres d'un seul espace de travail

    Pour enregistrer la disposition actuelle de la fenêtre, suivez les étapes suivantes :

    1. Tout d'abord, exécutez diverses commandes pour ouvrir des fenêtres dans un espace de travail préféré et les redimensionner si nécessaire. Veillez à noter chaque commande exécutée pour chaque fenêtre.
    2. Maintenant, dans un nouvel espace de travail, ouvrez un terminal et exécutez ce qui suit : où N est le numéro de l'espace de travail préféré. Ceci enregistrera la disposition actuelle de l'espace de travail N dans le fichier .
    3. Le fichier nouvellement créé doit être édité. Ceci peut être fait automatiquement avec la commande suivante :

    Restaurer la disposition des fenêtres de l'espace de travail

    Il y a deux façons de restaurer la disposition de l'espace de travail : en écrivant un script, ou en modifiant ~/.config/i3/config pour charger automatiquement la disposition. Dans cette section, seul le premier cas sera considéré. Pour le second cas, reportez-vous à la documentation officielle.

    Pour restaurer la mise en page sauvegardée dans la section précédente, écrivez un fichier nommé load_layout.sh avec le contenu suivant :

    • Les lignes de départ :

    où M est le numéro de l'espace de travail dans lequel vous souhaitez charger la mise en page précédemment enregistrée et N est le nombre d'espaces de travail enregistrés dans la section précédente.

    • Et les commandes utilisées dans la section précédente pour obtenir les fenêtres préférées, mais entre parenthèses et avec une esperluette ajoutée avant les dernières parenthèses.

    Par exemple, si la disposition sauvegardée contient trois fenêtres  :

    Ensuite, définissez le fichier comme exécutable. Enfin, la mise en page de l'espace de travail N peut être chargée dans l'espace de travail M en exécutant le fichier

    $ ~/load_layout.sh
    Astuce: L'ajout de bindsym $mod+g exec ~/load_layout.sh à ~/.config/i3/config et le redémarrage de i3 liera Mod+g pour exécuter le script ci-dessus.

    Conteneurs de bloc-notes

    Par défaut, le bloc-note ne contient qu'une seule fenêtre. Cependant, les conteneurs peuvent également être transformés en bloc-notes.

    Créez un nouveau conteneur (par exemple, ), divisez-le () et créez un autre conteneur. Donnez le focus au parent (), divisez-le dans la direction opposée () et créez à nouveau un conteneur.

    Mettez au point le premier conteneur (avec le parent au besoin), rendez la fenêtre flottante () et déplacez-la vers le bloc-notes (Mod+Shift+-). Vous pouvez maintenant diviser les conteneurs selon vos préférences.

    Économiseur d'écran et gestion de l'alimentation

    Avec Power management#xss-lock vous pouvez enregistrer une application de verrouillage pour votre session i3. L'option avec xautolock verrouille l'écran après une période de temps donnée :

    xautolock -time 10 -locker "i3lock -i background_image.png" &.

    Un fichier de service systemd peut être utilisé pour verrouiller l'écran avant que le système ne soit mis en veille ou en hibernation. Consultez Power management#Suspend/resume service files. Notez que i3lock exige que le type de service soit .

    Consultez également DPMS.

    Une autre option consiste à utiliser xidlehookAUR avec ou tout autre économiseur d'écran. xidlehook est un remplacement de xautolock écrit en Rust, mais avec quelques fonctionnalités supplémentaires. Cela inclut l'option de désactiver le verrouillage lorsque le son est en cours de lecture ou lorsque l'écran est en plein écran. L'option est donnée en secondes :

    xidlehook --not-when-audio --not-when-fullscreen --timer 360 "betterlockscreen -l dim" "" &

    Arrêt, redémarrage, verrouillage d'écran

    Les combinaisons de touches pour l'arrêt, le redémarrage et le verrouillage de l'écran peuvent être ajoutées à ~/.config/i3/config. L'exemple ci-dessous suppose que vous avez installé pour permettre aux utilisateurs non privilégiés d'exécuter les commandes gestion de la puissance.

    Une fois terminé, une invite vous sera présentée à chaque fois que vous appuierez sur . Pour un comportement plus complexe, utilisez un script séparé, et faites-y référence dans le mode.

    Pour une liste de verrouillages d'écran alternatifs, consultez List of applications/Security#Screen lockers.

    Avaler la fenêtre du terminal

    De la même manière que dwm, i3 peut "avaler" la fenêtre actuelle du terminal avec la nouvelle fenêtre GUI lancée à partir de celle-ci. Ceci peut être fait par l'utilisation du paquet i3-swallow-gitAUR.

    Par exemple, pour laisser la fenêtre de mpv avaler le terminal d'origine :

    $ swallow mpv video.mp4

    Il est également possible de simuler l'avalement du terminal en utilisant un conteneur à onglets ou empilé afin de cacher la fenêtre du terminal lorsque vous ne l'utilisez pas. Cependant, cela présente l'inconvénient d'avoir toujours une liste de fenêtres en haut du conteneur.

    Gestion manuelle des affichages externes

    Grâce à xrandr, il existe de nombreuses façons de gérer facilement les écrans des systèmes. L'exemple ci-dessous l'intègre dans le fichier de configuration i3, et se comporte comme la section Power Management ci-dessus.

    Ici, un ordinateur portable avec des sorties VGA et HDMI utilisera une sélection de menu pour les activer/désactiver :

    ## Manual management of external displays
    # Set the shortcuts and what they do
    set $mode_display Ext Screen (v) VGA ON, (h) HDMI ON, (x) VGA OFF, (y) HDMI OFF
    mode "$mode_display" {
        bindsym v exec --no-startup-id xrandr --output VGA1 --auto --right-of LVDS1, mode "default"
        bindsym h exec --no-startup-id xrandr --output HDMI1 --auto --right-of LVDS1, mode "default"
        bindsym x exec --no-startup-id xrandr --output VGA1 --auto --off, mode "default"
        bindsym y exec --no-startup-id xrandr --output HDMI1 --auto --off, mode "default"
    
        # back to normal: Enter or Escape
        bindsym Return mode "default"
        bindsym Escape mode "default"
    }
    # Declare here the shortcut to bring the display selection menu
    bindsym $mod+x mode "$mode_display"

    Toute fenêtre encore ouverte dans un affichage désactivé reviendra automatiquement à l'affichage actif restant.

    La manière la plus simple de déterminer les noms de vos périphériques est de brancher le périphérique que vous souhaitez utiliser et d'exécuter :

    $ xrandr --query

    qui affichera les périphériques disponibles et reconnus, ainsi que leurs noms dans le système, afin de définir votre fichier de configuration de manière appropriée.

    Consultez la page xrandr ou la page de manuel pour la liste complète des options disponibles, le guide de l'utilisateur d'i3 et/ou la FAQ de i3 sur reddit pour plus d'informations.

    Certains navigateurs web n'implémentent pas intentionnellement les onglets, car la gestion des onglets est considérée comme la tâche du gestionnaire de fenêtres, et non celle du navigateur.

    Pour laisser i3 gérer votre navigateur sans onglet, dans cet exemple pour uzbl, ajoutez la ligne suivante à votre ~/.config/i3/config

    for_window [class="Uzbl-core"] focus child, layout stacking, focus

    Ceci est pour la navigation web empilée, ce qui signifie que les fenêtres seront affichées verticalement. L'avantage par rapport à la navigation par onglets est que les titres des fenêtres sont entièrement visibles, même si de nombreuses fenêtres de navigateur sont ouvertes.

    Si vous préférez la navigation par onglets, avec les fenêtres dans le sens horizontal ("tabs"), utilisez

    for_window [class="Uzbl-core"] focus child, layout tabbed, focus

    Variables d'espace de travail

    Comme les espaces de travail sont définis plusieurs fois dans i3, l'attribution de variables d'espace de travail peut être utile. Par exemple

    set $WS1 term
    set $WS2 web
    set $WS3 misc
    set $WS4 media
    set $WS5 code

    Remplacez ensuite les noms des espaces de travail par les variables correspondantes :

    bindsym $mod+1 workspace $WS1
    ...
    bindsym $mod+Shift+1 déplace le conteneur vers l'espace de travail $WS1

    Consultez Modifier le nom des espaces de travail pour plus d'informations.

    Traitement correct des boîtes de dialogue flottantes

    Bien que les boîtes de dialogue doivent s'ouvrir en mode flottant par défaut , beaucoup s'ouvrent encore en pavage. Pour modifier ce comportement, vérifiez le du dialogue avec et ajoutez les règles correctes à (en utilisant la syntaxe pcre) :

    for_window [window_role="pop-up"] floating enable
    for_window [window_role="task_dialog"] floating enable

    Vous pouvez également utiliser des règles de titre et des expressions régulières :

    for_window [title="Preferences$"] floating enable

    ou  :

    for_window [class="(?i)mplayer"] floating enable

    Vitesse de téléchargement et d'envoi du réseau dans la barre d'état

    Vous pouvez adapter ce script de l'amont. Pour cela,

    • renommez les deux cartes réseau en fonction de votre système (utilisez )
    • Trouvez-les dans et remplacez-les de manière appropriée :
    $ find /sys/devices -name network_interface
    Astuce: Utiliser /sys/class/net/interface/statistics/ pour ne pas dépendre de l'emplacement PCI.

    Maintenant, il suffit de sauvegarder le script dans un endroit approprié (par exemple ) et d'y faire pointer votre programme de status.

    Changement automatique de l'orientation horizontale/verticale de la fenêtre

    Le paquet peut être utilisé pour commuter automatiquement l'orientation horizontale/verticale de la fenêtre, ce qui donne un comportement similaire à la disposition en spirale de bspwm. Après l'installation, ajoutez ce qui suit à votre ~/.config/i3/config et rechargez i3.

    exec_always --no-startup-id autotiling

    Dépannage

    Général

    Dans de nombreux cas, les bogues sont corrigés dans les versions de développement et , et upstream demandera de reproduire toute erreur avec cette version. Consultez également Debugging/Getting traces#Compilation options.

    Une nouvelle installation n'affiche que du texte déformé

    Assurez-vous que vous avez installé un jeu de polices TrueType après l'installation.

    Les boutons de la barre de message i3 ne fonctionnent pas

    Les boutons tels que "Edit config" dans i3-nagbar appellent , donc assurez-vous que votre Émulateur de terminal est reconnu par i3.

    Retour à la ligne défectueux dans les terminaux en mosaïque

    Les versions 4.3 et ultérieures de i3 ignorent les indications d'incrément de taille pour les fenêtres en mosaïque . Cela peut provoquer un retour prématuré à la ligne dans les terminaux, parmi d'autres problèmes. Comme solution de contournement, rendez la fenêtre en question flottante, avant de la mettre en pavage à nouveau.

    Le curseur de la souris reste en mode d'attente

    Lorsque vous lancez un script ou une application qui ne prend pas en charge les notifications de démarrage, le curseur de la souris reste en mode occupé/veille/horloge pendant 60 secondes.

    Pour résoudre ce problème pour une application particulière, utilisez le paramètre , par exemple :

    exec --no-startup-id ~/script
    bindsym $mod+d exec --no-startup-id dmenu_run

    Pour désactiver cette animation de manière globale, consultez Cursor themes#Create links to missing cursors.

    Raccourcis clavier non réactifs

    Certains outils tels que scrot peuvent ne pas fonctionner lorsqu'ils sont utilisés avec un raccourci clavier simple (exécutée après l'appui sur une touche). Dans ce cas, exécutez les commandes après le relâchement des touches avec l'argument  :

    bindsym --release Print exec --no-startup-id scrot
    bindsym --release Shift+Print exec --no-startup-id scrot -s

    Déchirement

    i3 n'implémente pas correctement la double mise en mémoire tampon , ce qui peut provoquer des déchirures ou des scintillements. Consultez picom.

    Icônes de la barre d'état système non visibles

    La directive peut nécessiter la définition d'une sortie primaire avec xrandr, la spécification explicite de la sortie ou la suppression pure et simple de cette directive. Consultez Xrandr pour plus de détails. La configuration par défaut créée par i3-config-wizard n'ajoute plus cette directive à la configuration de i3 4.12.

    Espace de travail par défaut pour Spotify

    Pour assigner un espace de travail par défaut pour les fenêtres Spotify, on ne peut pas utiliser la route standard avec et on doit plutôt utiliser une commande , telle que

    Pour s'assurer que ne déplace pas la fenêtre si elle se trouve déjà dans $ws10, on peut utiliser move --no-auto-back-and-forth.

    Voir aussi

    Forum archlinux.org

    Vidéos

    gollark: And unpaid.
    gollark: Except johnvertisements, which are made ironically.
    gollark: Imagine *interaction* with adverts.
    gollark: I think the general answer is "ad revenue to the site", but I think there's an adblocker which fakes ad clicks or something.
    gollark: Are those even legally binding?
    This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.