Foire aux questions
From awesome
[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`" }
9menu -file ~/.9menurc
[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.

