
Table des matières
Exwm est un gestionnaire de fenêtres en mosaïque léger pour Linux qui transforme Emacs en un environnement graphique complet. Dans cet article, je vais passer en revue les avantages de l'utilisation d'Exwm, l'installer sur Ubuntu 24.10 et montrer une partie de ce que vous pouvez faire avec ce fascinant gestionnaire de fenêtres.
Pourquoi utiliser Exwm comme gestionnaire de fenêtres
L'un des principaux arguments de vente d'Exwm est qu'il peut intégrer d'autres applications dans votre flux de travail Emacs existant. Cela vous permet d'utiliser ce que vous savez déjà sur les tampons Emacs et de l'appliquer à vos autres applications, ce qui vous rend plus efficace à long terme.
De plus, Exwm réduit également la quantité de fichiers de configuration présents sur une configuration de bureau. Avec lui, votre fichier .emacs fait office de configuration pour votre éditeur de texte et votre gestionnaire de fenêtres. Cela le rend attrayant pour les utilisateurs qui souhaitent réduire l'encombrement qu'ils gèrent sur leur système.

Enfin, Exwm est incroyablement simple et rapide. D'après mon expérience, le chargement du gestionnaire de fenêtres à partir d'un démarrage à froid prend quelques secondes et son exécution pendant une journée entière ne consomme que plus de 500 Mo de RAM.
En passant : Vous recherchez un gestionnaire de fenêtres plus moderne ? Consultez notre guide sur la configuration et l’exécution de Hyprland sous Linux.
Installer Exwm dans Emacs
La première étape de l'installation d'Exwm sous Linux consiste à vous assurer que vous disposez à la fois d'Emacs et de ses dépendances sur votre système. Pour ce faire, exécutez la commande suivante :
sudo apt install emacs dbus gnome-settings-daemon
Ouvrez votre client Emacs, appuyez sur Alt + Xpuis tapez « package-install » pour afficher l’invite d’installation de l’éditeur.
Tapez « exwm » à l'invite, puis appuyez sur Entrer pour installer le gestionnaire de fenêtres dans Emacs.

Presse Ctrl + Xalors Ctrl + F pour afficher le tampon de fichier, tapez « ~/.emacs » à l'invite, puis appuyez sur Entrer.
Collez le bloc de code suivant dans votre nouveau fichier .emacs. Il s'agit d'une version modifiée du fichier de configuration par défaut qui fournit l'ensemble minimum de fonctionnalités pour Exwm :
(menu-bar-mode -1) (tool-bar-mode -1) (scroll-bar-mode -1) (fringe-mode 1) (setq display-time-default-load-average nil) (display-time-mode t) (icomplete-vertical-mode 1) (exwm-systemtray-mode 1) (require 'exwm) (setq exwm-workspace-number 5) (setq exwm-input-global-keys `( ((?s-r) . exwm-reset) ((?s-w) . exwm-workspace-switch) ((?s-&) . (lambda (command) (interactive (list (read-shell-command "$ "))) (start-process-shell-command command nil command))) ,@(mapcar (lambda (i) `(,(kbd (format "s-%d" i)) . (lambda () (interactive) (exwm-workspace-switch-create ,i)))) (number-sequence 0 9)))) (exwm-enable)
Note: vous pouvez également incorporer ce code à une configuration Emacs existante. Assurez-vous simplement de placer (exwm-enable)
après vos paramètres liés à Exwm.
Presse Ctrl + Xalors Ctrl + S pour enregistrer votre nouveau fichier .emacs.

Ouvrez le fichier .xsession de votre utilisateur local, puis collez-y le bloc de code suivant :
xhost +SI:localuser:$USER gnome-settings-daemon & xsetroot -cursor_name left_ptr xset r rate 200 60 exec dbus-launch --exit-with-session emacs
Enregistrez votre fichier .xsessions, puis exécutez la commande suivante pour créer une nouvelle entrée de bureau pour votre système :
sudo nano /usr/share/xsessions/emacs.desktop
Collez ce qui suit dans votre nouveau fichier .desktop :
(Desktop Entry)<br>Name=Exwm<br>Exec=emacs<br>Type=Application

Enregistrez votre nouveau fichier de bureau, puis redémarrez votre système pour appliquer pleinement vos nouveaux paramètres.
Utiliser Exwm pour la première fois
À ce stade, vous disposez désormais d’une installation de base d’Emacs et Exwm exécutée sur votre bureau Ubuntu Linux. Pour l'utiliser, cliquez sur l'icône Gear dans l'invite de connexion de votre système, puis sélectionnez Exwm.

Connectez-vous à votre compte utilisateur, puis attendez quelques secondes pendant qu'Emacs et Exwm se chargent sur votre session en cours.
Une fois à l'intérieur, la première chose que vous pouvez faire est de créer une nouvelle fenêtre dans l'espace de travail actuel. Pour cela, appuyez sur Ctrl + Xalors 3. Cela créera une division verticale de la fenêtre, plaçant la fenêtre sur le côté droit de l'écran.

Vous pouvez également appuyer sur Ctrl + Xalors 2 pour créer une division horizontale avec la nouvelle fenêtre située en bas de votre écran.

Pour vous déplacer entre différents espaces de travail, appuyez sur Gagner suivi de n'importe quel nombre dans la rangée de numéros de votre clavier. Par exemple, en appuyant sur Gagner + 3 mettra l'accent sur le troisième espace de travail Exwm.
Note: vous pouvez également appuyer sur Alt + Xpuis tapez « exwm-workspace-switch » pour accéder au commutateur à partir du tampon de commande.
Exécuter et gérer des programmes dans Exwm
Contrairement à un gestionnaire de fenêtres classique, Exwm n'est pas livré avec un lanceur d'application dédié. Au lieu de cela, Exwm utilise une fonction personnalisée qui exécute l'entrée du tampon de commande Emacs sur une session shell Linux isolée.
Pour lancer un programme, appuyez sur Changement + Gagner + 7puis indiquez le nom de l'application que vous souhaitez exécuter. Par exemple, taper « Firefox » ouvrira le navigateur sous forme de cadre dans Exwm.

Note: Exwm « reprendra » un cadre Emacs existant au lieu d'en créer un nouveau.
Pour fermer une fenêtre actuellement active, appuyez sur Ctrl + K. Faire cela tuera complètement le processus mais laissera également derrière lui un cadre Emacs standard. Vous pouvez appuyer Ctrl + Xalors 0 pour retirer également le cadre.
Configuration et personnalisation d'Exwm
Bien que l'installation standard d'Exwm soit suffisante pour la plupart des cas d'utilisation, il est possible de personnaliser complètement le bureau en fonction de vos besoins. Dans cette section, nous passerons en revue certaines des modifications que vous pouvez apporter à Exwm.
L'une des personnalisations les plus simples que vous puissiez effectuer consiste à modifier la résolution d'écran par défaut du bureau. Pour ce faire, ouvrez une fenêtre de terminal en appuyant sur Changement + Gagner + 7puis en tapant « gnome-terminal ».
Exécutez xrandr sur le terminal et notez le nom de l'appareil de votre moniteur et les résolutions disponibles pour celui-ci. Par exemple, le nom de mon moniteur est « Virtual-1 » et je souhaite définir la résolution de mon bureau sur 1360×768.

Collez la commande suivante, puis remplacez l'étiquette « MONITOR » par le nom de votre moniteur et « RESOLUTION » par la résolution de votre écran cible.
xrandr --output MONITOR --mode RESOLUTION

Note: vous pouvez rendre cette modification persistante lors des redémarrages en collant la même commande dans votre fichier .xsession.
Rechargez votre session Exwm actuelle en appuyant sur Alt + Xpuis en tapant « exwm-restart ».
Création de nouveaux raccourcis clavier dans Exwm
Exwm n'est pas livré avec beaucoup de raccourcis clavier par défaut. En effet, le gestionnaire de fenêtres s'appuie à la fois sur les clés Emacs intégrées ainsi que sur ses utilisateurs qui ajoutent leurs raccourcis personnalisés.
Pour ajouter vos propres raccourcis clavier, ouvrez votre fichier .emacs, puis faites défiler jusqu'à la section qui contient « exwm-input-global-keys ».

Entrez dans la fonction et collez la ligne de code suivante :
((?SHORTCUT) . FUNCTION)
Remplacez l'étiquette « RACCOURCI » par la combinaison de touches souhaitée. Dans mon cas, je veux utiliser Gagner + Q comme raccourci, j'ajouterai donc « sq ».

Note: Exwm utilise c, s et m pour représenter Ctrl, Gagneret Alt touches respectivement.
Modifiez l'étiquette « FONCTION » avec la fonction que vous souhaitez associer au raccourci.

Presse Ctrl + Xalors Ctrl + S pour enregistrer votre configuration, puis redémarrez votre session Exwm.
Confirmez qu'il fonctionne correctement en appuyant sur votre raccourci clavier personnalisé.
Ajout de clés relais
En plus d'ajouter des raccourcis clavier personnalisés, il est également possible de définir des clés relais dans Exwm. Ce sont des raccourcis qui ne sont interprétés dans aucune fenêtre X11, vous permettant d'accéder à Emacs même en utilisant un programme GUI standard.
Pour ajouter des clés relais, ouvrez votre fichier .emacs, puis faites défiler jusqu'à la section sur les raccourcis clavier Exwm globaux.
Collez le bloc de code suivant juste avant la fonction globale de raccourcis Exwm. Cela vous permettra d'utiliser la norme Ctrl + Xet Alt + X touches de repère ainsi que l'accès à la fonction d'aide :
(setq exwm-input-prefix-keys '(?C-x ?C-u ?C-h ?M-x ))

Enregistrez votre fichier de configuration Emacs, puis redémarrez le bureau pour appliquer vos nouveaux paramètres.

Convertir votre client Emacs en un véritable gestionnaire de fenêtres avec Exwm n'est qu'un avant-goût de ce que vous pouvez faire avec cet éditeur de texte très flexible. Envie d'en savoir plus ? Découvrez pourquoi Emacs est devenu aujourd'hui mon application de travail et de productivité préférée.