Beautiful
From awesome
| Languages: |
English • Français |
Beautiful est une bibliothèque Lua qui vous permet de changer l’apparence d’awesome avec un fichier externe. Il est très simple de changer dynamiquement vos couleurs d’awesome tout entier et le papier peint du bureau, sans changer le contenu du fichier rc.lua.
Cette bibliothèque a été écrite pour des personnes qui aiment changer souvent leurs couleurs ou leur papier peint de bureau sans modifier leurs rc.lua, stocker leurs anciennes valeurs, réécrire les nouvelles, etc.
Beautiful est conçue pour awesome 3 uniquement.
Contents |
[edit] Obtenir beautiful
Actuellement, beautiful est fournie avec awesome 3 ; vous n’avez pas besoin de la récupérer ailleurs. Si vous utilisez la version git d’awesome 3, vous devrez toutefois mettre à jour votre fichier de configuration. Gardez à l’esprit que le fichier rc.lua fourni dans le dépôt git est compatible avec beautiful et n’hésitez pas à vous y reporter pour paramétrer ou mettre à jour votre propre fichier rc.lua.
[edit] Paramétrer beautiful
Tout d’abord, vous devez utiliser :
require('beautiful')
pour inclure la bibliothèque dans votre fichier de configuration.
Ensuite, vous devrez initialiser beautiful avec un fichier de thème, en utilisant :
beautiful.init("chemin_vers_fichier_de_thème")
Un fichier de thème par défaut est fourni ; on le trouve dans /usr/local/share/awesome/themes/default ou /usr/share/awesome/themes/default, suivant votre distribution.
La commande d’initialisation interprète le fichier de thème et remplit la table de hachage (theme["clé"] = valeur).
Awful peut gérer beautiful, ce qui vous éviter de passer de nombreux arguments aux fonctions d’awful dans votre fichier de configuration, mais vous devez d’abord l’enregistrer :
awful.beautiful.register(beautiful)
Vous êtes maintenant prêt. En gros, vous n’avez plus qu’à remplacer chaque définition de variable de couleur par (par exemple) :
bg_focus = beautiful.bg_focus
La fonction beautiful.clé renvoie la valeur value correspondant à la clé de votre fichier de thème.
[edit] Fichier de thème par défaut
Voici le fichier de thème par défaut fourni avec awesome 3 :
-------------------------------- -- Thème par défaut d’awesome -- -------------------------------- font = sans 8 bg_normal = #222222 bg_focus = #535d6c bg_urgent = #ff0000 fg_normal = #aaaaaa fg_focus = #ffffff fg_urgent = #ffffff border_width = 1 border_normal = #000000 border_focus = #535d6c border_marked = #91231c # Il y a d’autres ensembles de variables # qui sont prioritaires sur celles par défaut # quand on les utilise. Ce sont : # [taglist|tasklist]_[bg|fg]_[focus|urgent] # titlebar_[bg|fg]_[normal|focus] # Exemple : #taglist_bg_focus = #ff0000 # Ensembles de variables pour le thème du menu # menu_[bg|fg]_[normal|focus] # menu_[border_color|border_width] # menu_submenu_icon = /usr/local/share/awesome/icons/submenu.png menu_height = 15 menu_width = 100 # Affiche les carrés de la liste d’onglets taglist_squares = true # Vous pouvez ajouter autant de variables # que vous voulez et y accéder en utilisant # beautiful.variable dans votre rc.lua #bg_widget = #cc0000 # Affiche le bouton de fermeture dans la barre de titre titlebar_close_button = true # Définit l’image à charger @ (if titlebar_close_button_[normal|focus] these values are ignored) #titlebar_close_button_img_normal = /usr/local/share/awesome/icons/titlebar/closea.png #titlebar_close_button_img_focus = /usr/local/share/awesome/icons/titlebar/closera.png # Ou créez vos propres boutons de fermeture #titlebar_close_button_normal = <span>...</span> #titlebar_close_button_focus = <span>...</span> # Vous pouvez utiliser votre propre commande #pour mettre en place votre papier peint de bureau wallpaper_cmd = awsetbg /usr/local/share/awesome/themes/default-background.png
Pour commencer à faire votre propre thème, lancez :
cp -r /usr/local/share/awesome/themes ~/.config/awesome/
ou
cp -r /usr/share/awesome/themes ~/.config/awesome/
et n’oubliez pas de changer le chemin vers le fichier de thème dans votre rc.lua :
beautiful.init(os.getenv("HOME") .. "/.config/awesome/themes/default")
[edit] Utilisation
[edit] Variables personnalisées
Vous ne devriez jamais changer les noms de variables par défaut, tels que font ou bg_normal, puisque ces noms sons utilisés par awful et cela pourrait casser votre fichier de configuration. Toutefois, vous pouvez créer autant de variables que vous voulez.
Par exemple, si vous souhaitez changer l’apparence de vos widgets, vous pouvez utiliser :
fg_off_widget = #ffffff fg_widget = #000000 fg_end_widget = #ff0000
et dans votre rc.lua :
my_widget:bar_properties_set("data_name", {
border_color = beautiful.border_normal,
fg_off = beautiful.fg_off_widget,
fg = beautiful.fg_widget,
fg_end = beautiful.fg_end_widget
})
Dans cet exemple, nous avons mélangé des noms de variable de thème par défaut (beautiful.border_normal) et des noms de variables personnalisés (beautiful.*_widget). Vous pouvez imaginer créer vos propres icônes et autres. Mais soyez conscient du fait que si vous commencez à utiliser des variables personnalisées dans votre rc.lua, vous devrez les définir aussi dans chaque fichier de thème, sinon cela cassera votre fichier de configuration.
[edit] Paramétrer votre papier peint de bureau
Beautiful peut gérer votre papier peint, pour que vous n’ayez pas à le mettre en place dans vos fichiers .xinitrc' ou .xsession par exemple. Cela vous permet d’avoir un papier peint propre à chaque thème. Si vous regardez le fichier de thème par défaut, vous verrez une clé wallpaper_cmd ; la commande donnée est exécutée quand beautiful.init("chemin_vers_fichier_de_thème") est lancé. Vous pouvez mettre à cet endroit votre propre commande, voire enlever ou commenter la clé si vous ne voulez pas que beautiful interfère avec votre moyen de gérer le papier peint.
Par exemple, si vous utilisez fbsetbg pour votre papier peint, vous pouvez écrire :
wallpaper_cmd = fbsetbg -f .config/awesome/themes/awesome-wallpaper.png
[edit] Astuces
[edit] Utilisation de liens symboliques
Comme dit plus haut, beautiful vous éviter d’avoir à éditer votre fichier rc.lua quand vous voulez changer votre thème awesome, ce qui n’est pas tout à fait vrai puisque vous devez changer le chemin vers votre fichier de thème dans la fonction beautiful.init(). Mais vous pouvez créer un lien symbolique vers votre thème actuel et l’utiliser pour initialiser beautiful ; de cette manière, vous n’aurez plus qu’à faire pointer ce lien vers un autre fichier et relancer awesome (Super+Ctrl+R par défaut) pour changer de thème.
Mais vous pouvez même écrire une fonction pour remplir un memu popup awful.menu vous permettant de changer de thème. Supposons que votre chemin de thème est :
home_dir = os.getenv("HOME")
beautiful.init(awful.util.getdir("config") .. "/theme_actuel/theme")
Dans ce cas, écrivez :
mythememenu = {}
function theme_load(theme)
local cfg_path = awful.util.getdir("config")
-- Crée un lien symbolique depuis le thème donné vers /home/utilisateur/.config/awesome/theme_actuel
awful.util.spawn("ln -sf " .. cfg_path .. "/themes/" .. theme .. " " .. cfg_path .. "/theme_actuel")
awesome.restart()
end
function theme_menu()
-- Liste vos fichiers de thème et remplit le tableau du menu
local cmd = "ls -1 " .. awful.util.getdir("config") .. "/themes/"
local f = io.popen(cmd)
for l in f:lines() do
local item = { l, function () theme_load(l) end }
table.insert(mythememenu, item)
end
f:close()
end
-- Génère votre tableau au (re)démarrage
theme_menu()
-- Modifie votre menu awesome pour ajouter votre sous-menu de thème
myawesomemenu = {
{ "Manuel", terminal .. " -e man awesome" },
{ "Configuration (rc.lua)", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" },
{ "Thèmes", mythememenu },
{ "Recharger la config", awesome.restart },
{ "Quitter", awesome.quit }
}
[edit] Partagez vos thèmes
N’hésitez pas à partager vos propres thèmes avec la communauté grandiose d’awesome !

