Foire aux questions

From awesome

Jump to: navigation, search

Contents

[edit] Questions générales

[edit] Pourquoi awesome ?

Le nom « awesome » provient du mot anglais awesome, « grandiose » en français, souvent utilisé par le personnage Barney Stinson de la série How I met your mother (Comment je l’ai rencontrée en Belgique).

[edit] Quelles sont les dépendances de awesome ?

Afin de compiler awesome lui-même, vous aurez besoin des fichiers d’en-tête et des bibliothèques de :

  • Xlib, Xinerama, Xrandr
  • libconfuse ≥ 2.6
  • cairo
  • pango et pangocairo
  • Imlib2

ou

  • GTK+ (utilisez --with-gtk avec ./configure)

Afin de construire les pages de manuel d’awesome, vous aurez également besoin des outils suivants :

  • asciidoc (version récente)
  • xmlto (version récente)
  • feuilles de style docbook

Enfin, la documentation développeur est générée en s’appuyant sur les outils suivants :

  • doxygen
  • graphviz

[edit] Développement

[edit] J’ai trouvé un bogue, que puis-je faire ?

Tout d'abord, tester la version en développement pour vérifier si le bogue est toujours présent. Si le bogue est un comportement inattendu, expliquez quel comportement vous attendiez. Si le bogue est une erreur de segmentation, fournissez la pile d’appel complète du programme avec gdb.

Tout ceci peut être posté ici : http://awesome.naquadah.org/bugs/

Dans tous les cas, essayez de préciser comment reproduire le problème.

[edit] Acceptez-vous les patches et améliorations ?

Oui. Envoyez-les sur la liste de diffusion pour revue. Consultez également la page de développement.

[edit] Comment suivre le développement des branches de awesome ?

Pour cloner la version de développement principal (git) :

 git-clone git://git.naquadah.org/awesome.git/
 cd awesome/

Pour obtenir une branche comme « awesome-3 » :

 git-fetch origin awesome-3:awesome-3
 git-checkout awesome-3

git-branch indique sur quelle branche on se trouve.

Sur certaines distributions, il est possible d’utiliser la touche de tabulation pour compléter les commandes de git ou le nom des branches.

Pour rester à jour avec la branche « awesome-3 », lancez ces commandes depuis le répertoire awesome :

 git-fetch origin
 git-reset --hard origin/awesome-3

Remarque : la branche « awesome-3 » contient la transition vers XCB et nécessite xcb-util. Pour faciliter la vie des compagnons Archers, un PKGBUILD temporaire pour xcb-util a été créé ici.

Pour créer un patch :

 git-clone git://git.naquadah.org/awesome.git/
 edit file
 git-commit filename
 git-format-patch origin

Ceci génère un fichier nommé de la façon suivante :

 0001-le_nom_du_patch.patch


[edit] Configuration

[edit] J’avais l'habitude d’utiliser un tube pour imprimer sur stdin avec awesome 1.x, cela ne fonctionne plus avec awesome 2.0. Pourquoi ?

Parce que nous avons implémenté un meilleur système. Vous pouvez maintenant employer awesome-client qui attend les données suivantes sur stdin :

#screen uicb arg 

Ainsi, pour modifier le texte de la barre de statut sur l'écran 0, procédez de la façon suivante :

   echo "0 setstatustext \"Hello, awesome world\!\"" | awesome-client

Si vous voulez visualiser une autre étiquette sur l’écran 1 :

   echo "1 tag_view 3" | awesome-client

Remarque : ceci ne correspond qu’à la version 2.0. Pour la syntaxe réelle, consultez awesome-client(1).

[edit] Existe-t-il un lanceur ou un menu dans awesome ?

awesome 2.3 apporte une fonction de menu. Pour l’utiliser, créez un fichier contenant une entrée par ligne, comme par exemple ~/.awesome/menu ci-dessous :

 xterm
 firefox
 pidgin

Puis ajoutez les lignes suivantes à votre fichier .awesomerc :

 key { 
   modkey = {"Mod4"} 
   key = "p" 
   command = "spawn" 
   arg = "exec `cat ~/.awesome/menu | awesome-menu`" 
 }

Consultez awesome-menu pour davantage de détails à ce sujet.

Il est également possible d’utiliser des outils tiers comme :

  • dmenu : un lanceur de programmes. Par exemple :
 key { modkey = {"Mod4"} key = "p" command = "spawn" arg = "exec `dmenu_path | dmenu -b`" }
  • dzen : x-menu, barre de statut, etc.
  • 9menu : x-menu simple. Par exemple :
 9menu -file ~/.9menurc
  • apwal : icônes simples pour la fenêtre racine
  • Gmrun : Run-menu (GTK+)

[edit] Comment est-ce que j’obtiens l’expression rationnelle à employer pour le nom d’une règle ?

Utilisez la commande xprop. Par exemple, pour Pidgin :

 me@myhost:~$ xprop | grep WM_NAME
 WM_NAME(STRING) = "Buddy List"
 _NET_WM_NAME(UTF8_STRING) = 0x42, 0x75, 0x64, 0x64, 0x79, 0x20, 0x4c, 0x69, 0x73, 0x74

Le nom d’une règle s’appuie sur le contenu du champ WM_NAME :

 rules
 {
     rule {
         name = "Liste de contacts"
         tags = "one"
         float = true
     }
 }


[edit] Il n’y a pas de zone de notification ! Comment puis-je recevoir les notifications de Pidgin ?

awesome comprend le drapeau « URGENT » utilisé par Pidgin, et peut modifier le fond de l’onglet dans la barre de statut de manière appropriée. Pour cela, lancez Pidgin, ouvrez Outils -> Plugins, et assurez-vous que « Notification de message » est activé. Sélectionnez « Notification de message » et cliquez sur le bouton « Configurer le plugin » en bas de la fenêtre. Assurez-vous que l’option « Envoyer le message “URGENT” au gestionnaire de fenêtres » est cochée.

Ensuite, vérifiez que les lignes suivantes se trouvent bien dans la section « colors » de votre fichier ~/.awesomerc (Pour awesome-2.2)

 colors {
   urgent_fg = "#ffffff"
   urgent_bg = "#D53737"
 }

Pour awesome-2.3 :

 styles {
    urgent
       {
           fg = "#FFFFFF"
           bg = "#D53737"
       }
 }

Lancez awesome -k pour vérifier que la configuration est valide, puis redémarrez awesome. Maintenant, lorsque Pidgin reçoit un message, l’affichage de l’onglet dans la barre de statut doit devenir rouge.

[edit] Les applications graphiques Java apparaissent comme un écran gris !

Extrait du manuel d’awesome :

Les applications Java qui utilisent le moteur de traitement de la boîte à outils XAWT (Xtoolkit en anglais) ne peuvent dessiner que des fenêtres grises. Le moteur de traitement de la boîte à outils XAWT n’est pas compatible avec ICCCM dans la version JDK 1.5 et dans les premières version JDK 1.6, parce qu’il suppose un gestionnaire de fenêtres se définissant comme père de toutes les fenêtres qu’il gère. À titre de palliatif, vous pouvez utiliser JDK 1.4 (qui ne contient pas le moteur de traitement de la boîte à outils XAWT), ou bien vous pouvez positionner la variable d’environnement suivante (afin d’utiliser l’ancien moteur de traitement Motif à la place) : AWT_TOOLKIT=MToolkit

[edit] Interstices ! Il y a des interstices ! Comment se débarrasser de ces espaces en haut ou en bas de l’écran ?

Ajoutez les lignes suivantes dans votre fichier .awesomerc, dans la section associée aux écrans pour lesquels vous ne voulez pas voir apparaître d’interstices :

 general
 {
     resize_hints = false
 }

Le fichier .awesomerc peut ne pas contenir cette section. Si elle n’est pas déjà présente, ajoutez-la.

[edit] Les barres de titre sont excellentes, mais comment les invalider pour une application donnée ?

Dans la section rules du fichier awesomerc, ajoutez :

 titlebar { 
   position = off 
 }

[edit] Règle pour plusieurs onglets

rule
{
    name = "Nom application"
    float = true
    tags = "tag1|tag2|…"
}

Il vous suffit de séparer les onglets par un « | ».

[edit] Je veux des widgets

Il vous suffit de regarder le dépôt « Obvious ».

[edit] L’environnement français

[edit] Mes touches 0–9 ne sont pas reconnues lorsque j'essaie Super+[0;9] sur mon clavier azerty !

Il faut modifier la configuration des touches proposée par défaut. Afin de le faire de manière consistante sur tout le fichier de configuration, et de ne pas avoir à le refaire à chaque installation d’awesome ou écrasement du fichier de configuration, il est possible d’utiliser l'outil suivant qui transformera n’importe quel fichier de configuration :

 #!/bin/sed -f
 s/key = "0"/key = "agrave"/g
 s/key = "1"/key = "ampersand"/g
 s/key = "2"/key = "eacute"/g
 s/key = "3"/key = "quotedbl"/g
 s/key = "4"/key = "apostrophe"/g
 s/key = "5"/key = "parenleft"/g
 s/key = "6"/key = "minus"/g
 s/key = "7"/key = "egrave"/g
 s/key = "8"/key = "underscore"/g
 s/key = "9"/key = "ccedilla"/g

Enregistrez ces lignes dans un fichier awesome-fr.sed et rendez-le exécutable : chmod +x awesome-fr.sed. Pour appliquer les changements dans le fichier de configuration :

./awesome-fr.sed < .awesomerc > .awesomerc-fr
mv .awesomerc-fr .awesomerc

Bien sûr, la solution proposée ci-dessus ne fonctionne que si les touches sont explicitement nommées dans le fichier. Pour awesome 3 et son fichier de configuration Lua, il est cependant tout à fait possible que l’affectation des touches soit faite dans une boucle, les touches de 0 à 9 se prêtant bien à l’exercice. Par exemple :

 for i = 1, keynumber do
    keybinding({ modkey }, i, function ()
       local screen = mouse.screen
       if tags[screen][i] then
          awful.tag.viewonly(tags[screen][i])
       end
    end):add()
    # ...
 end

Dans un tel cas, il est très facile de procéder à la transformation pour le clavier français en définissant un tableau vers le début du fichier de configuration :

 local french_numkeys = {
    [0]="agrave", "ampersand", "eacute", "quotedbl", "apostrophe",
    "parenleft", "minus", "egrave", "underscore", "ccedilla"
 }

La boucle devient alors :

 for i = 1, keynumber do
    keybinding({ modkey }, french_numkeys[i], function ()
       local screen = mouse.screen
       if tags[screen][i] then
          awful.tag.viewonly(tags[screen][i])
       end
    end):add()
    # ...
 end

Pour la variante belge de l’azerty, vous devez employer "section" à la place de "6" et "exclam" pour "8".

Dans tous les cas, n’oubliez d’appliquer les changements en redémarrant awesome : Mod4+Ctrl+r.

[edit] Voir aussi

Quelques astuces sont disponibles à cette adresse : Configuration et utilisation de awesome.

Personal tools