A photograph of a person typing on a laptop.

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.

Une capture d'écran montrant le fichier de configuration principal d'Emacs pour le bureau Exwm.

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.

Une capture d'écran mettant en évidence l'invite d'installation du package 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.

Une capture d'écran montrant l'exemple de configuration dans un fichier .emacs réel.

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
Une capture d'écran montrant un exemple d'entrée de bureau pour Exwm.

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.

Une capture d'écran mettant en évidence l'entrée Exwm dans GDM.

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.

Une capture d'écran montrant une fenêtre verticale divisée dans Exwm.

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.

Une capture d'écran montrant une fenêtre horizontale divisée dans Exwm.

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.

Une capture d'écran montrant Firefox exécuté 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.

Un terminal mettant en évidence le nom du moniteur et la liste des résolutions disponibles pour le moniteur.

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
Un terminal affichant la commande Xrandr modifiée.

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 ».

Une capture d'écran montrant la fonction de configuration globale des raccourcis clavier.

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 ».

Une capture d'écran montrant le raccourci clavier personnalisé avec un raccourci clavier.

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.

Installez Emacs Exwm Desktop 14 et fournissez un nouvel exemple de fonction

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 ))
Une capture d'écran mettant en évidence les clés passthrough dans Exwm.

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

Une capture d'écran montrant le fonctionnement des clés relais Exwm.

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.

Partager :
Facebook
Twitter
LinkedIn

Gentil Geek

Passionné d'informatique depuis ma plus tendre enfance aujourd'hui j'en ai fait mon métier. A vos côtés pour simplifier votre utilisation de l'informatique et vous permettre de gagner en compétences.

Poster le commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *