Pour mon GPD Pocket 3, vu la taille de l'écran, je voulais un window manager très léger et qui pouvait s'utiliser le plus possible via des raccourcis claviers (sans souris donc). Un peu dans l'esprit de Tmux mais dans un environnement graphique.

Mon choix s'est porté sur i3.

i3wm
i3wm

Niveau installation, c'est très simple:

sudo apt install i3

Et pour lancer i3 par défaut:

sudo update-alternatives --install /usr/bin/x-session-manager x-session-manager /usr/bin/i3 60

Quelques touches par défault

Touche Description
$mod+Return pour lancer le terminal integré
$mod+Shift+q pour tuer la fenêtre en cours
$mod+f bascule le mode plein écran
$mod+Shift+space bascule le mode fenêtré / tile
$mod+chiffre selection du workspace chiffre
$mod+Shift+chiffre déplacement de la fenêtre séléctionnée vers le workspace chiffre
$mod+Shift+c rechargement de la config i3
$mod+Shift+r redémarrage du i3

Personnalisation

J'ai modifié la configuration (dans ~/.config/i3/config) pour plus répondre à mes besoins/envies:

Changement de la police par défaut (utilisé dans la barre de menu et les titres)

font pango:monospace 9

Affichage d'un fond d'écran

# set background
exec --no-startup-id nitrogen --set-zoom-fill ~/.local/share/images/background.png --head=0
exec --no-startup-id picom -CGb

Lancement de barrier au démarrage (afin d'utiliser le clavier/souris d'un autre PC)

# start barrier (synergy fork)
exec --no-startup-id barrier

Lancement du gestionnaire de réseau

# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet

Support des touches multimedia

# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status

Lancement d'un gestionnaire d'application via $mod+d (un peu comme spotlight sur macosx)

bindcode $mod+40 exec "rofi -modi drun,run,ssh -show drun -font 'pango:monospace 28' -theme 'amstrad'"

Lancement d'un émulateur Amstrad via $mod+c (et envoi vers le workspace 4)

# application
bindsym $mod+c exec /home/htmiva/Applications/cpcemu-2.4/cpcemu
for_window [class="cpcemu"] move container to workspace 4, fullscreen toggle, workspace number 4

Envoi de la fenetre dosbox dans le workspace 4 (+ fullscreen) à chaque lancement de cet application

# dosbox
for_window [class="dosbox"] move container to workspace 4, fullscreen toggle, workspace number 4

Menu plus sexy pour le redémarrage via $mod+BackSpace

# shutdown, reboot, lock screen

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 systemctl suspend, mode "default"
    bindsym h exec --no-startup-id 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+BackSpace mode "$mode_system"

Redémarrage du serveur X via $mod+shift+BackSpace

bindsym $mod+shift+BackSpace exec killall -9 startx

Article précédent Article suivant

Ajouter un commentaire

Merci d'avoir rédigé votre commentaire !