cd / ; apropos ; find * ;
Table des matières

Visite guidée de dwm #

Je vous propose de faire ensemble le tour de l'excellent gestionnaire de fenêtres dwm.

Afin de partager les mêmes points de repère, je vous suggère de récupérer la même configuration que celle utilisée dans le tutoriel. Cette dernière est prête pour les claviers azerty ;)

Suivez l'étape suivante. Ne vous inquiétez pas, je fais en sorte de ne pas modifier votre système : tous sera installé dans votre dossier personnel.

Pour les pressés, vous voudrez peut-être passer directement à la vidéo :

dwm-tour.webm

Configuration utilisée #

dmenu #

Pour profiter de dwm, installez le petit outil "dmenu" via votre gestionnaire de paquets, ou en le compilant ainsi :

curl -O https://dl.suckless.org/tools/dmenu-5.0.tar.gz
tar xvzf dmenu-5.0.tar.gz
cd dmenu-5.0
sed -i /^#FREETYPEIN/s/^#// config.mk # facultatif, pour OpenBSD seulement 
make
make install PREFIX=$HOME MANPREFIX=$HOME/man/
echo $PATH | grep -q $HOME/bin || echo 'PATH=$PATH:~/bin' >> $HOME/.profile

dwm pré-configuré #

La configuration utilisée modifie les raccourcis claviers pour fonctionner avec un clavier azerty. Autrement dit, les touches "chiffres" en haut du clavier sont accessibles avec ''&'', ''é'', ''"'','' ' '', ''('', ... D'autres extensions mineures sont intégrée par rapport à une version de dwm par défaut.

Je vous invite à lire le paragraphe "Exemple" du "guide à la prx" pour obtenir des détails sur les quelques petites modifications apportées, qui ne changent en rien l'expérience avec un dwm par défaut (voir lien à la fin de page).

guide à la prx de dwm

Par contre, ici, on compile : dwm se configure directement en éditant les sources, aussi utiliser un gestionnaire de paquets est inutile.

Voici un lien direct vers le fichier de configuration pour les plus habitués :

config.h

Ce fichier a pu changer depuis l'enregistrement de la vidéo au gré de mes envies :).

Voici la liste des commandes à entrer pour compiler et installer dwm :

curl -O https://dl.suckless.org/dwm/dwm-6.2.tar.gz
tar xvzf dwm-6.2.tar.gz
cd dwm-6.2
sed -i /^#FREETYPEIN/s/^#// config.mk # facultatif, pour OpenBSD seulement
curl -o config.h https://si3t.ch/misc/logiciel-libre/suckless/dwm/dwm-config.h
make
make install PREFIX=$HOME MANPREFIX=$HOME/man/
echo $PATH | grep -q $HOME/bin || echo 'PATH=$PATH:~/bin' >> $HOME/.profile

session #

Voici les lignes à copier dans votre fichier "''~/.xsession''" (ou "''.xinitrc''") pour démarrer dwm de la même façon :

. $HOME/.profile
xsetroot -solid steelblue &
while true; do xsetroot -name " $(date +"%H:%M") "; sleep 60; done &
dwm

Une simple couleur de fond, l'heure en haut à droite et c'est tout :) (pour l'instant ;-))

Dernière remarque #

C'est le terminal "st" qui est utilisé avec cette configuration. Vous voudrez peut-être le remplacer par "xterm" ou autre selon vos préférences. Éditez le fichier "config.h" à la ligne suivante :

static const char *termcmd[]  = { "st", NULL };

Accrochez vos ceintures #

Nous voici devant notre écran, pour l'instant vide. Presque vide : on peut voir une barre en haut de l'écran. À gauche, ce sont les tags, et nous voyons apparemment le premier puisqu'il est coloré. À droite, le status nous indique l'heure.

 +---------------------------+-----+-----------------------------+--------+
 |                           |     |                             |        | 
 |[1] 2  3  4  5  6  7  8  9 | []= |                             | status |
 |                           |     |                             |        |
 +---------------------------+-----+-----------------------------+--------+
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 +------------------------------------------------------------------------+

dwm-tour-1.png

Ouvrons une fenêtre, par exemple un terminal. Le plus simple est d'utiliser le raccourci "Alt-Shift-Entrée". La fenêtre occupe tout l'espace disponible. Un petit carré est apparu sur le tag 1, montrant qu'une fenêtre a cette étiquette. Le titre de la fenêtre apparaît en haut, de sorte que l'on sait laquelle est sélectionnée.

 +---------------------------+-----+-----------------------------+--------+
 |▪                          |     |                             |        | 
 |[1] 2  3  4  5  6  7  8  9 | []= | titre de la fenêtre active  | status |
 |                           |     |                             |        |
 +---------------------------+-----+-----------------------------+--------+
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 +------------------------------------------------------------------------+

dwm-tour-2.png

On peut lancer une commande dans ce terminal, par exemple "top". Donnons maintenant à cette fenêtre le tag 2 : Alt-Shift-2. Cette dernière n'a pas disparu : remarquez le petit carré au dessus du "2".

Affichons le tag 2 avec Alt-2 : revoilà notre terminal avec "top".

Retournons sur l'affichage du tag 1 puis ouvrons un nouveau terminal.

 +---------------------------+-----+-----------------------------+--------+
 |▪  ▫                       |     |                             |        | 
 |[1] 2  3  4  5  6  7  8  9 | []= | titre de la fenêtre active  | status |
 |                           |     |                             |        |
 +---------------------------+-----+-----------------------------+--------+
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 +------------------------------------------------------------------------+

dwm-tour-3.png

Cette fois-ci, juste pour l'exemple, on utilisera dmenu disponible par le raccourci Alt-p. Entrons les premières lettres du mot "xterm" puis validons avec Entrée. Hop, voilà notre nouveau terminal. On peut écrire dedans afin de l'identifier ensuite.

Ouvrons maintenant le navigateur Firefox avec la même méthode : Alt-p, "fire..." puis entrée. Tiens, il n'apparaît pas.

Cependant, un petit marqueur est apparu au dessus du tag 3. C'est tout à fait normal, la configuration proposée colle l'étiquette 3 à Firefox. Notez que par défaut, c'est le numéro 9, mais je trouve le 3 plus facile à atteindre d'une seule main. On pourrait afficher Firefox avec Alt-3...

Toutefois, j'aimerais avoir à l'écran toutes les fenêtres précédemment ouvertes. On va donc demander d'afficher les fenêtres avec le tag 2 et 3 avec les raccourcis Alt-Ctrl-2 et Alt-Ctrl-3.

Désormais, l'écran ressemble à ça :

 +---------------------------+-----+-----------------------------+--------+
 |▪  ▫  ▫                    |     |                             |        | 
 |[1  2  3] 4  5  6  7  8  9 | []= | titre de la fenêtre active  | status |
 |                           |     |                             |        |
 +---------------------------+-----+-----------------------------+--------+
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |             stack              |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |             master                    |--------------------------------|
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |             stack              |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 +------------------------------------------------------------------------+

dwm-tour-4.png

La zone la plus grande à gauche s'appelle "master", la partie divisée à droite "stack". Vous remarquerez qu'aucune fenêtre ne vient en superposer une autre pour en cacher le contenu : n'est-ce pas agréable?

Jouons un peu : appuyez plusieurs fois sur Alt-h pour réduire la taille du master :

 +---------------------------+-----+-----------------------------+--------+
 |▪  ▫  ▫                    |     |                             |        | 
 |[1  2  3] 4  5  6  7  8  9 | []= | titre de la fenêtre active  | status |
 |                           |     |                             |        |
 +---------------------------+-----+-----------------------------+--------+
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 |                          |---------------------------------------------|
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 |                          |                                             |
 +------------------------------------------------------------------------+

dwm-tour-5.png

Appuyez sur Alt-l pour l'agrandir à nouveau.

Maintenant, on peut augmenter le nombre de fenêtres qu'il peut y avoir dans le master avec Alt-i :

 +---------------------------+-----+-----------------------------+--------+
 |▪  ▫  ▫                    |     |                             |        | 
 |[1  2  3] 4  5  6  7  8  9 | []= | titre de la fenêtre active  | status |
 |                           |     |                             |        |
 +---------------------------+-----+-----------------------------+--------+
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |---------------------------------------|                                | 
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 |                                       |                                |
 +------------------------------------------------------------------------+

dwm-tour-6.png

Ou en réduire le nombre avec Alt-u (par défaut, c'est Alt-d, mais le "d" est inutilement loin du "i"). Avec la configuration proposée, vous pouvez remettre dans son état d'origine le nombre de fenêtres dans le master avec Alt-o.

J'aimerais maintenant placer Firefox dans la zone master et laisser "top" ainsi que l'autre terminal dans le stack. On va donc aller sélectionner la fenêtre de Firefox avec Alt-j ou Alt-k. Pour le passer dans le master, on entre Alt-Entrée. Appuyez une nouvelle fois sur Alt-Entrée pour le renvoyer dans le stack.

Facile non ?

Maintenant, changeons un peu d'activité. Affichons seulement le tag 4 : Alt-4 Ouvrons Thunderbird : Alt-p, "thund...", Entrée.

Ouvrons avec le même tag un lecteur de flux RSS par exemple : Alt-Shift-Entrée, "newsboat".

Hum... Les fenêtres gagneraient à être plus grandes. C'est tout de même pratique de pouvoir lire tout le contenu d'une fenêtre. Passons alors en mode "monocle" : Alt-z. Le raccourci par défaut est Alt-m, mais le "m" est loin de Alt à mon goût. À la place, Alt-m déplace le focus dans la zone master dans la configuration proposée.

Hop, la fenêtre active est maintenant en grand. On peut choisir d'afficher Thunderbird ou newsboat vec Alt-j ou Alt-k, voire même en roulant la molette de la souris sur le titre d'une fenêtre. À ce stade, l'écran ressemble à ceci (vous aurez remarqué un nouveau symbole en haut à gauche du titre de la fenêtre) :

 +---------------------------+-----+-----------------------------+--------+
 |▫  ▫  ▫  ▪                 |     |                             |        | 
 | 1  2  3 [4] 5  6  7  8  9 | [2] | titre de la fenêtre active  | status |
 |                           |     |                             |        |
 +---------------------------+-----+-----------------------------+--------+
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 |                                                                        |
 +------------------------------------------------------------------------+

dwm-tour-7.png

Pour basculer rapidement de la consultation de mes mails avec Thunderbird vers l'activité précédente avec Firefox/top/terminal, appuyons sur Alt-Tab. Hop, on retrouve la vue précédente. Rappuyez sur Alt-Tab : on retrouve Thunderbird. \o/

Cette fonctionnalité est très pratique pour passer d'une vue à l'autre.

Pour finir, on va jouer avec la souris.

Ouvrons un terminal : Alt-Shift-Entrée. Écrivons "5" dedans pour le repérer plus tard. Alors qu'il est sélectionné, cliquons sur le tag "5" tout en appuyant sur Alt. Hop, ce terminal a maintenant l'étiquette 5.

Maintenant, ouvrons un autre terminal puis écrivons "coucou" dedans pour le repérer plus tard. Donnons-lui le tag 6 comme on l'a fait avant : Alt-clic gauche sur le tag 6.

On va donner ajouter à Thunderbird l'étiquette 5 et 6 pour qu'il apparaisse aussi lorsqu'on sélectionne ces tags. Après avoir sélectionné Thunderbird, cliquez droit sur les tags 5 et 6 tout en maintenant Alt appuyé. C'est exactement comme entrer Alt-Shift-Ctrl-5 et Alt-Shift-Ctrl-6.

Repassons en mode tiling avec Alt-t ou en cliquant sur le symbole "[4]" qui devient "[]=".

Choisissez le tag 5 en cliquant gauche dessus : vous voyez votre terminal "5" et Thunderbird. (Comme Alt-[n]). Choisissez le tag 6 en cliquant DROIT dessus : vous voyez votre terminal "5", le terminal "coucou" et Thunderbird. À chaque fois qu'on clique-droit sur un tag, on en affiche les fenêtres. (Comme Alt-Ctrl-[n]). Génial non ? :)

Avec toutes ces fenêtres d'ouvertes, je ne sais plus où est le terminal du départ, celui avec la commande "top". Dans ce cas, cliquons-droit sur tous les tags contenant une fenêtre (Repérables par le petit carré ▪ ou ▫ selon si la fenêtre active a ce tag), ou bien carrément sur tous les tags. Cela équivaut à appuyer sur Alt-0 pour afficher toutes les fenêtres.

Voilà à quoi dwm ressemble :

 +---------------------------+-----+-----------------------------+--------+
 |▫  ▫  ▫  ▪  ▪  ▪           |     |                             |        | 
 |[1  2  3  4  5  6  7  8  9]| []= | titre de la fenêtre active  | status |
 |                           |     |                             |        |
 +---------------------------+-----+-----------------------------+--------+
 |                                     |                                  |
 |                                     |                                  |
 |                                     |                                  |
 |                                     |----------------------------------|
 |                                     |                                  |
 |                                     |                                  |
 |                                     |----------------------------------|
 |                                     |                                  |
 |                                     |                                  |
 |                                     |----------------------------------|
 |                                     |                                  |
 |                                     |                                  |
 |                                     |                                  |
 |                                     |----------------------------------|
 |                                     |                                  |
 |                                     |                                  |
 |                                     |----------------------------------|
 |                                     |                                  |
 |                                     |                                  |
 |                                     |                                  |
 +------------------------------------------------------------------------+

dwm-tour-8.png

Bon, c'est quand même chargé. On peut appuyer plusieurs fois sur Alt-i pour augmenter le nombre de fenêtres dans le master. Je vous propose plutôt de tester un nouvel arrangement intégré à ma configuration : le mode grid avec Alt-g. Avec ce dernier, c'est facile de repérer "top". Cela vous donne :

 +---------------------------+-----+-----------------------------+--------+
 |▫  ▫  ▫  ▪  ▪  ▪           |     |                             |        | 
 |[1  2  3  4  5  6  7  8  9]| HHH | titre de la fenêtre active  | status |
 |                           |     |                             |        |
 +---------------------------+-----+-----------------------------+--------+
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 +----------------------+-----------------------+-------------------------+
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 +----------------------+-----------------------+                         +
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 |                      |                       |                         |
 +------------------------------------------------------------------------+

dwm-tour-9.png

Attrapons la fenêtre contenant "top" en maintenant Alt appuyé puis en faisant un cliquer-glisser sur la fenêtre : elle se promène sur l'écran comme avec un gestionnaire de fenêtres flottant. On peut la redimensionner en maintenant Alt appuyé puis en maintenant clic-droit.

Ça suffit maintenant, je déteste devoir redimensionner et déplacer des fenêtres manuellement.

Avant de se quitter, fermons toutes ces fenêtres avec Alt-Shift-c, ou bien en cliquant-droit sur le titre de la fenêtre.

On a fini notre tour de dwm. Il vous reste beaucoup à découvrir en parcourant la liste des patches éventuels, mais cela vous donne un aperçu et des idées sur la façon de l'utiliser. N'hésitez pas à expérimenter.

Amusez-vous bien ;)

Au revoir : Alt-Shift-q

Liens #

dwm : le guide à la prx

Site officiel de dwm

Site officiel de dmenu

Site officiel de st