i3 (Français)

État de la traduction:
Cet article est la version francophone de
i3
. Date de la dernière traduction: 2023-01-12. Vous pouvez aider à synchroniser la traduction s'il y a eu des
changements
dans la version anglaise.
Related articles
Comparison of tiling window managers
Window manager (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 en arborescence 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-gaps
(un fork de
i3
avec des espaces entre les fenêtres et d'autres fonctionnalités) a récemment été fusionné dans
i3-wm
, et n'est donc plus disponible. Installez plutôt le paquet
i3-wm
.
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-gnome
AUR
[
broken link
: package not found]
intègre
i3
dans
GNOME
.
Utilisation
Consultez la
documentation officielle
pour plus d'informations, notamment le
Guide de l'utilisateur d'i3
.
Raccourcis clavier
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 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 à
$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-git
AUR
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
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
pour executer une commande au démarrage. Par exemple :
exec terminator
L'utilisation d'une commande
exec_always
à la place garantira que la commande est également exécutée chaque fois que i3 est redémarré.
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.
https://github.com/jaagr/polybar
||
polybar
excalibar
— Barre d'état légère mais personnalisable écrite en C.
https://github.com/cylgom/excalibar
||
excalibar-git
AUR
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
.
https://github.com/brndnmtthws/conky
||
conky
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.
https://github.com/vivien/i3blocks
||
i3blocks
i3pystatus
— Barre d'état Python 3 extensible avec de nombreux plugins et options de configuration par défaut.
https://github.com/enkore/i3pystatus
||
i3pystatus-git
AUR
j4status
— Prestation d'une barre d'état, configurable via des plugins, et écrite en C.
https://sardemff7.github.io/j4status/
||
j4status-git
AUR
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.
https://github.com/denbeigh2000/goi3bar/
||
goi3bar-git
AUR
goblocks
— Remplacement rapide et léger de i3status écrit en Go.
https://github.com/davidscholberg/goblocks
||
goblocks
AUR
bumblebee-status
— Générateur de barre d'état Python thématisable.
https://github.com/tobi-wan-kenobi/bumblebee-status
||
bumblebee-status
AUR
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-git
AUR
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.
https://github.com/greshake/i3status-rust
||
i3status-rust
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.
https://vincent-petithory.github.io/i3cat/
||
i3cat-git
AUR
py3status
— Un wrapper i3status extensible écrit en Python.
https://github.com/ultrabug/py3status
||
py3status
YaGoStatus
— «Yet Another» remplacement d'i3status écrit en Go.
https://github.com/burik666/yagostatus
||
yagostatus-git
AUR
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.
https://fontawesome.com/
||
ttf-font-awesome
[
broken link
: replaced by
woff2-font-awesome
]
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.
https://kageurufu.net/icons.pdf
||
ttf-font-icons
AUR
.
ttf-ionicons
— La police d'icône premium pour Ionic Framework.
https://ionicframework.com/docs/ionicons/
||
ttf-ionicons
AUR
.
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
, tapez
f004
.
É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
https://github.com/OliverUv/quickswitch-for-i3/
||
quickswitch-i3
AUR
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
.
rofi
— Recherche et saut vers la fenêtre ouverte et le bloc-notes
https://github.com/davatorium/rofi
||
rofi
i3-easyfocus
— Focus et sélection de fenêtres dans
i3
https://github.com/cornerman/i3-easyfocus
||
i3-easyfocus-git
AUR
[
broken link
: package not found]
wmfocus
— Focus et sélection de fenêtres dans
i3
et autres gestionnaires de fenêtres
https://github.com/svenstaro/wmfocus
||
wmfocus
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
.
Note
Cette section ne fournit qu'un tutoriel rapide sur la manière de sauvegarder la disposition actuelle des fenêtres d'un seul espace de travail et de la restaurer pour une utilisation ultérieure. Consultez la
documentation officielle
pour plus de détails.
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é. Ceci peut être fait automatiquement avec la commande suivante :
$ sed -i 's|^\(\s*\)// "|\1"|g; /^\s*\/\//d' ~/.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
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.
Note
Si le script ci-dessus ne fonctionne pas correctement, consultez la
documentation officielle
. Les sections
swallows
de
~/.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.
Note
Les conteneurs ne peuvent pas être redimensionnés individuellement dans les fenêtres flottantes.  Redimensionnez les conteneurs avant de rendre les fenêtres flottantes.
Astuce
Lorsque vous n'utilisez que des applications de terminal, envisagez plutôt un multiplexeur tel que
tmux
.
Consultez aussi
[2]
for plusieurs bloc-notes.
É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 and hibernate#Custom systemd units
. Notez que i3lock exige que le type de service soit
forking
.
Consultez également
DPMS
.
Une autre option consiste à utiliser
xidlehook
AUR
avec
betterlockscreen
AUR
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.
[3]
Note
sleep 1
ajoute un petit délai pour éviter les situations de concurrence avec suspend
[4]
.
L'argument
-i
pour
systemctl poweroff
provoque un arrêt même si d'autres utilisateurs sont connectés (ceci nécessite
polkit
) ou que
logind
le suppose (à tort).
[5]
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-git
AUR
.
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.
Navigation par onglets ou empilés
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
[6]
, 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
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
~/.config/i3
) et d'y faire pointer votre programme de status.
Changement automatique de l'orientation horizontale/verticale de la fenêtre
Le paquet
autotiling
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-git
AUR
et
i3status-git
AUR
, et upstream demandera de reproduire toute erreur avec cette version.
[7]
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
[8]
. 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
[9]
:
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
[10]
, 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.
[11]
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
Sujet consacré à i3 (en)
Captures d'écran de bureaux i3 et partage de configurations
Vidéos
«screencast» de i3 window manager v4.1
«screencasts» de i3 v4.1X