Awesome est un window manager léger.
Actuellement, Aweome est disponible en version 2 sur sid et en version 3 dans les dépôts expérimentals.
Cette page est destinée à la version 3 sur Debian Sid.
Certains éléments sont encore en expérimental donc il se peut que vous aillez des comportements innantendus, néanmoins dans l'ensemble cela fonctionne bien!
Installer Awesome 3 depuis les dépôts expérimental
Rajouter les dépôts expérimentals, si vous ne les avez pas
Exemple dans le fichier /etc/apt/sources.list ajouter les lignes suivantes :
Code : Tout sélectionner
deb http://ftp.it.debian.org/debian/ experimental main contrib non-free
deb http://www.debian-multimedia.org/ sid main
Code : Tout sélectionner
aptitude update
Code : Tout sélectionner
aptitude install awesome -t experimental
- Télécharger wicked.lua.txt
- Copier wicked.lua.txt dans /usr/share/awesome/lib/ (Retirer l'extension txt)
- Créer le dossier /usr/share/awesome/themes/cap/
- Télécharger le fichier default.txt en pièce jointe et placer le dans ce nouveau dossier.
- Retirer l'extension txt du fichier default.txt
- Editer /usr/share/awesome/themes/cap/
- Chercher la ligne suivante (à la fin) :
Code : Tout sélectionner
-- set your wallpaper
wallpaper_cmd = awsetbg -a -r /home/malekalmorte/pics/wallpapers/
- Modifier le chemin afin de pointer sur votre dossier contenant vos wallpaper.
Vous devez aussi y personnaliser le chemin contenant vos wallpaper :
Chercher la ligne suivante et modifier le répertoire contenants vos wallpaper
Code : Tout sélectionner
-- TODO: modifier le dossier contenant les wallpapers
keybinding({ modkey }, "a", function () awful.spawn("awsetbg -a -r /home/malekalmorte/pics/wallpapers/") end):add()
Pour rendre votre bureau plus attrayant, il est possible d'ajouter la transparence en utilisant xcompmgr (à installer donc avec aptitude).
Note pour que la transparence fonctionne, vous devez ajouter (s'ils n'existent pas déjà), les éléments suivants dans votre fichier de configuration X11 (/etc/X11/xorg.conf) :
Les options suivantes dans la section Device :
Code : Tout sélectionner
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Code : Tout sélectionner
Section "Extensions"
Option "Composite" "Enable"
EndSection
Code : Tout sélectionner
xcompmgr -fF -D6 -cC -t -5 -l-6 -r5&
Vous pouvez ensuite modifier l'aspect des fenêtres/boutons en chargeant de nouveaux thèmes GTK depuis les sites "habituels" : Ces derniers sont à copier dans /usr/share/themes
modifier alors le fichier ~/.gtkrc-2.0
Code : Tout sélectionner
# DO NOT EDIT! This file will be overwritten by LXAppearance.
# Any customization should be done in ~/.gtkrc-2.0.mine
gtk-theme-name="Carbonfibre"
gtk-icon-theme-name="Xquisite"
gtk-font-name="Sans 9"
gtk-toolbar-style=0
include "/home/malekalmorte/.gtkrc-2.0.mine"
Aperçu rapide et configuration de rc.lua
Voici quelques éléments sur la configuration d'Awesome et le contenu du fichier rc.lua qui peuvent vous aider à personnaliser votre installation.
Note : les commentaires dans le fichier de configuration se font avec -- et non #
Cette partie définit les applications qui seront automatiquement lancées à l'ouverture d'Awesome :
Code : Tout sélectionner
os.execute ("xcompmgr -fF -D6 -cC -t -5 -l-6 -r5&")
os.execute ("xfce4-terminal&")
os.execute ("xchat&")
os.execute ("iceweasel&")
os.execute ("evolution&")
os.execute ("mousepad ~/procedures&")
Code : Tout sélectionner
-- Applications to be moved to a pre-defined tag by class or instance.
-- Use the screen and tags indices.
apptags =
{
["Iceweasel"] = { screen = 1, tag = 2 },
["xfce4-terminal"] = { screen = 1, tag = 1 },
["xchat"] = { screen = 1, tag = 1 },
["mousepad"] = { screen = 1, tag = 3 },
["evolution"] = { screen = 1, tag = 4 },
}
XChat dans le tag 1 (bureau 1).
etc.
Il est possible d'avoir une barre de tâches donnant la liste des applications ouvertes.
Dans le fichier de configuration fournit, la barre de tâches est désactivée.
Pour la réactiver, décommenter les lignes suivantes (enlever les --) :
Code : Tout sélectionner
--- Wibox du bas
-- Create a tasklist widget
-- mytasklist[s] = awful.widget.tasklist.new(awful.widget.tasklist.label.allscreen, mytasklist.buttons)
-- taskbarbox[s] = wibox({ position = "bottom", fg = beautiful.fg_normal, bg = beautiful.bg_normal })
-- taskbarbox[s].widgets = {
-- mytextbox,
-- mytasklist[s] }
-- taskbarbox[s].screen = s
Code : Tout sélectionner
keybinding({ modkey }, "m", awful.client.maximize):add()
keybinding({ modkey }, "f", function () if client.focus then client.focus.fullscreen = not client.focus.fullscreen end end):add()
keybinding({ modkey, "Shift" }, "c", function () if client.focus then client.focus:kill() end end):add()
Quelques touches utiles :
- MOD4 + touche gauche/droite : vous déplace d'un bureau à l'autre.
- MOD4 + tabulation : déplace le focus d'une application à l'autre dans le bureau actif.
- MOD4 + Souris : déplace la fenêtre de l'application.
- MOD4 + Shift + F1/F2/F3 : jète l'application sur le bureau 1/2/3
- MOD4 + Backspace : permet de lancer une appplication.
- MOD4 + Shift + C : ferme l'application en cours
- MOD4 + Ctrl + R : Relance Awesome sans fermer X ou les applications en cours.
- MOD4 + barre d'espace : déplace les fenêtres dans le bureau actif.
Bien entendu, vous pouvez modifier les touches en modifiant sur le fichier rc.lua
Quelques captures d'un Desktop sous Awesome :
Adresse des Wallpaper des captures : http://titusboy25.deviantart.com/gallery/
Vous pouvez partager votre bureau sur le topic : Capture d'écran de votre bureau!
Quelques liens :
- Site officiel : http://awesome.naquadah.org/
- Awesome wiki : http://awesome.naquadah.org/wiki/index. ... =Main_Page
- Wiki ArchLinux sur Awesome : http://wiki.archlinux.org/index.php/Awesome
EDIT 28/02/2009 : Awesome version 3.2
Awesome 3.2 est sorti sur sur les dépots unstable Sid.
Quelques modifications de syntaxe dans le fichier de configuration sont présentes, si vous utilisez le fichier rc.lua pour la version 3.1 cela ne fonctionnera pas.
En outre, keybinding a disparu et un système de globalkeys et clientkeys a été ajouté.
Ci-joint vous trouverez un fichier rc.lua pour la version 3.2
Quelques commentaires, j'ai changé quelques touches raccourcis :
- Mod4 + c : Ferme une application
- Mod4 + w : Bascule sur l'application en arrière plan dans le cas où les applis sont en float.
- Mod4 + x : Ajoute la transparence sur l'application ayant le focus (voir plus bas)
- Mod4 + = : Augmente le volume (voir plus bas)
- Mod4 + Shift + = : Diminue le volume (voir plus bas)
Commentaire concernant la transparence... sur la version 3.1 le fait de lancer xcompmgr permettait d'avoir la transparence sur toutes les fenêtres..
Ce n'est apparement plus le cas depuis la version 3.2 (du moins chez moi), il existe un programme transset qui permet en cliquant de rajouter la transparence sur une application.
Un programme amélioré transset-df permet de faire de même, augmenter ou diminuer le gamma etc mais aussi de rajouter la transparence sur l'application ayant le focus...
Via unes touches raccourcis il est donc possible de rajouter la transparence sur l'application ayant le focus (ce qui évite de choisir l'application en cliquant comme c'est le cas avec transset)
On peut aussi faire des touches raccourcis pour augmenter/diminuer le gamma.
Un paquet transset-df pour Debian est disponible à cette adresse : http://crunchbang.org/wiki/CrunchBangLi ... kages804xx
Informations, commandes etc : http://www.forchheimer.se/transset-df/
La touche qui permet d'ajouter la transparence :
Code : Tout sélectionner
table.insert(globalKeys, key({ modMask } , "x" , function () awful.util.spawn("transset-df -m 0.5 -p") end))
...et le son
Dans le fichier de configuration pour la version 3.2 vous trouverez aussi deux touches pour augmenter/diminuer le son.
Ceci se fait à partir d'un script, voir : http://bbs.archlinux.org/viewtopic.php?id=46608
Vous devez installer le package dzen2
Script à placer par exemple dans /usr/bin et le rendre exécutable avec un chmod +x
La barre est rendu via les commandes dbar ou gdbar, sur Debian ceci est à modifier par dzen2-dbar ou dzen2-gbar dans le script.
note : en début de script, vous pouvez régler quelques variables pour choisir quel volume est à modifier (général, Wave, PCM etc), le temps où la barre reste à l'écran et sa position.
Code : Tout sélectionner
#Customize this stuff
IF="Master"
SECS="5"
FONT="fixed"
BG="grey"
FG="black"
XPOS="550"
YPOS="400"
WIDTH="205"

EDIT 11/03/2009 : Ajouts des icones...
Quelques exemples d'ajouts d'icones dans la barre supérieurs renvoyant la température, le voume et l'utilisation mémoire et CPU.
Dans un premier temps, vous devez récupérer les icones en pièce jointe dans ce post sous le nom de fichiers icones.zip (rien ne vous empêche d'en prendre d'autres).
Les icones sont déclarées comme ceci :
Code : Tout sélectionner
icon_temp = os.getenv("HOME").."/.config/awesome/icons/temp.png"
icon_vol = os.getenv("HOME").."/.config/awesome/icons/vol.png"
icon_mem = os.getenv("HOME").."/.config/awesome/icons/mem.png"
icon_cpu = os.getenv("HOME").."/.config/awesome/icons/cpu.png"
Si vous désirez les stocker dans le dossier themes d'awesome, il faudra alors les déclarer comme ceci :
Code : Tout sélectionner
icon_mem = beautiful.icon_mem or awful.util.getdir("config") .. "/themes/default/icons/mem.png"
La récupération des autres éléments (cpu, mémoire etc) repose sur le même principe.
Code : Tout sélectionner
-- Volume
volume_icon = widget({ type = "imagebox", name = "volume_icon", align = "right" })
volume_icon.image = image(icon_vol)
volume_widget = widget({ type = "textbox", name = "volume_widget", align = "right" })
wicked.register(volume_widget, "function", function (widgets, args)
local cmd = "amixer get Master | grep \"Front Left:\""
local f = io.popen(cmd);
local l = f:read();
f:close();
local t
if string.find(l, "off") then
volume_icon.visible = false
volume_widget.visibible = false
return ""
else
volume_icon.visible = true
volume_widget.visible = true
local pattern = "%d+%d%%"
return string.sub(l, string.find(l, pattern))
end
end, 1);
Si off est contenu (string.find(l, "off") on considère que le volume est désactivé sinon on récupère le volume avec les %
return renvoit alors la valeur.
Les icones et le widgets sont ensuite affichés sous forme de liste dans mywibox[s].widgets un peu plus bas dans le fichier rc.lua.
Vous pouvez donc afficher les éléments dans l'ordre souhaité à ce niveau du fichier.
Code : Tout sélectionner
-- Add widgets to the wibox - order matters
mywibox[s].widgets = {
-- mylauncher,
mytaglist[s],
mypromptbox[s],
mytextbox,
fswidget,
netwidget,
temp_icon,
temp_widget,
memp_icon,
memp_widget,
cpup_icon,
cpup_widget,
cpugraphwidget,
volume_icon,
volume_widget,
mylayoutbox[s],
s == 1 and mysystray or nil }
les modules relatifs à votre matériel doivent être chargé.
Un grep est fait sur le type de CPU dans mon cas AMD, si vous avez un processeur intel, il faudrait modifier le grep pour récupérer la ligne avec la température de votre processeur.
Vous pouvez tester la commande en ligne de commande.
Code : Tout sélectionner
local cmd = "sensors|grep \"CPU Temp (AMD)\"|grep -Eo \"[0-9]+\.[0-9]+°C\"|head -1"
Un exemple de capture avec les icônes :