Widgets dans awesome

From awesome
Jump to: navigation, search

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.
Personal tools