#26 Le 16/06/2010, à 17:53
- ferreol
Re : Postez vos scripts Lua pour Conky !
je poste le mien en texte oblique:
Uploaded with ImageShack.us
Text.lua dans home : optimisé pour une resol 1920 x 1080
--[[
Conky Widgets by londonali1010 (2009)
Call this script in Conky using the following before TEXT (assuming you save this script to ~/scripts/conky_widgets.lua):
lua_load ~/Scripts/conky_widgets.lua
lua_draw_hook_pre load_text ]]
require 'cairo'
function draw_text()
if conky_window==nil then return end
local w=conky_window.width
local h=conky_window.height
local cs=cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, w, h)
cr=cairo_create(cs)
-- Font
cairo_select_font_face (cr, "OASIS", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
-- font size
cairo_set_font_size (cr, 30.0);
--font color
cairo_set_source_rgba (cr, 0.192156863, 0.180392157, 0.156862745, 1);
cairo_translate (cr, -0.0, 0.0);
-- angle
cairo_rotate(cr,-0.52);
-- text position
cairo_move_to (cr, -150.0, 770.0);
-- shown text
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, -200.0, 750.0);
cairo_set_source_rgba (cr, 0.325490196, 0.258823529, 0.035294118, 0.2);
cairo_show_text (cr, 'IP');
cairo_move_to (cr, -200.0, 800.0);
cairo_set_source_rgba (cr, 0.192156863, 0.180392157, 0.156862745, 0.7);
cairo_set_font_size (cr, 30.0);
cairo_show_text (cr, conky_parse('${addr eth0}'));
cairo_move_to (cr, 250.0, 950.0);
cairo_set_source_rgba (cr, 0.325490196, 0.258823529, 0.035294118, 0.4);
cairo_set_font_size (cr, 30.0);
cairo_show_text (cr, conky_parse('${time %d %B %Y %H:%M}'));
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 950.0, 1490.0);
cairo_set_source_rgba (cr, 0.192156863, 0.180392157, 0.156862745, 0.7);
cairo_show_text (cr, conky_parse('${cpu cpu1}%'));
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 930.0, 1450.0);
cairo_set_source_rgba (cr, 0.325490196, 0.258823529, 0.035294118, 0.2);
cairo_show_text (cr, 'CPU1');
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 490.0, 1280.0);
cairo_set_source_rgba (cr, 0.192156863, 0.180392157, 0.156862745, 0.7);
cairo_show_text (cr, conky_parse('${cpu cpu2}%'));
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 450.0, 1230.0);
cairo_set_source_rgba (cr, 0.325490196, 0.258823529, 0.035294118, 0.2);
cairo_show_text (cr, 'CPU2');
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 55.0, 650.0);
cairo_set_source_rgba (cr, 0.192156863, 0.180392157, 0.156862745, 0.7);
cairo_show_text (cr, conky_parse('${mem}'));
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 60.0, 600.0);
cairo_set_source_rgba (cr, 0.325490196, 0.258823529, 0.035294118, 0.2);
cairo_show_text (cr, 'RAM');
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 980.0, 885.0);
cairo_set_source_rgba (cr, 0.192156863, 0.180392157, 0.156862745, 0.7);
cairo_show_text (cr, conky_parse('${fs_free /}'));
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 975.0, 835.0);
cairo_set_source_rgba (cr, 0.325490196, 0.258823529, 0.035294118, 0.3);
cairo_show_text (cr, 'ROOT');
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 1150.0, 1285.0);
cairo_set_source_rgba (cr, 0.192156863, 0.180392157, 0.156862745, 0.7);
cairo_show_text (cr, conky_parse('${fs_free /media/windata}'));
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 1150.0, 1235.0);
cairo_set_source_rgba (cr, 0.325490196, 0.258823529, 0.035294118, 0.3);
cairo_show_text (cr, 'WIN');
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, -250.0, 1105.0);
cairo_set_source_rgba (cr, 0.192156863, 0.180392157, 0.156862745, 0.7);
cairo_show_text (cr, conky_parse('${fs_free /media/data}'));
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, -300.0, 1060.0);
cairo_set_source_rgba (cr, 0.325490196, 0.258823529, 0.035294118, 0.7);
cairo_show_text (cr, 'Data 1To');
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 555, 705.0);
cairo_set_source_rgba (cr, 0.192156863, 0.180392157, 0.156862745, 0.7);
cairo_show_text (cr, conky_parse('${fs_free /media/back}'));
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 550.0, 660.0);
cairo_set_source_rgba (cr, 0.325490196, 0.258823529, 0.035294118, 0.3);
cairo_show_text (cr, 'Backup');
local file = io.open("/tmp/my_ip.txt","r")
local ip_txt
if file ~= nil then
ip_txt = file:read("*l")
end
if ip_txt~=nil then
cairo_set_font_size (cr, 30.0);
cairo_move_to (cr, 250.0, 1400.0);
cairo_set_source_rgba (cr, 0.325490196, 0.258823529, 0.035294118, 0.2);
cairo_show_text (cr, ip_txt);
end
io.close()
cairo_stroke (cr);
end
function conky_load_text()
if conky_window==nil then return end
local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
local cr=cairo_create(cs)
local updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num>5 then
draw_text()
end
end
Hors ligne
#27 Le 16/06/2010, à 22:24
- wlourf
Re : Postez vos scripts Lua pour Conky !
Pour l'horloge, il n'y a rien d'exceptionnel, j'ai repris le script "conky-rings" ici: http://conky.linux-hardcore.com/beginne … nky-1-7-2/
et je l'ai un peu modifié.. En revanche je n'ai toujours pas trouvé comment faire les aguilles même avec le lien que tu m'as donné. Je dois avoué que je ne sais pas programmé en lua, je reprends juste des scripts
tu peux ajouter ceci à la fin de ta fonction principale conky_ring_stats() ça appelera la fonction qui dessine les aiguilles
clock_r=125
clock_colour=0xFF0000
clock_alpha=1
draw_clock_hands(cr,165,170)
cairo_destroy(cr)
end
et coller le code de la fonction draw_clock_hands à la fin de ton script.
pour rythmbox je n'utilise pas
pour le réseau, Je me rappelle que Zorg avait posté une astuce que le topic des conky je crois : il detecte la présence d'un fichier à la place de $if_up, tente ta chance là bas !
Edit : pour le net, je suis tombé dessus par hasard sur un autre forum :
${if_existing /proc/net/route eth0}
Dernière modification par wlourf (Le 16/06/2010, à 22:49)
Hors ligne
#28 Le 21/06/2010, à 06:09
- chepioq
Re : Postez vos scripts Lua pour Conky !
Bonjour,
Je viens vous rapporter un soucis que j'ai avec les scripts lua:
Je teste actuellement la rawhide de fedora (la future F14) et il y a eu une mise à jour vers kde 4.4.85 (le futur kde4.5)
Avec cette version de kde, certain script lua ne s'affiche pas dans mes conky, par exemple pour le script calendrier de wlourf j'ai juste une fenêtre noire, sans rien dedans et aucun message d'erreur en console.
Le conky calendrier que j'ai fait avec l'image de la lune (avec le script square_to_round.lua) fonctionne à moitié:
j'ai l'image de la lune, mais pas le calendrier... (et pas de message d'erreur)
Par contre le conky texte et le conky rings-var de wlourf s'affichent correctement...
Sur ma F13 et kde 4.4.4 tout fonctionne normalement...
J'en viens donc à penser qu'il y a un soucis avec le calendrier.lua de wlourf et kde 4.4.85, mais franchement, j'ai cherché mais je ne trouve pas...
Tout est dans tout et réciproquement....
Hors ligne
#29 Le 23/06/2010, à 18:08
- soza971
Re : Postez vos scripts Lua pour Conky !
J'ai regardé mais j'ai pas réussi à le réutiliser:/
Voici ce que donne mon conky pour l'instant
http://pix.louiz.org/upload/original/1276611391.png
Il reste la récupération de l'image de l'album.. son redimensionnement avec imagick
C'est loin d'être fini
salut je pourrais avoir ton script lua , surtout la partie CPU et le code du conky
Asus U80V Obuntu 10.04 64bits
Hors ligne
#30 Le 24/06/2010, à 22:42
- wlourf
Re : Postez vos scripts Lua pour Conky !
Bonsoir,
Mise à jour du text widget au post n°15, ajout de déformation sur x et y comme on peut voir sur l'image, par contre impossible de faire une vraie perspective et ajout de la réflexion (j'aime bien celle là), tout est expliqué en début de script (j'espère que c'est assez clair!)
et la config pour cette image:
text_settings={
--DEBUT DES PARAMETRES
{--texte avec réflexion,
text=conky_parse("${time %H:%M:%S}"),
x=50,
y=50,
font_name="Japan",
font_size=50,
colour={{0,0xFF0000,1},{1,0xCCCCCC,1}},
orientation="nn",
reflection_alpha=0.8,
reflection_length=1,
reflection_scale=1,
},
{--texte avec réflexion + grande (scale=2) mais pas complète (length=0.5)
text=conky_parse("${time %H:%M:%S}"),
x=50,
y=150,
font_name="Japan",
font_size=50,
colour={{0,0xFF0000,1},{1,0xCCCCCC,1}},
orientation="nn",
reflection_alpha=0.8,
reflection_length=0.5,
reflection_scale=2,
},
{--rotation sur x
text=conky_parse("${time %H:%M}"),
x=50,
y=250,
font_name="Japan",
font_size=50,
colour={{0,0xFF0000,1},{1,0xCCCCCC,1}},
orientation="nn",
rotx=10
},
{--rotation sur y
text=conky_parse("${time %H:%M}"),
x=200,
y=250,
font_name="Japan",
font_size=50,
colour={{0,0xFF0000,1},{1,0xCCCCCC,1}},
orientation="nn",
roty=20
},
{--rotation sur x-y
text=conky_parse("${time %H:%M}"),
x=50,
y=350,
font_name="Japan",
font_size=50,
colour={{0,0xFF0000,1},{1,0xCCCCCC,1}},
orientation="nn",
roty=20,
rotx=30
},
{--rotation sur x-y
text=conky_parse("${time %H:%M}"),
x=150,
y=450,
font_name="Japan",
font_size=50,
colour={{0,0xFF0000,1},{1,0xCCCCCC,1}},
orientation="nn",
roty=-20,
rotx=-30,
reflection_alpha=0.8
},
}
Hors ligne
#31 Le 25/06/2010, à 00:17
- Leyna
Re : Postez vos scripts Lua pour Conky !
wlourf merci pour tes tutos ils sont supers! En plus tu fais du pas à pas, c'est parfait c'est comme si j'avançais chapitre par chapitre ^^
Hors ligne
#32 Le 25/06/2010, à 06:08
- chepioq
Re : Postez vos scripts Lua pour Conky !
@wlourf
Bonjour,
as tu une idée à propos du problème que j'ai exposé post #28 ?
Tout est dans tout et réciproquement....
Hors ligne
#33 Le 25/06/2010, à 09:38
- Vermouth
Re : Postez vos scripts Lua pour Conky !
Fort intéressant ce topic !
Mois qui suis fan du lua avec conky !
Je suis en train de le refaire d'ailleurs (mon conky).
Je vous posterai tout ça !
Android !
\_/°<
coin coin...
Hors ligne
#34 Le 25/06/2010, à 11:10
- wlourf
Re : Postez vos scripts Lua pour Conky !
@lena, tutos est un bien grand mot ! mais j'essaye de faire des choses assez faciles à paramétrer ! faut me dire si c'est pas le cas.
@chepioq, désolé je n'utilise pas du tout kde ... si tu n'as pas de message d'erreurs, as-tu essayé de lancer un conky minimal pour ce qui est des paramètres de fenêtres:
#own_window_type desktop
#own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
own_window yes
#own_window_transparent yes
#own_window_argb_visual yes
@vermouth, j'ai vu tes scripts, il y en a des biens mais j'ai un peu de mal avec les "instances" que tu utilises
Hors ligne
#35 Le 25/06/2010, à 12:54
- Vermouth
Re : Postez vos scripts Lua pour Conky !
@vermouth, j'ai vu tes scripts, il y en a des biens mais j'ai un peu de mal avec les "instances" que tu utilises
Tu fait un SpaceDisc perso ?
Android !
\_/°<
coin coin...
Hors ligne
#36 Le 25/06/2010, à 17:07
- wlourf
Re : Postez vos scripts Lua pour Conky !
oui, j'ai essayé d'afficher le cpu avec ça
local exemple = SpaceExemple:new(conky_parse("$cpu"), Color:new(0.7, 0.3, 0.5), 25, 130, 50)
mais ça marche pas surement parceque "local exemple" n'est pas dans une fonction... mais sinon en relisant j'ai compris le principe de ton script avec objets et instances...
Hors ligne
#37 Le 25/06/2010, à 19:19
- soza971
Re : Postez vos scripts Lua pour Conky !
salut a vous je cherches les codes pour les ano.lua et les conky adapté download et upload svp vous auriez?
Dernière modification par soza971 (Le 25/06/2010, à 19:20)
Asus U80V Obuntu 10.04 64bits
Hors ligne
#38 Le 25/06/2010, à 19:41
- Vermouth
Re : Postez vos scripts Lua pour Conky !
oui, j'ai essayé d'afficher le cpu avec ça
local exemple = SpaceExemple:new(conky_parse("$cpu"), Color:new(0.7, 0.3, 0.5), 25, 130, 50)
mais ça marche pas surement parceque "local exemple" n'est pas dans une fonction... mais sinon en relisant j'ai compris le principe de ton script avec objets et instances...
ça ne marche pas car conky_parse("$cpu") renvoie une chaine et le SpaceExemple à besoin d'un nombre en premier paramètre.
Utilise la fonction tonumber pour convertir la chaine (qui représente un nombre) en nombre (attention:la fonction renvoie nil en cas d'échec donc là aussi faut vérifier que le résultat est pas nil si le cas peu se produire).
Après au niveau de mon code, j'ai fait un peu de POO. Si tu veux plus bien comprendre jette un oeil à PIL, les point 16, 16.1, 16.2, 16.3 suffise à bien comprendre. Si t'a déjà fait du POO javascript ça s'en rapproche (langage à prototype).
Android !
\_/°<
coin coin...
Hors ligne
#39 Le 25/06/2010, à 21:22
- chepioq
Re : Postez vos scripts Lua pour Conky !
@chepioq, désolé je n'utilise pas du tout kde ... si tu n'as pas de message d'erreurs, as-tu essayé de lancer un conky minimal pour ce qui est des paramètres de fenêtres:
#own_window_type desktop #own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below own_window yes #own_window_transparent yes #own_window_argb_visual yes
Cela ne change rien, toujours pas de calendrier, pourtant la même configuration fonctionne sur ma F13 avec kde 4.4.5...
Je pense que cela doit être un manque (de quoi je ne saurai le dire) dans kde 4.4.85.
Vu que c'est encore en développement, je vais attendre la prochaine mise à jour et voir ce que cela donnera...
Je te tiens au courant de toute façon...
Tout est dans tout et réciproquement....
Hors ligne
#40 Le 26/06/2010, à 19:33
- chepioq
Re : Postez vos scripts Lua pour Conky !
Bonsoir...
J'ai résolu le problème, mais je ne sais pas trop comment l'expliquer...
Pour faire court, j'utilisai un calendar.lua ancienne génération, celui qui n'avait pas la possibilité de faire un dégradé de couleur dans les textes (qui fonctionne donc sur kde 4.4.5 et pas sur kde 4.4.85)
Je l'ai changé pour ta dernière version, que j'ai téléchargé ici: http://ubuntuforums.org/showpost.php?p= … ount=12648 et là miracle cela fonctionne sur kde 4.4.5 et kde 4.4.85.
Ne me demande pas pourquoi, je serai bien incapable de donner une explication...
Tout est dans tout et réciproquement....
Hors ligne
#41 Le 27/06/2010, à 11:32
- soza971
Re : Postez vos scripts Lua pour Conky !
Bonjour j'ai un problème avec un anneau .lua qui ne s'affiche pas je cherche ce kil faut mettre dans le ".lua"
Uploaded with ImageShack.us
voici le code conky
#Fonctionnement de conky
total_run_times 0 #Temps en secondes ; 0 = toujours actif
background yes #Pour que conky tourne en arrière plan ; no = pour les tests
#Réglages système
cpu_avg_samples 1 #Nb d'échantillons pour calculer la moyenne d'utilisation CPU
net_avg_samples 2 #Nb d'échantillons pour calculer la moyenne d'utilisation CPU
#Mémoire
double_buffer yes #Éviter le clignotement
no_buffers yes #Soustraire les mémoires tampons de la mémoire utilisée
text_buffer_size 1024 #Taille du cache pour le texte
#Affichage
out_to_console no #Affiche le texte sur la sortie standard
update_interval 1 #Taux de rafraîchissement de la fenêtre (s)
#Fenêtre conky
alignment top_left #Alignement
#---
minimum_size 130 130 #Taille minimum (px) ; largeur / hauteur
maximum_width 130 #Largeur maximum (px)
#---
gap_x 360 #Écart avec le bord gauche / droit
gap_y 550 #Écart avec le bord haut / bas
#---
draw_shades no #Afficher les ombres
draw_outline no #Afficher les contours de fenêtre
draw_borders no #Afficher des contours autour des blocs de texte
border_width 1 #Largeur du contour
border_inner_margin 1 #Largeur des marges
#---
own_window yes #Utiliser sa propre fenêtre
own_window_type override #Type de fenêtre ; normal / override / desktop
own_window_transparent yes #Pseudo transparence
#Mise en forme
use_xft yes #Utiliser Xft (polices lissées etc)
xftalpha .1 #Utiliser Xft
override_utf8_locale yes #Force l'UTF8
uppercase no #Tout le texte en majuscule
use_spacer left #Ajoute des espaces après certains objets (qu'avec des polices fixes)
#---
xftfont saxMono:size=9 #Police par défaut
#---
stippled_borders 5 #Taille des pointillés
#Couleurs
default_color 000000 #Couleur par défaut
default_shade_color 333333 #Couleur des ombres
default_outline_color black #Couleur des contours
#---
color1 606060 #Gris
color2 99FF99 #Near black
#---
short_units yes #Unités courtes
pad_percents 2 #Unité à 2 décimales
#Lua Load
lua_load /home/soza/.conky/ano10.lua
lua_draw_hook_pre ring_stats
TEXT
${color}${offset 45}${voffset 40}MB
${color2}${offset 35}${voffset 20} ${exec sensors | grep temp1 | cut -c15-16} °C
et le code lua
--[[
Ring Meters by londonali1010 (2009)
This script draws percentage meters as rings. It is fully customisable; all options are described in the script.
IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement on line 145 uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num>5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num>3; conversely if you update Conky every 0.5s, you should use update_num>10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.
To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):
lua_load ~/scripts/rings-v1.2.lua
lua_draw_hook_pre ring_stats
Changelog:
+ v1.2 -- Added option for the ending angle of the rings (07.10.2009)
+ v1.1 -- Added options for the starting angle of the rings, and added the "max" variable, to allow for variables that output a numerical value rather than a percentage (29.09.2009)
+ v1.0 -- Original release (28.09.2009)
]]
settings_table = {
{
name='exec sensors',
arg='grep temp1',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=44,
thickness=6,
start_angle=270,
end_angle=450
},
}
require 'cairo'
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function draw_ring(cr,t,pt)
local w,h=conky_window.width,conky_window.height
local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']
local angle_0=sa*(2*math.pi/360)-math.pi/2
local angle_f=ea*(2*math.pi/360)-math.pi/2
local t_arc=t*(angle_f-angle_0)
-- Draw background ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
cairo_set_line_width(cr,ring_w)
cairo_stroke(cr)
-- Draw indicator ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
cairo_stroke(cr)
end
function conky_ring_stats()
local function setup_rings(cr,pt)
local str=''
local value=0
str=string.format('${%s %s}',pt['name'],pt['arg'])
str=conky_parse(str)
value=tonumber(str)
pct=value/pt['max']
draw_ring(cr,pct,pt)
end
if conky_window==nil then return end
local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
local cr=cairo_create(cs)
local updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num>5 then
for i in pairs(settings_table) do
setup_rings(cr,settings_table[i])
end
end
end
Asus U80V Obuntu 10.04 64bits
Hors ligne
#42 Le 27/06/2010, à 20:28
- wlourf
Re : Postez vos scripts Lua pour Conky !
@chepioq, bizarre, bizarre !
@soza :
tu peux simplement mettre :
name='exec sensors | grep temp1 | cut -c15-16',
arg='',
ou
name='exec',
arg='sensors | grep temp1 | cut -c15-16',
qui revient au mếme.
Par contre, j'ai l'impression que tu utilises un conky et un script lua par anneau, c'est peut-être voulu mais tu peux aussi gérer plusieurs anneaux avec un seul script lua:
settings_table = {
{
--paramètres anneau 1 ici : name, arg ...
},
{
--paramètres anneau 2 ici : name, arg ...
},
{
--paramètres anneau 3 ici : name, arg ...
},
}
Dernière modification par wlourf (Le 27/06/2010, à 20:29)
Hors ligne
#43 Le 27/06/2010, à 21:15
- soza971
Re : Postez vos scripts Lua pour Conky !
@chepioq, bizarre, bizarre !
@soza :
tu peux simplement mettre :name='exec sensors | grep temp1 | cut -c15-16', arg='',
ou
name='exec', arg='sensors | grep temp1 | cut -c15-16',
qui revient au mếme.
Par contre, j'ai l'impression que tu utilises un conky et un script lua par anneau, c'est peut-être voulu mais tu peux aussi gérer plusieurs anneaux avec un seul script lua:
settings_table = { { --paramètres anneau 1 ici : name, arg ... }, { --paramètres anneau 2 ici : name, arg ... }, { --paramètres anneau 3 ici : name, arg ... }, }
Merci wlourf c bon le premier code a fonctionné pour la température.
Ensuite c clair g 12 ano donc j'ai fait comme tu as dit mais la bizarrement meme les anneaux simples sont devenus double.
Uploaded with ImageShack.us
voici le code
--[[
Ring Meters by londonali1010 (2009)
This script draws percentage meters as rings. It is fully customisable; all options are described in the script.
IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement on line 145 uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num>5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num>3; conversely if you update Conky every 0.5s, you should use update_num>10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.
To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):
lua_load ~/scripts/rings-v1.2.lua
lua_draw_hook_pre ring_stats
Changelog:
+ v1.2 -- Added option for the ending angle of the rings (07.10.2009)
+ v1.1 -- Added options for the starting angle of the rings, and added the "max" variable, to allow for variables that output a numerical value rather than a percentage (29.09.2009)
+ v1.0 -- Original release (28.09.2009)
]]
settings_table = {
{
name='cpu',
arg='cpu1',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=54,
thickness=7,
start_angle=270,
end_angle=590
},
{
name='platform',
arg='coretemp.0 temp 1',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=44,
thickness=6,
start_angle=270,
end_angle=450
},
{
name='cpu',
arg='cpu2',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=54,
thickness=7,
start_angle=270,
end_angle=590
},
{
name='platform',
arg='coretemp.1 temp 1',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=44,
thickness=6,
start_angle=270,
end_angle=450
},
{
name='memperc',
arg='',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=54,
thickness=7,
start_angle=270,
end_angle=590
},
{
name='fs_used_perc',
arg='/',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=54,
thickness=7,
start_angle=270,
end_angle=590
},
{
name='fs_used_perc',
arg='/media/Mon_Passeport',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=54,
thickness=7,
start_angle=270,
end_angle=590
},
{
name='fs_used_perc',
arg='/media/M_CARD',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=54,
thickness=7,
start_angle=270,
end_angle=590
},
{
name='swapperc',
arg='',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=54,
thickness=7,
start_angle=270,
end_angle=590
},
{
name='downspeedf',
arg='wlan0',
max=300,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=54,
thickness=7,
start_angle=270,
end_angle=590
},
{
name='upspeedf',
arg='wlan0',
max=30,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=54,
thickness=7,
start_angle=270,
end_angle=590
},
{
name='exec sensors | grep temp1 | cut -c15-16',
arg='',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=44,
thickness=6,
start_angle=270,
end_angle=590
},
{
name='wireless_link_qual',
arg='wlan0',
max=70,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=54,
thickness=7,
start_angle=270,
end_angle=590
},
{
name='battery_percent',
arg='BAT0',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=70, y=70,
radius=54,
thickness=7,
start_angle=270,
end_angle=590
},
}
require 'cairo'
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function draw_ring(cr,t,pt)
local w,h=conky_window.width,conky_window.height
local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']
local angle_0=sa*(2*math.pi/360)-math.pi/2
local angle_f=ea*(2*math.pi/360)-math.pi/2
local t_arc=t*(angle_f-angle_0)
-- Draw background ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
cairo_set_line_width(cr,ring_w)
cairo_stroke(cr)
-- Draw indicator ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
cairo_stroke(cr)
end
function conky_ring_stats()
local function setup_rings(cr,pt)
local str=''
local value=0
str=string.format('${%s %s}',pt['name'],pt['arg'])
str=conky_parse(str)
value=tonumber(str)
pct=value/pt['max']
draw_ring(cr,pct,pt)
end
if conky_window==nil then return end
local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
local cr=cairo_create(cs)
local updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num>5 then
for i in pairs(settings_table) do
setup_rings(cr,settings_table[i])
end
end
end
Dernière modification par soza971 (Le 27/06/2010, à 21:21)
Asus U80V Obuntu 10.04 64bits
Hors ligne
#44 Le 27/06/2010, à 22:30
- wlourf
Re : Postez vos scripts Lua pour Conky !
tu as fait killall conky avant de relancer ton script ? Tu devrais aussi vérifier les x et y car ils sont presque tous à x=70 et y=70
Hors ligne
#45 Le 27/06/2010, à 23:17
- soza971
Re : Postez vos scripts Lua pour Conky !
pour relancer le script je lance mon .lanceurconky.sh , oui il contient killall conky pourquoi?
les x et y sont a modifier??
Asus U80V Obuntu 10.04 64bits
Hors ligne
#46 Le 28/06/2010, à 17:28
- wlourf
Re : Postez vos scripts Lua pour Conky !
oui, ainsi que radius, x et y définissent la position du centre du cercle dans la fenêtre du conky
(0,0) est le coin en haut à gauche.
quand tu fais tes essais, tu ferais mieux de passer par une console pour voir les éventuelles erreurs:
conky -c /chemin/conkyrc
et tu fais Ctrl+C pour stopper le conky.
Hors ligne
#47 Le 28/06/2010, à 17:43
- soza971
Re : Postez vos scripts Lua pour Conky !
le problème ne venait pas de la position du cercle quand j'ai mis tous les ano dans un seul fichier le seul ano utilisé pour tous les scripts étaient celui du premier, donc finalement n ayant pas trouvé de solution j'ai remi environ 13 fichiers ano...
j ai mis un ano pour le lecteur audacious j'ai essayé pas mal de commandes mais rien...
Uploaded with ImageShack.us
--[[
Ring Meters by londonali1010 (2009)
This script draws percentage meters as rings. It is fully customisable; all options are described in the script.
IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement on line 145 uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num>5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num>3; conversely if you update Conky every 0.5s, you should use update_num>10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.
To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):
lua_load ~/scripts/rings-v1.2.lua
lua_draw_hook_pre ring_stats
Changelog:
+ v1.2 -- Added option for the ending angle of the rings (07.10.2009)
+ v1.1 -- Added options for the starting angle of the rings, and added the "max" variable, to allow for variables that output a numerical value rather than a percentage (29.09.2009)
+ v1.0 -- Original release (28.09.2009)
]]
settings_table = {
{
name='exec audtool2 --current-song | cut -b-61',
arg='/',
max=100,
bg_colour=0x606060,
bg_alpha=0.6,
fg_colour=0x99FF99,
fg_alpha=0.8,
x=200, y=200,
radius=180,
thickness=7,
start_angle=270,
end_angle=590
},
}
require 'cairo'
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function draw_ring(cr,t,pt)
local w,h=conky_window.width,conky_window.height
local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']
local angle_0=sa*(2*math.pi/360)-math.pi/2
local angle_f=ea*(2*math.pi/360)-math.pi/2
local t_arc=t*(angle_f-angle_0)
-- Draw background ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
cairo_set_line_width(cr,ring_w)
cairo_stroke(cr)
-- Draw indicator ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
cairo_stroke(cr)
end
function conky_ring_stats()
local function setup_rings(cr,pt)
local str=''
local value=0
str=string.format('${%s %s}',pt['name'],pt['arg'])
str=conky_parse(str)
value=tonumber(str)
pct=value/pt['max']
draw_ring(cr,pct,pt)
end
if conky_window==nil then return end
local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
local cr=cairo_create(cs)
local updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num>5 then
for i in pairs(settings_table) do
setup_rings(cr,settings_table[i])
end
end
end
Dernière modification par soza971 (Le 28/06/2010, à 18:10)
Asus U80V Obuntu 10.04 64bits
Hors ligne
#48 Le 28/06/2010, à 17:59
- Levi59
Re : Postez vos scripts Lua pour Conky !
Je post pour suivre
Hors ligne
#49 Le 10/07/2010, à 15:30
- GrindeR
Re : Postez vos scripts Lua pour Conky !
Salut à tous,
cela fait déjà quelque temps que je travail sur conky, et la découverte de lua me pousse a refaire mon conky.
je m'en sors pas trop mal mais je bloque sur une chose:
comment faire un anneau pour la fonction "fs_used_perc" d'un disque non monté? comme
conky de soza971
j'ai observé sont code lua et je n'est rien de différent, mais mes anneaux pour ces disques non monté me retourne la même occupation que ma racine
settings_table = {
{
name='memperc',
arg='',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0x8B008B,
fg_alpha=0.7,
x=75, y=90,
radius=50,
thickness=10,
start_angle=91,
end_angle=270,
},
{
name="execpi 8 awk '/Cached/ {print $2/1024}' /proc/meminfo | head -1",
arg='',
max=2048,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0x9932CC,
fg_alpha=0.7,
x=75, y=90,
radius=59,
thickness=5,
start_angle=91,
end_angle=180,
},
{
name="execpi 8 awk '/Buffers/ {print $2/(1024)}' /proc/meminfo",
arg='',
max=2048,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0x9932CC,
fg_alpha=0.7,
x=75, y=90,
radius=59,
thickness=5,
start_angle=181,
end_angle=270,
},
{
name='swapperc',
arg='',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0xBA55D3,
fg_alpha=0.7,
x=75, y=90,
radius=65,
thickness=5,
start_angle=91,
end_angle=270,
},
{
name='execpi 8 sensors | grep -i "cpu temp" | cut -c 22-23',
arg='',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0xC71585,
fg_alpha=0.7,
x=185, y=90,
radius=40,
thickness=2,
start_angle=50,
end_angle=170,
},
{
name='execpi 8 sensors | grep -i "mb Temp" | cut -c 22-23',
arg='',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0x9370DB,
fg_alpha=0.7,
x=185, y=90,
radius=40,
thickness=2,
start_angle=-70,
end_angle=50,
},
{
name='cpu',
arg='cpu1',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0xBA55D3,
fg_alpha=0.7,
x=185, y=90,
radius=45,
thickness=5,
start_angle=-89,
end_angle=89,
},
{
name='cpu',
arg='cpu2',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0x9932CC,
fg_alpha=0.7,
x=185, y=90,
radius=51,
thickness=5,
start_angle=-89,
end_angle=89,
},
{
name='cpu',
arg='cpu0',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0x8B008B,
fg_alpha=0.7,
x=185, y=90,
radius=60,
thickness=10,
start_angle=-89,
end_angle=89,
},
{
name='fs_used_perc',
arg='/',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0x8B008B,
fg_alpha=0.7,
x=295, y=90,
radius=50,
thickness=10,
start_angle=91,
end_angle=269,
},
{
name='fs_used_perc',
arg='/media/Ubuntu',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0x9932CC,
fg_alpha=0.7,
x=295, y=90,
radius=59,
thickness=5,
start_angle=91,
end_angle=269,
},
{
name='fs_used_perc',
arg='/media/WIN-XP',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0xBA55D3,
fg_alpha=0.7,
x=295, y=90,
radius=65,
thickness=5,
start_angle=91,
end_angle=269,
},
{
name='fs_used_perc',
arg='/home/grinder',
max=100,
bg_colour=0xFFFFFF,
bg_alpha=0.05,
fg_colour=0x8B008B,
fg_alpha=0.7,
x=405, y=90,
radius=60,
thickness=10,
start_angle=-89,
end_angle=89,
},
}
require 'cairo'
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function draw_ring(cr,t,pt)
local w,h=conky_window.width,conky_window.height
local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']
local angle_0=sa*(2*math.pi/360)-math.pi/2
local angle_f=ea*(2*math.pi/360)-math.pi/2
local t_arc=t*(angle_f-angle_0)
-- Draw background ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
cairo_set_line_width(cr,ring_w)
cairo_stroke(cr)
-- Draw indicator ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
cairo_stroke(cr)
end
function conky_ring_stats()
local function setup_rings(cr,pt)
local str=''
local value=0
str=string.format('${%s %s}',pt['name'],pt['arg'])
str=conky_parse(str)
value=tonumber(str)
pct=value/pt['max']
draw_ring(cr,pct,pt)
end
if conky_window==nil then return end
local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
local cr=cairo_create(cs)
local updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num>5 then
for i in pairs(settings_table) do
setup_rings(cr,settings_table[i])
end
end
end
Informaticien où Troll, j'ai choisis les deux!
MountyHall, la Terre des Trõlls
Hors ligne
#50 Le 10/07/2010, à 15:50
- soza971
Re : Postez vos scripts Lua pour Conky !
@Grinder poste ton code conky , aussi je n'ai pas très bien compris ta demande pourrais tu préciser ou reformuler stp
Dernière modification par soza971 (Le 10/07/2010, à 15:52)
Asus U80V Obuntu 10.04 64bits
Hors ligne