logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:environnements:x11:dwm [08/02/2015 04:59]
martinux_qc [Installation]
doc:environnements:x11:dwm [18/08/2015 18:19]
milou [Astuces:]
Ligne 4: Ligne 4:
   * Niveau requis : {{tag>​avisé}}   * Niveau requis : {{tag>​avisé}}
   * Commentaires : //Bien que tous peuvent l'​utiliser,​ dwm, de part le dénuement qui fait sa force, s'​adresse d'​avantage à des utilisateurs connaissant bien leur système et désireux d'en avoir un contrôle très fin. // FIXME   * Commentaires : //Bien que tous peuvent l'​utiliser,​ dwm, de part le dénuement qui fait sa force, s'​adresse d'​avantage à des utilisateurs connaissant bien leur système et désireux d'en avoir un contrôle très fin. // FIXME
-  ​* Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) +  * Suivi : {{tag>​à-tester à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:​atelier:#​tags|l'​Atelier]]. 
-  ​* Suivi : {{tag>en-chantier ​à-tester à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:​atelier:#​tags|l'​Atelier]]. +    * Création par [[user>sogal]] 18/01/2015
-    * Création par [[user>sogalpunx]] 18/01/2015+
     * Testé par <...> le <...> FIXME     * Testé par <...> le <...> FIXME
-  * Commentaires sur le forum : [[:url-invalide ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME+  * Commentaires sur le forum : [[http://debian-facile.org/​viewtopic.php?​id=10567 ​| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
 ===== Introduction ===== ===== Introduction =====
Ligne 15: Ligne 14:
 dwm est un gestionnaire de fenêtres dynamique pour X. Il gère les fenêtres selon 3 agencements différents:​ \\ dwm est un gestionnaire de fenêtres dynamique pour X. Il gère les fenêtres selon 3 agencements différents:​ \\
   * tuilage : les fenêtres sont réparties entre une zone principale et une zone d'​empilement. La zone principale contient la fenêtre dans laquelle vous travaillez, la zone d'​empilement contenant les autres;   * tuilage : les fenêtres sont réparties entre une zone principale et une zone d'​empilement. La zone principale contient la fenêtre dans laquelle vous travaillez, la zone d'​empilement contenant les autres;
 +{{http://​images.debian-facile.org/​file-Re214462f60c6902541bf5ad0577e6966.png}}
   * monocle : les fenêtres sont toutes maximisées à la taille de l'​écran (et se masquent donc l'une l'​autre);​   * monocle : les fenêtres sont toutes maximisées à la taille de l'​écran (et se masquent donc l'une l'​autre);​
 +{{http://​images.debian-facile.org/​file-R689e2271b50020d4a6aef48a18a36b79.png}}
   * flottant : dans cet agencement les fenêtres peuvent être redimensionnées et déplacées librement, c'est le comportement que l'on retrouve dans la plupart des autres gestionnaires et environnements de bureaux (XFCE, LXDE, etc...).   * flottant : dans cet agencement les fenêtres peuvent être redimensionnées et déplacées librement, c'est le comportement que l'on retrouve dans la plupart des autres gestionnaires et environnements de bureaux (XFCE, LXDE, etc...).
 +{{http://​images.debian-facile.org/​file-Rab3a115fbc0c1e9b7b2c1d7cd2eb7b73.png}}
  
 Notes : les fenêtres de dialogue sont toujours en mode flottant. De plus, dwm est bien un gestionnaire de fenêtres, il ne leur apporte aucune décoration,​ ni bordure avec titres et boutons "​Fermer",​ "​Maximiser"​ ou "​Réduire"​. Notes : les fenêtres de dialogue sont toujours en mode flottant. De plus, dwm est bien un gestionnaire de fenêtres, il ne leur apporte aucune décoration,​ ni bordure avec titres et boutons "​Fermer",​ "​Maximiser"​ ou "​Réduire"​.
  
-dwm (et l'​ensemble des outils du projet suckless.org) adhère à une philosophie minimaliste (voir http://​suckless.org/​philosophy). Il est écrit en C et sa configuration se fait dans un fichier écrit en C avant compilation. Cela peut paraître contraignant mais apporte une grande stabilité et la garantie que des options incompatibles ou erronées n'ont pas été indiquées (sans quoi une erreur empêcherait la compilation).+dwm (et l'​ensemble des outils du projet suckless.org) adhère à une philosophie minimaliste (voir http://​suckless.org/​philosophy). Il est écrit en C et sa configuration se fait dans un fichier écrit en C avant compilation. Cela peut paraître contraignant mais apporte une grande stabilité et la garantie que des options incompatibles ou erronées n'ont pas été indiquées (sans quoi une erreur empêcherait la compilation).\\
  
 +Ceux qui le souhaitent peuvent avoir un aperçu de dwm grâce aux captures d'​écran des utilisateurs disponibles sur la page dédiée du projet: http://​dwm.suckless.org/​screenshots/​
 ===== Installation ===== ===== Installation =====
  
Ligne 279: Ligne 282:
 === Ajout commande shell et de son raccourci clavier: === === Ajout commande shell et de son raccourci clavier: ===
  
-Il est bien entendu possible, et indispensable d'​ailleurs,​ de paramétrer vos propres raccourcis clavier pour éxécuter ​un programme, un script etc... En voici la syntaxe:\\+Il est bien entendu possible, et indispensable d'​ailleurs,​ de paramétrer vos propres raccourcis clavier pour exécuter ​un programme, un script etc... En voici la syntaxe:\\
 <code C> <code C>
   { ControlMask|Mod1Mask, ​        ​XK_i, ​          ​spawn, ​         SHCMD("​dwb"​) },   { ControlMask|Mod1Mask, ​        ​XK_i, ​          ​spawn, ​         SHCMD("​dwb"​) },
Ligne 286: Ligne 289:
   { ControlMask|Mod1Mask, ​        ​XK_g, ​          ​spawn, ​         SHCMD("​gimp"​) },   { ControlMask|Mod1Mask, ​        ​XK_g, ​          ​spawn, ​         SHCMD("​gimp"​) },
 </​code>​ </​code>​
-On voit que dans un premier temps on définit les touches modificatrices utilisées (ici Ctrl+Alt) associées à une touche du clavier (notée XK_et-sa-lettre). En bout de ligne, on voit que l'on utilise la fonction de dwm appelé SHCMD pour lancer le programme voulu. En somme, ​Ctrl+Alt+i ouvre dwb, Ctrl+Alt+m ouvre mutt dans l'​émulateur de terminal st, Ctrl+Alt+p ouvre mcabber dans st également et enfin Ctrl+alt+g lance Gimp.\\+On voit que dans un premier temps on définit les touches modificatrices utilisées (ici <​key>​C-A</​key>​) associées à une touche du clavier (notée XK_et-sa-lettre). En bout de ligne, on voit que l'on utilise la fonction de dwm appelé SHCMD pour lancer le programme voulu. En somme, ​<​key>​C-A-i</​key> ​ouvre dwb, <​key>​C-A-m</​key> ​ouvre mutt dans l'​émulateur de terminal st, <​key>​C-A-p</​key> ​ouvre mcabber dans st également et enfin <​key>​C-A-g</​key> ​lance Gimp.\\
  
-Si vous souhaitez utiliser une touche non alpha-numérique (ex: ImpÉc), il faut récupérer son code avec l'​utilitaire xev et le mettre à la place de XK_ et de mettre 0 à la place des modificateurs (en effet, ces touches spéciales s'​emploient souvent seule).\\+Si vous souhaitez utiliser une touche non alpha-numérique (ex: <key>ImpÉc</​key>​), il faut récupérer son code avec l'​utilitaire xev et le mettre à la place de XK_ et de mettre 0 à la place des modificateurs (en effet, ces touches spéciales s'​emploient souvent seule).\\
 <code fichier> <code fichier>
   { 0,                            0xff61, ​        ​spawn, ​         SHCMD("​scrot -z") },   { 0,                            0xff61, ​        ​spawn, ​         SHCMD("​scrot -z") },
 </​code>​ </​code>​
-Dans cet exemple, j'​utilise la touche ImpÉc (PrtScr), pour faire une capture d'​écran à l'aide de scrot. Sur mon clavier, le code de cette touche est 0xff61.\\+Dans cet exemple, j'​utilise la touche ​<key>ImpÉc</​key> ​(PrtScr), pour faire une capture d'​écran à l'aide de scrot. Sur mon clavier, le code de cette touche est 0xff61.\\
  
 __Note sur la définition de l'​émulateur de terminal:__ \\ __Note sur la définition de l'​émulateur de terminal:__ \\
Ligne 314: Ligne 317:
 === Modification du volume avec molette de la souris: === === Modification du volume avec molette de la souris: ===
  
-Il est possible de modifier le volume sonore simplement en faisant jouer la molette de la souris dans la zone de status ​de la barre de dwm. Pour cela, ajoutez les lignes suivantes à la fin du fichier de configuration,​ dans la section "​buttons ​definitions":\\+Il est possible de modifier le volume sonore simplement en faisant jouer la molette de la souris dans la zone de statuts ​de la barre de dwm. Pour cela, ajoutez les lignes suivantes à la fin du fichier de configuration,​ dans la section "​buttons ​définitions":\\
 <code C> <code C>
    { ClkStatusText, ​       0,              Button4, ​       spawn, ​         SHCMD("​amixer -q set Master 2dB+ unmute"​) },    { ClkStatusText, ​       0,              Button4, ​       spawn, ​         SHCMD("​amixer -q set Master 2dB+ unmute"​) },
Ligne 325: Ligne 328:
  
 <code C> <code C>
-/*+/* Made by sogal, last update: 20141224 
 +**
 ** Compile with: ** Compile with:
 ** gcc -Wall -pedantic -std=c99 -lX11 status.c ** gcc -Wall -pedantic -std=c99 -lX11 status.c
 */ */
-#include  +#​include ​<​stdio.h>​ 
-#include  +#​include ​<​stdlib.h>​ 
-#include  +#​include ​<​unistd.h>​ 
-#include  +#​include ​<​time.h>​ 
-#include  +#​include ​<​X11/​Xlib.h>​ 
-#include  +#​include ​<​stdarg.h>​ 
-#include  +#​include ​<​string.h>​ 
-#include  +#​include ​<​strings.h>​ 
-#include  +#​include ​<​sys/​sysinfo.h>​ 
-#include  +#​include ​<​sys/​types.h>​ 
-#include  +#​include ​<​sys/​stat.h>​ 
-#include  +#​include ​<​dirent.h>​ 
-#include  +#​include ​<​locale.h>​ 
-#include  +#​include ​<​fcntl.h>​ 
-#include  +#​include ​<​errno.h>​ 
-#​include ​+#​include ​<​math.h>​
  
 static Display *dpy; static Display *dpy;
Ligne 487: Ligne 491:
 Il affiche la charge système, la date et l'​heure,​ le niveau de batterie et le volume.\\ Il affiche la charge système, la date et l'​heure,​ le niveau de batterie et le volume.\\
  
 +Il est également possible d'​obtenir quelque chose de similaire sans avoir recours au C mais simplement avec un script shell:
 +
 +Afin d'​afficher des informations diverses dans la barre de dwm (la date, le nombre de mails...), la procédure est extrêmement simple. En effet, dwm affiche ce que vous passez à la commande **xsetroot**. Exemple : 
 +
 +<code bash>
 +    xsetroot -name "​Coucou"​
 +</​code>​
 +
 +Bien sûr, vous ce qui vous intéresse c'est la date ou autres choses. Il suffit alors de lancer cette commande toute les secondes. Pour cela, avant de lancer dwm, exécutez un script shell de ce type : \\
 +<code bash>
 +    while true; do
 +        xsetroot -name "​$(date) $(uptime | sed '​s/​.*,//'​)"​
 +        sleep 1
 +    done &
 +</​code>​
 +
 +Voici un autre exemple plus complet (qui affiche la chanson jouée, le niveau de batterie, le volume sonore et l'​heure):​\\
 +
 +<code bash>
 +#!/bin/sh
 +
 +    mus() {
 +        if [ "$(mpc |grep playing)"​ ]; then
 +            INFO="​$(mpc |head -n1)"
 +            L="​$(mpc |grep -Eo '​[0-9]+:​[0-9]+/​[0-9]+:​[0-9]+'​)"​
 +            MUS="[ ♫ $INFO - $L] ";
 +        else
 +            MUS="";​
 +        fi
 +    }
 +
 +    bat() {
 +        BAT="​[B : $(acpi -b | awk '​sub(/,/,""​) {print $3, $4}'​)]"​
 +    }
 +    vol() {
 +        VOL="​$(amixer -c0 sget Master |grep -Eo '​[0-9]+%'​)"​
 +    }
 +    getdate() {
 +        DATE="​$(date '​+%d/​%m/​%y %H:​%M'​)"​
 +    }
 +
 +    while true; do
 +        mus
 +        bat
 +        vol
 +        getdate
 +        xsetroot -name "$MUS $BAT [Vol:$VOL] [$DATE]"​
 +        sleep 2s
 +    done
 +</​code> ​   ​
 +//Merci à Thuban pour cette remarque et pour cet exemple.//
 ===== Conclusion: ===== ===== Conclusion: =====
  
doc/environnements/x11/dwm.txt · Dernière modification: 25/01/2017 08:24 par sogal

Pied de page des forums

Propulsé par FluxBB