Tutoriel sur dwm

[quote=“Clochette”]Bon j’ai fouillé de fond en comble les quelques tutoriels et documentation sur dwm et awesome et je n’ai pas trouvé donc de moyen de choisir un fond d’écran par tag ( dommage quand même :confused: ) mais je pensais vus que je vais remplir le premier tag avec un conky qui gérera mes alertes sécurité et les statistiques de mes différents serveurs je pensais mettre le fameux fond en image de fond du conky :blush: ( donc à priori ce serait un moyen de contourner mais c’est pas l’extase, sans doute un “wish” à rajouter pour les prochaines versions :083 ).[/quote]Pour DWM je ne pense pas que ce soit possible pour la raison suivante :
Dans DWM, il n’y a pas de bureau, l’écran est la fenêtre racine de X, les clients ( toutes les applications graphiques lancées dans ta session X ) sont dans une liste, quand tu appelles un tag ( ou plusieurs ), les clients correspondants sont affichés, les autres non et c’est tout.

Dans une session X donnée, tu ne peux donner qu’une seule image de fond à la fois à la fenêtre racine.
La seule solution que je vois serait de lier un evènement ( xsetroot blah ) à la fonction view en fonction du tag choisi ce qui te donnerait l’impression d’avoir une image de fond par tag mais Je crois par contre qu’il ne faut pas compter sur la communauté suckless pour ajouter ça dans le code de DWM, car les fonctionnalités annexes se trouvent dans la section patches : dwm.suckless.org/patches/
et pas dans le tronc.

[quote=“eol”][quote=“Clochette”]Bon j’ai fouillé de fond en comble les quelques tutoriels et documentation sur dwm et awesome et je n’ai pas trouvé donc de moyen de choisir un fond d’écran par tag ( dommage quand même :confused: ) mais je pensais vus que je vais remplir le premier tag avec un conky qui gérera mes alertes sécurité et les statistiques de mes différents serveurs je pensais mettre le fameux fond en image de fond du conky :blush: ( donc à priori ce serait un moyen de contourner mais c’est pas l’extase, sans doute un “wish” à rajouter pour les prochaines versions :083 ).[/quote]Pour DWM je ne pense pas que ce soit possible pour la raison suivante :
Dans DWM, il n’y a pas de bureau, l’écran est la fenêtre racine de X, les clients ( toutes les applications graphiques lancées dans ta session X ) sont dans une liste, quand tu appelles un tag ( ou plusieurs ), les clients correspondants sont affichés, les autres non et c’est tout.

Dans une session X donnée, tu ne peux donner qu’une seule image de fond à la fois à la fenêtre racine.
La seule solution que je vois serait de lier un evènement ( xsetroot blah ) à la fonction view en fonction du tag choisi ce qui te donnerait l’impression d’avoir une image de fond par tag mais Je crois par contre qu’il ne faut pas compter sur la communauté suckless pour ajouter ça dans le code de DWM, car les fonctionnalités annexes se trouvent dans la section patches : dwm.suckless.org/patches/
et pas dans le tronc.[/quote]

Pas mal l’idée je creuserai ça à l’occasion, et bien entendu quand je parler de wish je faisais plus allusion à awesome mais je note qu’un patch pourrait-être proposer au projet suckless :033

Bon je déterre le sujet, afin de fignoler mon config.h et toute la mise en place de dwm ( ce dit au passage est super léger mais tout de même moins complet que Awesome au niveau des possibilités offerte pour la personnalisation de son fonctionnement ) et des applications.

La géométrie des applications se gère avec une partie tierce ou il y a la possibilités de le faire depuis le fichier config.h avec un patch ( j’ai sans doute loupé quelque chose ) du coup moi qui voulait virer devilspie je pense le remettre et gérer toute mes applications depuis celui-ci et utiliser un config.h assez léger finalement.

En fait, il y a plus de choses par défaut. C’est si tu veux en rajouter à droite à gauche que c’est en fait plus facile avec awesome.

Alors là, tu poses des questions qui ne me sont jamais venus à l’esprit. Tu es sûre de vouloir utiliser un tiling wm, dont le principe est justement de ne pas avoir à se préoccuper du redimensionnement et orientation des fenetres, c’est le wm qui le fait comme un grand.
C’est déroutant au début, mais si on se laisse guider finalement on s’en sort bien. Et il existe flextile et fibonacci comme patch pour ajouter plus de layouts, mais en fait on s’en sert très peu.
Au final, tu as tes fenetres réparties sur plusieurs tags. Avec mod+ctrl, tu affiches les fenetres ayant le tag que tu veux, puis encore celles d’un autre tag, sans avoir à changer de tag toi même. Enfin, comme c’est un peu fouillis, ben tu met dans le Master la fenetres sur laquelle tu travailles, tout en gardant un oeil sur les fenetres laissées dans le stack. Si tu as besoin de l’une d’elle, tu files la chercher et la mettre dans le Master.

Ou alors, je ne comprends pas ce que tu cherches à faire (et c’est sûrement le cas) :wink:

Yep effectivement je viens d’essayer, je me rends compte que j’avais pas saisi une subtilité de tilling :blush: l’efficacité c’est d’avoir tous sous les yeux et de faire le focus sur la master de ce que j’ai vraiment besoin :083 je te remercie je pense avoir enfin cerné ce qui me bloquer avant ( un manque d’habitude :033 sans doute ).

C’est vraiment une autre façon d’utiliser son bureau, une toute autre façon de faire qui peut paraître vraiment étrange au départ.
Le plus dur, c’est de ne pas concevoir les étiquettes (tags) comme des espaces de bureau, mais bel et bien comme des étiquettes que l’on a donné à certaines fenêtres.
Après, on affiche que les étiquettes que l’on veut. (C’est pour ça que ça peut être pratique de donner des noms aux tags, plutôt que les 1 2 3 4 5 6 7 8 9 ).
flextile permet de changer l’arrangement du stack, afin d’avoir un peut comme dans wmii, les fenetres maximisées dans le stack. On se déplace dans les fenetres avec mod+j ou k .
Et quand ça deviant vraiment le bazar, on passe en mode maximize.
Et quand on revient à un gestionnaire de fenetres flottants… On rale tout le temps parce que c’est pire :smiley:

C’est vraiment une autre façon d’utiliser son bureau, une toute autre façon de faire qui peut paraître vraiment étrange au départ.
Le plus dur, c’est de ne pas concevoir les étiquettes (tags) comme des espaces de bureau, mais bel et bien comme des étiquettes que l’on a donné à certaines fenêtres.
Après, on affiche que les étiquettes que l’on veut. (C’est pour ça que ça peut être pratique de donner des noms aux tags, plutôt que les 1 2 3 4 5 6 7 8 9 ).
flextile permet de changer l’arrangement du stack, afin d’avoir un peut comme dans wmii, les fenetres maximisées dans le stack. On se déplace dans les fenetres avec mod+j ou k .
Et quand ça deviant vraiment le bazar, on passe en mode maximize.
Et quand on revient à un gestionnaire de fenetres flottants… On rale tout le temps parce que c’est pire :smiley:[/quote]

Alors là je dit +1000, c’est exactement ça.

En fait au départ je penser organiser mes différents fenêtres en leur adjoignant un tag bien précis et une géométrie lorsque cela l’exiger ( vielle habitude d’utilisation avec compiz :083 en standalone ).
J’ai plus qu’a m’y habituer.

Je ne sais pas si ça vient de moi, mais dans le 1. Présentation ici : thuban.toile-libre.org/index.php … esentation
Les captures d’écrans ne s’affichent pas chez moi…

Sinon je regarderai ça dans la semaine ^^

Exact, je vais voir ça, merci :slightly_smiling:

Bon j’ai refait un tour sur le site officiel et un patch m’intrigue, KEYMODE :033 étant un utilisateur de VIM je comprends bien son avantage mais vus que je lutte actuellement avec mes vielles habitudes je me demandais si tu avais déjà rencontré des soucis avec les touches raccourci ( un conflit et dans ce cas avec quels logiciel ).

Bon j’ai refait un tour sur le site officiel et un patch m’intrigue, KEYMODE :033 étant un utilisateur de VIM je comprends bien son avantage mais vus que je lutte actuellement avec mes vielles habitudes je me demandais si tu avais déjà rencontré des soucis avec les touches raccourci ( un conflit et dans ce cas avec quels logiciel ).[/quote]
Pour ma part, je n’ai jamais eu besoin de ce genre de choses, étant donné que TOUS les raccourcis claviers de dwm, et ceux que j’ai réjouté, utilisent la touche Mod4 (pas alt, mais celle avec le vilain symbole de fenêtre dessus). Et comme aucune application (à ma connaissance) n’a de raccourcis avec cette touche, je n’ai aucun conflit.
Ce patch est sûrement très utile si tu as gardé alt comme touche mod.

Bon j’ai refait un tour sur le site officiel et un patch m’intrigue, KEYMODE :033 étant un utilisateur de VIM je comprends bien son avantage mais vus que je lutte actuellement avec mes vielles habitudes je me demandais si tu avais déjà rencontré des soucis avec les touches raccourci ( un conflit et dans ce cas avec quels logiciel ).[/quote]
Pour ma part, je n’ai jamais eu besoin de ce genre de choses, étant donné que TOUS les raccourcis claviers de dwm, et ceux que j’ai réjouté, utilisent la touche Mod4 (pas alt, mais celle avec le vilain symbole de fenêtre dessus). Et comme aucune application (à ma connaissance) n’a de raccourcis avec cette touche, je n’ai aucun conflit.
Ce patch est sûrement très utile si tu as gardé alt comme touche mod.[/quote]
C’est bien ce qu’il me sembler :083

D’ailleurs je pense refaire une petite jeunesse bientôt à mon portable ( booster la RAM et changer le disque dur pour un qui soit un poil plus gros, repeindre les coques ( la coques du dessus est bien rayer ) et par la même faire disparaître cet affreux logo :005 :005 :005

  • EDIT -

Bon autant la première modification et adjonction de patch s’était bien déroulé autant la grosse modification et l’adjonction de deux autres patchs à été galère ( pas mal de faute d’inattention dût essentiellement à la tête blonde qui se colle à ma jambe avec son doudou tout cracra :083 ) et le résultat ma foi n’est aps encore mirobolant mais me permet de mieux appréhender Dwm :023 .

En conséquence je me lance dans le bidouillage d’Awesome afin de voir lequel des deux me conviendra le mieux.

Salut Thuban et merci pour ton tuto très bien foutu!

J’essaie pour la première fois dwm et j’aime sa légèreté :007

Les raccourcis ont été recompilés à ma sauce et sans grande difficulté (grâce à ton tuto) mais j’ai cependant de petites questions:

  1. comment affecter un raccourci (genre Mod4 KP_Right) pour aller au bureau suivant ?

  2. existe-t-il une possibilité de définir un répertoire /bin dans le home pour qu’il affiche dans dmenu certaines applications souvent utilisées (comme dans ScrotWM) ?

  3. la petite boucle dans mon .xsession affiche bien l’heure mais tous les x temps, la version de dwm apparaît une fraction de seconde et ce de manière aléatoire. Aurais-tu une astuce ? Peut-on ajouter cela d’un autre manière qu’en passant par .xsession ?

Merci d’avance pour tes réponses :smiley:

PS: si je le dois, je veux bien ouvrir un autre fil…

Salut! :slightly_smiling:

Bah ici ou le blog, peu importe :wink: .
Bon par contre, je ne suis pas sûr de bien comprendre ce que tu souhaites faire.
1/ Pour aller au “bureau” suivant, ce serait plutôt “afficher les fenêtres du tag n”, avec n un chiffre par exemple.
Je suis tombé sur ce minuscule patch qui doit faire ce qu’il faut : dwm.suckless.org/patches/nextprev
À le regarder, ça semble en fait tou simple de rajouter une petite fonction sans connaitre tout le code. Enfin je m’égare.
L’exemple donné sur la page ci dessus permet de passer au tag supérieur avec Mod I, et inférieur avec mod

2/ Bien sûr que c’est possible, regarde ici, l’idée vient d’eol à la base : thuban.toile-libre.org/index.php … vec-dmenu/
Et dans le “dossier des scripts”, tu mets soit des liens relatifs aux éxécutables, sois tes propres scripts.
Sinon, tu as ce script-ci : [code]#!/bin/sh
#Lanceur de scripts

Les couleurs de dmenu

SB="#121212"
SF="#ffffff"
NB="#000000"
NF="#848484"

La police de dmenu

FN="--fixed-medium-r-semicondensed--13------iso10646-"

Le prompt, ce que dmenu vous “dit”

P=“Lancer:”

OPTION="-fn $FN -nb $NB -nf $NF -sb $SB -sf $SF -i -p $P "

#Liste des programmes
LIST=“iceweasel
gimp
gpicview
vlc"
ACTION=$(echo “$LIST” | dmenu -fn $FN -nb $NB -nf $NF -sb $SB -sf $SF -p " lancer :” -i)

if [ “$ACTION” != “” ]; then
exec $ACTION
fi
exit 0[/code]

3/ Pour ma part, le .xsession ou .xinitrc lance dwm, mais juste avant lance un script qui tourne en boucle en arrière plan, et affiche ce que je veux dans la barre avec xsetroot. Donc tu te fais un script à part, qui fait une boucle, tu l’appelles avant dwm, et ça roule.
PAr exemple :
.xsession

~/Scripts/dwm-status.sh & exec dwm
~/Scripts/dwm-status.sh :

#!/bin/sh while true; do xsetroot -name "coucou VonRobot" sleep 2 done
Pour plus complet, avec un exemple bordélique : thuban.toile-libre.org/index.php … arre-detat

Merci pour tes réponses bien utiles!

J’aurais du mieux chercher sur ta page vu que ça s’y trouvait… :confused:

Je vais donc continuer à explorer dwm.

Encore merci!

[quote=“VonRobot”]1. comment affecter un raccourci (genre Mod4 KP_Right) pour aller au bureau suivant ?

  1. existe-t-il une possibilité de définir un répertoire /bin dans le home pour qu’il affiche dans dmenu certaines applications souvent utilisées (comme dans ScrotWM) ?

  2. la petite boucle dans mon .xsession affiche bien l’heure mais tous les x temps, la version de dwm apparaît une fraction de seconde et ce de manière aléatoire. Aurais-tu une astuce ? Peut-on ajouter cela d’un autre manière qu’en passant par .xsession ?[/quote]

  3. L’auteur du patch nextprev dont Thuban t’a parlé a convenu que celui-ci :
    lists.suckless.org/dev/att-7590/shiftview.c
    est une meilleure implémentation de la fonctionnalité que tu souhaites.
    Tu as de la chance, il est tout frais de mardi.

Tu peux l’utiliser en rajoutant par exemple dans ton config.h{ MODKEY, XK_Left, shiftview, {.i = -1 } }, { MODKEY, XK_Right, shiftview, {.i = +1 } },

  1. Je ne suis pas certain d’avoir bien compris ce que tu demandes.
    Si c’est d’avoir un dmenu qui liste uniquement tes applications favorites et pas tout ton PATH
    un simple fichier texte appliste qui liste ces applications à raison de une par ligne et un microscript genre #!/bin/sh exec $(dmenu < appliste)
    lié à un raccourci clavier dans ton config.h suffisent.

  2. Même avec une boucle toute conne comme :while true do xsetroot -name "$(date +%H:%M,\ %A\ %d\ %B)" sleep 60 done & exec dwmle phénomène que tu décris à lieu ?

Bonjour à tous

Je coince avec le layout fibonacci.
J’ai bien appliqué le patch mais impossible de l’utilisé.

Faut-il rajouter un raccourci clavier ou il s’applique automatiquement en fonction du nombre de fenêtres?
Je n’arrive pas non plus à remplir mon config.h avec quelque chose, à chaque compilation toutes mes modifs sont supprimées, et si j’ai le malheur de supprimer mon config.def.h, ça plante la compilation.
Aors que le config.def.h garde bien les modifs, et est pris en compte quand je compile avec config.h présent dans les sources …

J’ai toujours eu du mal avec dwm, en même temps c’est normal je suis un béotien en language C.

Merci à vous

Ne t’inquiète pas, pas besoin de bien connaître le c pour configurer dwm, à moins de vouloir soi même coder des trucs en plus. Je t’avoue que moi même, je ne suis pas capable de grand chose en c!

Alors voilà comment ça se passe. Lorsque tu compiles dwm avec make, il va d’abord aller chercher s’il existe un fichier config.h. S’il n’y en a pas, il va alors chercher le config.def.h (def pour default).
Donc si tu as un config.h complété, plus besoin du config.def.h. Mais bon, rie ne t’oblige à supprimer l’un ou l’autre, il faut juste savoir que config.h a la priorité sur l’autre.

Pour appliquer le patch fibonacci, regarde ce qui t’es dit ici : dwm.suckless.org/patches/fibonacci .
Ils te disent de télécharger et appliquer le patch. Si tu utilises les sources dwm du paquet debian, ou l’archive (tarball) téléchargé de suckless.org, tu appliques le patch ainsi :

patch -p1 < fibonacci.diff en étant dans le dossier des sources de dwm.
Là, tu as un message t’indiquant que les modifications ont été appliquées.
Tu peux filer éditer le config.def.h (oui, car c’est en général lui qui contient les modifications par le patch), ou ajouter ces lignes dans ton config.h :

[code]#include "fibonacci.c"
static Layout layout[] = {
/* symbol function /
{ “[]=”, tile }, /
first entry is default */
{ “><>”, floating },
{ “(@)”, spiral },
{ “[\]”, dwindle }, \

};[/code]
Tu reconnais un peu des éléments déja présents. L’include, tu le mets à la suite des autres include. Ensuite, les symboles et arrangements à ajouter dans la partie layout.
Maintenant, il faut bien te définir des raccourcis clavier pour appeler ces arrangements. Donc en reprenant les raccourcis déja présents : { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, { MODKEY, XK_f, setlayout, {.v = &layouts[1]} }, { MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
Il suffit de rajouter daux ligne à ta convenance : { MODKEY, XK_s, setlayout, {.v = &layouts[3]} }, { MODKEY, XK_d, setlayout, {.v = &layouts[4]} }
Le chiffre dans la ligne est dans l’ordre des arrangements (O pour le tile, 1 pour le float, 2 pour le maximize…)

Voilà, j’espère que ces explications plus longues t’auront un peu aidé :slightly_smiling:

Merci pour ton aide et pour ton site bien complet sur ce tiling wm.
En fait sans ton engouement je n’y serais jamais revenu, je lui avais préférer wmii qui à l’époque demandais peu de bidouillage pour être opérationnel.

À toi de choisir avec lequel tu te sens mieux. En ce qui me concerne je préfère dwm, car c’est le meilleur pour tirer pleinement profit du principe des tags. Mais wmii est bien fichu aussi, c’est juste une façon de précéder directement.
N’hésite pas à lire le man de dwm listant tous les raccourcis par défaut.
Par exemple, pour voir les fenetres qui sont dans le tag 9, tout en gardant l’oeil sur les fenetres du tag actuel (8), on pourrait comme dans beaucoup de tiling wm déplacer les fenetres du 8 vers le 9, puis se déplacer sur le 9.
Avec dwm, c’est beaucou plus simple. Il suffit de faire ctrl+mod+9, et on affiche les fenetres du tag 9, sans toutes les déplacer. Refaire ce raccourci cache le tag 9. Ainsi, on n’a pas eu à tout retagguer pour pouvoir voir ce que l’on voulait.