Widgets dans awesome
Contents |
Un widget, c’est quoi ?
Les widgets dans awesome sont des objets que vous pouvez ajouter aux barres de statut et aux barres de titres. Ils peuvent fournir de nombreuses informations sur votre système et sont utiles pour accéder à ces informations depuis votre gestionnaire de fenêtres. Les widgets sont faciles à utiliser et offrent un très grand atout niveau flexibilité.
Création de widgets
Les widgets, comme les onglets, si on ne les ajoute nulle part, ils ne servent à rien du tout. Pour créer un widget, utilisez la fonction widget() :
mytextbox = widget({ type = "textbox", name = "mytextbox" })
mytextbox contient maintenant un objet « widget ». Dans le cas présent d’une boîte textuelle, vous pouvez changer le paramètre de texte de cette façon :
mytextbox.text = "Hello, world!"
Cette ligne a pour effet d’affecter la chaîne « Hello, world! » au texte à afficher par le widget.
Contrôler des widgets
Dans le fichier rc.lua, les widgets sont d’habitude créés en les liant à chaque écran physique. Si vous voulez contrôler sur quel écran ils sont placés, alors vous pouvez modifier le code qui les lie aux écrans.
Par exemple, si vous voulez que la barre de statut apparaisse sur l’écran nº2 au lieu du nº1, vous pouvez changer la ligne du fichier rc.lua qui mentionne la barre de statut en remplaçant :
s == 1 and mysystray or nil }
par
s == 2 and mysystray or nil }
Types de widgets
Les types suivants de widget existent actuellement :
- textbox
- affiche un morceau de texte. C’est le type de widget le plus courant.
- imagebox
- affiche une image au format .png.
- appicon
- une icône que vous pouvez mettre sur une barre de statut en tant que lanceur.
- graph
- affiche un ou plusieurs graphiques avec des données qui fluctuent au cours du temps.
- Exemple de configuration :
mygraph = widget({ type = "graph", align = "right" })
mygraph.width = 70
mygraph.height = 0.90
mygraph.grow = "left"
mygraph.bg = beautiful.mygraph_bg
mygraph.border_color = beautiful.mygraph_border_color
mygraph:plot_properties_set("total",
{
["fg"] = "#336699cc",
["fg_center"] = beautiful.mygraph_total_center,
["fg_end"] = beautiful.mygraph_total_end,
["vertical_gradient"] = true,
["scale"] = false,
["max_value"] = "100.0",
["style"] = "bottom"
})
- progressbar
- affiche une ou plusieurs barres de progression.
- Exemple de configuration :
myprogressbar = widget({ type = "progressbar", align = "right" })
myprogressbar.width = 28
myprogressbar.height = 0.90
myprogressbar.gap = 0
myprogressbar.border_padding = 0
myprogressbar.border_width = 1
myprogressbar.ticks_count = 0
myprogressbar.vertical = true
myprogressbar:bar_properties_set("root",
{
["bg"] = beautiful.myprogressbar_root_bg,
["fg"] = beautiful.myprogressbar_root_fg,
["fg_center"] = beautiful.myprogressbar_root_fg_center,
["fg_end"] = beautiful.myprogressbar_root_fg_end,
["fg_off"] = beautiful.myprogressbar_root_fg_off,
["border_color"] = beautiful.myprogressbar_root_border_color,
["min_value"] = "50.0",
["max_value"] = "100.0",
["reverse"] = false
})
- systray
- affiche une zone de notification, où les programmes peuvent mettre leurs icônes.
- taglist
- Liste tous les onglets assignés à l’écran actuel.
- tasklist
- Liste un ensemble des fenêtres, en général seulement celles sur l’onglet actuel.