3.6 KiB
title | categories |
---|---|
Howto dwm | window manager desktop suckless |
Site officiel : https://dwm.suckless.org/
dwm
est un gestionnaire de fenêtres très simple. Sa simplicité de conception permet de relativement facilement modifier le code source pour ajouter ou modifier des fonctionnalités. Il est écrit en C.
Installation
Sous Debian
On peut installer le paquet dwm
directement. Comme quasiment tous les logiciels de la communauté suckless, dwm
ne peut être configuré qu’en le compilant soi-même. Installer le paquet permet toutefois d’avoir un idée du logiciel brut, pour essayer, et d’installer ses dépendances, comme dmenu
.
# apt install dwm
Compiler dwm
Par défaut, make install
installe dwm
sous /usr/local
. Il faut modifier la variable PREFIX
dans le fichier config.mk
si on souhaite changer la destination.
# apt install libx11-dev libxft-dev libxinerama-dev
# cd /usr/local/src
# git clone git://git.suckless.org/dwm
# cd dwm
# cp config.def.h config.h
# vi config.h
# make clean install
Barre d'état
dwm
s’appuye sur le nom de la fenêtre racine (root window) et affiche le texte correspondant dans sa barre d’état. Pour changer le texte de la barre, on peut utiliser la commande xsetroot
:
$ xsetroot -name 'hello there'
Le script shell suivant permet d’afficher la date et l’heure dans la barre :
$ while xsetroot -name "$(date +'%F | %R')"
do
sleep 20
done
Patchs
De nombreux patchs sont disponibles sur le site officiel.
Bépo
Si on utilise un clavier bépo, les raccourcis MOD-[1-9]
ne fonctionneront pas. Pour corriger ça :
diff --git a/config.def.h b/config.def.h
index 9efa774..9a12476 100644
--- a/config.def.h
+++ b/config.def.h
@@ -81,6 +81,8 @@ static const Key keys[] = {
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
{ MODKEY, XK_0, view, {.ui = ~0 } },
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
+ { MODKEY, XK_asterisk,view, {.ui = ~0 } },
+ { MODKEY|ShiftMask, XK_asterisk,tag, {.ui = ~0 } },
{ MODKEY, XK_comma, focusmon, {.i = -1 } },
{ MODKEY, XK_period, focusmon, {.i = +1 } },
{ MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
@@ -94,6 +96,15 @@ static const Key keys[] = {
TAGKEYS( XK_7, 6)
TAGKEYS( XK_8, 7)
TAGKEYS( XK_9, 8)
+ TAGKEYS( XK_quotedbl, 0)
+ TAGKEYS( XK_guillemotleft, 1)
+ TAGKEYS( XK_guillemotright, 2)
+ TAGKEYS( XK_parenleft, 3)
+ TAGKEYS( XK_parenright, 4)
+ TAGKEYS( XK_at, 5)
+ TAGKEYS( XK_plus, 6)
+ TAGKEYS( XK_minus, 7)
+ TAGKEYS( XK_slash, 8)
{ MODKEY|ShiftMask, XK_q, quit, {0} },
};
Les valeurs XK_quotedbl
, XK_guillemotleft
cie peuvent être obtenues avec la commande $ xev -event keyboard
.
On peut utiliser la même méthode (en changeant les
XK_
) pour azerty.