Configurer et utiliser le gestionnaire de fenêtres I3


Dans le but de réduire la demande en ressource système, alors que nous voulons juste afficher des fenêtres. I3 est un gestionnaire de fenêtre comprenant le stric minimum pour travailler convenablement. De ce fait, il ne gère pas nativement les animations ni la présence d'un bureau ainsi que l'effet de profondeur (superposition des fenêtres).

Gestion des fenêtres

  • Nouvelle fenêtre :
<window> + <entrer>
  • Fermer la fenêtre :
<window> + <w>
  • Plein écran :
<window> + <f>
  • Fenêtre volante :
<window> + <shift> + <espace>
  • Déplacer le workspace à gauche ou à droite :
<window> + <shift> + <left>
<window> + <shift> + <right>
  • Déplacer le workspace dans l'onglet n°4 :
<window> + <shift> + <4>
  • Sélectionner le container parent :
<window> + <q>
  • Zoomer ou Dézoomer :
<window> + <shift> + <+>
<window> + <shift> + <->
  • Découpage des fenêtres à l'horizontale et à la verticale :
<window> + <h>
<window> + <v>
  • Mettre des workspaces sous forme d'onglet ou en mode normal :
<window> + <z>
<window> + <e>

Configuration

Pour modifier son comportement, on doit alors éditer le fichier à l'emplacement X.

  • Verrouiller la session :
bindsym $mod+exclam exec i3lock --dpms
  • Déplacer les workspaces vers un autre écran :
bindsym $mod+Control+Shift+Right move workspace to output right
bindsym $mod+Control+Shift+Left move workspace to output left
  • Raccourcis pour effectuer une capture d'écran :
bindsym Print exec scrot -e 'mv $f ~/tmp/ && sxiv ~/tmp/$f'
  • Sauvegarder un workspace :
i3-save-tree --workspace 9 >> ~/.i3/codeLayout.json
  • Charger un workspace depuis le fichier de configuration :
exec --no-startup-id "i3-msg 'workspace 9; append_layout ~/.i3/codeLayout.json'"

Fichier de configuration

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

.i3/config
set $mod Mod4
 
font pango:DejaVu Sans Mono 11
 
floating_modifier $mod
 
bindsym $mod+Return exec "xterm -fa 'Monospace' -fs 10"
 
bindsym $mod+Shift+A kill
 
bindsym $mod+d exec dmenu_run
 
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+m focus right
 
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
 
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+M move right
 
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
 
bindsym $mod+h split h
 
bindsym $mod+v split v
 
bindsym $mod+f fullscreen
 
bindsym $mod+s layout stacking
bindsym $mod+z layout tabbed
bindsym $mod+e layout toggle split
 
bindsym $mod+Shift+space floating toggle
 
bindsym $mod+space focus mode_toggle
 
bindsym $mod+q focus parent
 
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
 
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+eacute move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 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+egrave move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+ccedilla move container to workspace 9
bindsym $mod+Shift+agrave move container to workspace 10
 
bindsym $mod+Shift+c reload
bindsym $mod+Shift+r restart
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
 
mode "resize" {
 
        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
 
        bindsym Left resize grow width 5 px or 5 ppt
        bindsym Down resize shrink height 5 px or 5 ppt
        bindsym Up resize grow height 5 px or 5 ppt
        bindsym Right resize shrink width 5 px or 5 ppt
 
        bindsym Return mode "default"
        bindsym Escape mode "default"
}
 
bindsym $mod+r mode "resize"
 
bar {
        position top
        status_command i3status
}
 
bindsym $mod+Control+Shift+Right move workspace to output right
bindsym $mod+Control+Shift+Left move workspace to output left
exec --no-startup-id "compton -cCGfF -D 1 -b -i 0.90 --vsync opengl"
exec --no-startup-id "feh --bg-scale ~/.i3/bg.jpg"
exec --no-startup-id "owncloud"
exec --no-startup-id "conky"
exec --no-startup-id "xrandr --auto --output HDMI3  --left-of HDMI1"
bindsym $mod+exclam exec i3lock