Gestionnaire de fenêtres en tuile - xmonad

Création : Debian 10.3 / Buster

xmonad est un gestionnaire de fenêtres en tuile utilisable soit de façon autonome (sans bureau), soit intégré à un bureau. Dans ce qui suit, on décrit l'installation et l'utilisation de xmonad intégré dans le bureau xfce4.

Références :

Sommaire

1 - Installation

$ sudo aptitude install xmonad suckless-tools
$ aptitude search ~ixmonad
i A libghc-xmonad-contrib-dev - extensions pour xmonad
i A libghc-xmonad-contrib-doc - extensions pour xmonad – documentation
i A libghc-xmonad-dev - gestionnaire léger de fenêtres pour X11
i A libghc-xmonad-doc - gestionnaire léger de fenêtres pour X11 – documun
i xmonad - gestionnaire léger de fenêtres pour X11 écrit en
$ xmonad --version
xmonad 0.14.2
Mod Shift Entrée     # La touche Mod est Alt

Le terminal par défaut, s'ouvre dans une fenêtre couvrant tout l'écran

$ glxgears
L'écran se partage en deux, etc....

2 - Intégration dans le bureau xfce4 et clavier azerty

Après avoir effectué l'installation autonome, redémarrer une session et dans le gestionnaire de session (lightdm), choisir la session xfce4

2.1 - Fichier de configuration xmonad

$ nano ~/.xmonad/xmonad.hs
import XMonad import XMonad.Config.Xfce
import XMonad.Config.Azerty
import qualified Data.Map as M

main = xmonad xfceConfig { terminal = "xfce4-terminal" , modMask = mod4Mask
, keys = \c -> azertyKeys c <+> keys xfceConfig c
}
$ xmonad --recompile
XMonad will use ghc to recompile, because "/home/xxxx/.xmonad/build" does not exist.
WMonad recompilation process excited with success

2.2 - Adaptation des paramètres xfce4

Mod + SHift + Entrée
$ xfce4-keyboard-settings &
$ xfce4-session-settings &
$ sudo systemctl restart lightdm
Mod Shift Entrée     # La touche Mod est Windows (Super_L)
Mod b                        # Affichage / Masquage des barres de menu xfce

3 - Utilisation

La gestion des fenêtres s'effectue au moyen de raccourcis clavier :

Mod Shift c  # Fermeture fenêtre en cours
Mod Shift q # Fermeture session
Mod j / Mod k        # Focalisation sur la fenêtre suivante, sens horaire / sens anti-horaires
Mod m # Focalisation sur la fenêtre principale (main)
Mod h / Mod l        # Rétrécissement / Augmentation de la taille de la fenêtre principale
Mod Shift Space # Retour à la disposition et taille par défaut
Mod Entrée   # Échanger le contenu de la fenêtre en cours avec celui de la fenêtre principale


Mod Shift j # Échanger le contenu de la fenêtre en cours avec celui de la suivante (ou bien Mod Tab)
Mod Shift k # Échanger le contenu de la fenêtre en cours avec celui de la précédente (ou bien Mod Shift Tab)
Mod 1 /2 .. /9       # Affichage de l'espace de travail 1 /2 ../9 
# Utiliser les touches marquées 1,2,..9 sans la touche Shift
Mod Shift 2 # Déplacement de la fenêtre en cours vers l'espace de travail 2
# Utiliser les touches marquées 1,2,..9 avec la touche Shift
Mod Space    # Défilement des différentes dispositions
1 - Disposition par défaut :
Fenêtre principale à gauche, Fenêtres secondaires à droite

2 - Fractionnement horizontal
Fenêtre principale en haut à gauche, Fenêtres secondaires dessous

3 - Fenêtre unique sur fenêtre focalisée

Mod Shift Space # Retour à la disposition par défaut
Mod ,                # Ajouter une fenêtre dans la fenêtre principale 
Mod ; # Enlever une fenêtre de la fenêtre principale
Mod clic droit       # Mise en mode flottant et montée de la fenêtre en avant-plan
Mod clic droit + mvt souris # Mise en mode flottant de la fenêtre, agrandissement / réduction de la fenêtre
Mod clic gauche + mvt souris # Mise en mode flottant de la fenêtre, déplacement de la fenêtre
Mod Shift Enter      # Lancer xfce4-terminal
Mod p # Lancer appfinder - recherche d'applications
Mod Shift p # Lancer appfinder - affichage et recherche d'applications

Mod b # Afficher / Masquer les barres de menu xfce
Mod q # Recharger le fichier de configuration