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.
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).
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. i3-with-shmlog.desktop
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 $mod
. Cette touche est Alt
(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 and 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 à $mod+d
. Comme il s'agit d'une dépendance optionnelle, dmenu 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 j4-dmenu-desktop-gitAUR 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 (Français)#Utiliser un autre gestionnaire de fenêtres[broken link: invalid section].
Lorsque Plasma est exécuté avec KDEWM=/usr/bin/i3
, on peut définir KRunner comme lanceur d'application alternatif avec $mod+d
en ajoutant ce qui suit à la configuration de i3 :
~/.config/i3/config
set $menu --no-startup-id qdbus org.kde.krunner /App display bindsym $mod+d exec $menu
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 ~/.config/
.
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 /etc/i3/config.keycodes
. Il apporte deux modifications au modèle par défaut :
- il demande à l'utilisateur de choisir une clé modificatrice par défaut, qu'il ajoute au modèle en une seule ligne, comme
set $mod Mod1
; et - 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
, k
, l
et ;
sur un clavier Qwerty, seront mappés à des keysyms qui ont le même emplacement, par exemple h
, t
, n
, 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é à $mod1+p
au lieu de $mod1+r
, "diviser horizontalement" est lié à $mod1+d
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 /etc/i3/config
dans ~/.config/i3/config
. (ou ~/.i3/config
), 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 exec
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 :
~/.config/i3/config
bar { output LVDS1 status_command i3status position top mode hide workspace_buttons yes tray_output none font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 colors { background #000000 statusline #ffffff focused_workspace #ffffff #285577 active_workspace #ffffff #333333 inactive_workspace #888888 #222222 urgent_workspace #ffffff #900000 } }
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 (xfce4-panel), 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 :
~/.config/i3/config
# bar toggle, hide or show bindsym $mod+m bar mode toggle
Les remplacements indépendants de l'environnement de bureau sont listés ci-dessous :
- polybar — Un outil rapide et facile à utiliser pour créer des barres d'état.
- excalibar — Barre d'état légère mais personnalisable écrite en C.
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 i3status(1) pour plus de détails.
Remplacements de i3status
- conky — Moniteur système hautement extensible. Pour l'utilisation avec i3bar, consultez ce tutoriel.
- i3blocks — Extensible via des scripts shell. Elle peut gérer les événements de clic, les interruptions et la définition des intervalles de rafraîchissement sur une base par bloc.
- i3pystatus — Barre d'état Python 3 extensible avec de nombreux plugins et options de configuration par défaut.
- j4status — Prestation d'une barre d'état, configurable via des plugins, et écrite en C. Des plugins supplémentaires sont fournis par j4status-plugins-gitAUR.
- goi3bar — Remplacement d'i3status écrit en Go. Piloté par un fichier de configuration avec plusieurs plugins, des options de simultanéité et un support riche en plugins.
- goblocks — Remplacement rapide et léger de i3status écrit en Go.
- bumblebee-status — Générateur de barre d'état Python thématisable.
- ty3status — Remplacement d'i3status écrit en Typescript. Construit avec un support de première classe pour les blocs javascript.
- i3status-rust — Remplacement très efficace et riche en fonctionnalités écrit en Rust. Peut gérer les mises à jour push, les intervalles de mise à jour individuels, les thèmes et les événements de clic.
- Barista — Barista est un remplacement d'i3status écrit en Go.
- https://github.com/soumya92/barista || not packaged? search in AUR
wrappers i3status
- i3cat — Un wrapper basé sur go qui peut concaténer des entrées provenant de plusieurs sources externes. Il peut gérer les événements de clic et transmettre les signaux spécifiés par l'utilisateur à ses sous-processus.
- py3status — Un wrapper i3status extensible écrit en Python.
- YaGoStatus — «Yet Another» remplacement d'i3status écrit en Go.
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.
- ttf-font-awesome — Icônes vectorielles évolutives qui peuvent être personnalisées avec CSS. Une aide mémoire indique le point Unicode pour chaque glyphe.
- ttf-font-icons — Mélange sans chevauchement et de taille cohérente d'Awesome et d'Ionicons. Cela évite également un chevauchement mineur entre DejaVu Sans et Awesome.
- ttf-ionicons — La police d'icône premium pour Ionic Framework.
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 ~/.config/i3status/config
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) :
Ctrl+Shift+u
,f004
,Enter
- dans Emacs :
C-x
,8
,RET
,f004
,RET
- dans Vim (en mode insertion) :
Ctrl+v
,uf004
- dans urxvt : en maintenant
Ctrl+Shift
, tapezf004
.
Émulateur de terminal
Par défaut, l'appui sur $mod+Enter
lance le i3-sensible-terminal
qui est un script qui invoque un terminal. Consultez i3-sensible-terminal(1) 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 $TERMINAL
.
Désactiver le clic sur le titre
Ajoutez bindsym button1 nop
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
- quickswitch-i3 — Utilitaire Python permettant de passer rapidement aux fenêtres et de les localiser dans i3
- 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.
- winmenupy — Exécutes dmenu avec une liste de clients, triés par espace de travail. La sélection d'un client permet d'accéder à cette fenêtre.
- rofi — Recherche et saut vers la fenêtre ouverte et le bloc-notes
- i3-easyfocus — Focus et sélection de fenêtres dans i3
- wmfocus — Focus et sélection de fenêtres dans i3 et autres gestionnaires de fenêtres
- i3-cycle-focus — Fournit d'une fonctionnalité Alt-Tab pour i3
- https://github.com/acrisci/i3ipc-python/blob/master/examples/i3-cycle-focus.py || not packaged? search in AUR
- i3-winmotion — Focus et sélection des fenêtres visibles dans i3
- https://github.com/iiKoe/i3-winmotion || not packaged? search in AUR
Sauter à la fenêtre urgente
Ajouter à ~/.config/i3/config
: [1]
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 perl-json-xs à 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 :
- 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.
- Maintenant, dans un nouvel espace de travail, ouvrez un terminal et exécutez ce qui suit :
$ i3-save-tree --workspace N > ~/.config/i3/workspace_N.json
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~/.config/i3/workspace_N.json
. - Le fichier nouvellement créé doit être édité, mais cela peut être fait avec les commandes suivantes :
$ tail -n +2 ~/.config/i3/workspace_N.json | fgrep -v '// split' | sed 's|//||g' > ~/.config/i3/workspace_N.json
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 :
~/load_layout.sh
#!/bin/sh i3-msg "workspace M ; append_layout ~/.config/i3/workspace_N.json"
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 uxterm
:
~/load_layout.sh
#!/bin/sh # Tout d'abord, nous ajoutons la présentation sauvegardée de l'espace de travail N à l'espace de travail M. i3-msg "workspace M ; append_layout ~/.config/i3/workspace_N.json" # Et enfin nous remplissons les conteneurs avec les programmes qu'ils contenaient (uxterm &) (uxterm &) (uxterm &)
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
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.~/.config/i3/workspace_N.json
doivent être éditées manuellement.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, Mod+Enter
), divisez-le (Mod+v
) et créez un autre conteneur. Donnez le focus au parent (Mod+a
), divisez-le dans la direction opposée (Mod+h
) et créez à nouveau un conteneur.
Mettez au point le premier conteneur (avec le parent au besoin), rendez la fenêtre flottante (Mod+Shift+Space
) 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 -time
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 forking
.
Consultez également DPMS.
Une autre option consiste à utiliser xidlehookAUR avec betterlockscreenAUR 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 --timer
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é polkit pour permettre aux utilisateurs non privilégiés d'exécuter les commandes gestion de la puissance.
set $Locker i3lock && sleep 1 set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown mode "$mode_system" { bindsym l exec --no-startup-id $Locker, mode "default" bindsym e exec --no-startup-id i3-msg exit, mode "default" bindsym s exec --no-startup-id $Locker && systemctl suspend, mode "default" bindsym h exec --no-startup-id $Locker && systemctl hibernate, mode "default" bindsym r exec --no-startup-id systemctl reboot, mode "default" bindsym Shift+s exec --no-startup-id systemctl poweroff -i, mode "default" # back to normal: Enter or Escape bindsym Return mode "default" bindsym Escape mode "default" } bindsym $mod+Pause mode "$mode_system"
Une fois terminé, une invite vous sera présentée à chaque fois que vous appuierez sur $mod+pause
. Pour un comportement plus complexe, utilisez un script séparé, et faites-y référence dans le mode. [2]
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 [5], beaucoup s'ouvrent encore en pavage. Pour modifier ce comportement, vérifiez le WM_WINDOW_ROLE
du dialogue avec xorg-xprop et ajoutez les règles correctes à ~/.i3/config
(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 WM_CLASS
:
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
ip addr
) - Trouvez-les dans
/sys/devices
et remplacez-les de manière appropriée :
$ find /sys/devices -name network_interface
/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 ~/.config/i3
) et d'y faire pointer votre programme de status.
Changement automatique de l'orientation horizontale/verticale de la fenêtre
Le paquet autotilingAUR 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 i3-gitAUR et i3status-gitAUR, et upstream demandera de reproduire toute erreur avec cette version. [6] 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 i3-sensible-terminal
, 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 [7]. 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 --no-startup-id
, 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 --release
[8] :
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 [9], 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 tray_output primary
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. [10] 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 assign
et on doit plutôt utiliser une commande for_window
, telle que
~/.config/i3/config
... for_window [class="Spotify"] move container to workspace $ws10
Pour s'assurer que for_window
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
- Site officiel (en)
- Funtoo:I3 Tiling Window Manager
- Code source d'i3
- i3-extras - Collection de scripts et de patchs
- i3ipc-glib - Une bibliothèque pour les extensions i3
- i3ipc-ruby - Une bibliothèque améliorée pour les extensions i3 en Ruby
- j4tools - Outils non-officiels conçus pour fonctionner avec i3
Forum archlinux.org
Vidéos