#1351 Le 13/08/2016, à 14:11
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonjour a tous,
cela fait bien longtemps que je n'ai plus posté icije viens de modifier le flichier clock_rings.lua afin de régler le soucis remonté par pianistocrate concernant les rings qui ne suivent pas les aiguilles.
J’espère avoir bien saisi le problème
A+,
Didier.
@ DidierT
Le script que tu as écrit devrait bien fonctionner chez notre petit camarade jlfh0816, car il ressemble beaucoup à celui qu'il utilise chez lui ; et puisqu'il est en ligne, il va pouvoir nous dire rapidement son sentiment.
EDIT : il a testé et posté pendant que je rédigeais cette intervention. Et apparemment ça colle pour lui !
Perso, je n'ai pas osé modifier le mien, car j'ai vu - en comparant ligne à ligne - que tu as modifié les intitulés heures minutes, et du coup, que tu as rajouté du code en-bas du script, pour que les modifs puissent coller avec tes appellations. Et de plus, mon script comporte une variante pur 2 proc, et le disque partitionné en / et /home.
Ce qui fait que je n'ai pas su/pu voir ce que tu as précisément changé pour faire coller les aiguilles au cercle.
Comme ton message avait pour objectif de résoudre le souci que j'avais fait remonter (mais qui ne concerne pas que moi, mais également chepioq et jlfh0816), je te colle ci-dessous le code de mon propre script lua, pour que tu puisses éventuellement y faire les modifs adéquates.
--[[
Clock Rings by Linux Mint (2011) reEdited by despot77
This script draws percentage meters as rings, and also draws clock hands if you want! It is fully customisable; all options are described in the script. This script is based off a combination of my clock.lua script and my rings.lua 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/clock_rings.lua
lua_draw_hook_pre clock_rings
Changelog:
+ v1.0 -- Original release (30.09.2009)
v1.1p -- Jpope edit londonali1010 (05.10.2009)
*v 2011mint -- reEdit despot77 (18.02.2011)
-- Edit this settings_table to customise your rings.
-- You can create more rings simply by adding more elements to settings_table.
-- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'.
-- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument. If you would not use an argument in the Conky variable, use ''.
-- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100.
-- "bg_colour" is the colour of the base ring.
-- "bg_alpha" is the alpha value of the base ring.
-- "fg_colour" is the colour of the indicator part of the ring.
-- "fg_alpha" is the alpha value of the indicator part of the ring.
-- "x" and "y" are the x and y coordinates of the centre of the ring, relative to the top left corner of the Conky window.
-- "radius" is the radius of the ring.
-- "thickness" is the thickness of the ring, centred around the radius.
-- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative.
-- "end_angle" is the ending angle of the ring, in degrees, clockwise from top. Value can be either positive or negative, but must be larger than start_angle.
]]
settings_table = {
{
name='time',
arg='%I,%M',
max=12,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xFF6600,
fg_alpha=0.6,
x=100, y=150,
radius=50,
thickness=5,
start_angle=0,
end_angle=360
},
{
name='time',
arg='%M,%S',
max=60,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xFF6600,
fg_alpha=0.7,
x=100, y=150,
radius=56,
thickness=5,
start_angle=0,
end_angle=360
},
{
name='time',
arg='%S',
max=60,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=100, y=150,
radius=62,
thickness=5,
start_angle=0,
end_angle=360
},
{
name='time',
arg='%d',
max=31,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xFF6600,
fg_alpha=0.9,
x=100, y=150,
radius=70,
thickness=5,
start_angle=-90,
end_angle=90
},
{
name='time',
arg='%m',
max=12,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xFF6600,
fg_alpha=1,
x=100, y=150,
radius=76,
thickness=5,
start_angle=-90,
end_angle=90
},
{
name='cpu',
arg='cpu0',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=50, y=300,
radius=25,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='cpu',
arg='cpu1',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=50, y=300,
radius=20,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='memperc',
arg='',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=75, y=350,
radius=25,
thickness=5,
start_angle=-90,
end_angle=180
},
{
name='swapperc',
arg='',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=100, y=400,
radius=25,
thickness=5,
start_angle=-90,
end_angle=180
},
{
name='fs_used_perc',
arg='/',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=125, y=450,
radius=25,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='fs_used_perc',
arg='/home',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=125, y=450,
radius=20,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='downspeedf',
arg='eth0',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0x339900,
fg_alpha=0.8,
x=150, y=500,
radius=25,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='upspeedf',
arg='eth0',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF3300,
fg_alpha=0.8,
x=150, y=500,
radius=20,
thickness=4,
start_angle=-90,
end_angle=180
},
}
-- Use these settings to define the origin and extent of your clock.
clock_r=65
-- "clock_x" and "clock_y" are the coordinates of the centre of the clock, in pixels, from the top left of the Conky window.
clock_x=100
clock_y=150
show_seconds=true
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 draw_clock_hands(cr,xc,yc)
local secs,mins,hours,secs_arc,mins_arc,hours_arc
local xh,yh,xm,ym,xs,ys
secs=os.date("%S")
mins=os.date("%M")
hours=os.date("%I")
secs_arc=(2*math.pi/60)*secs
mins_arc=(2*math.pi/60)*mins+secs_arc/60
hours_arc=(2*math.pi/12)*hours+mins_arc/12
-- Draw hour hand
xh=xc+0.7*clock_r*math.sin(hours_arc)
yh=yc-0.7*clock_r*math.cos(hours_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xh,yh)
cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
cairo_set_line_width(cr,5)
cairo_set_source_rgba(cr,1.0,1.0,1.0,1.0)
cairo_stroke(cr)
-- Draw minute hand
xm=xc+0.85*clock_r*math.sin(mins_arc)
ym=yc-0.85*clock_r*math.cos(mins_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xm,ym)
cairo_set_line_width(cr,3)
cairo_stroke(cr)
-- Draw seconds hand
if show_seconds then
xs=xc+clock_r*math.sin(secs_arc)
ys=yc-clock_r*math.cos(secs_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xs,ys)
cairo_set_line_width(cr,1)
cairo_stroke(cr)
end
end
function conky_clock_rings()
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)
if value == nil then value = 0 end
pct=value/pt['max']
draw_ring(cr,pct,pt)
end
-- Check that Conky has been running for at least 5s
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
draw_clock_hands(cr,clock_x,clock_y)
end
@ jlfh0816
Je souscris à ton analyse, mais je ne trouve pas gênant (même en cas d'insomnie ) qu'on ait un 24hxx minutes jusqu'à ce qu'il soit 1h du mat'. Une autre solution - peut-être plus facile à programmer ? - serait également de trouver comment rendre la tranche 0h - 1h avec un cercle vide et de faire une pendule sur 12h avec une mention AM / PM.
Mais vu mon niveau de compétence, j'dis ça, j'dis rien...
Dernière modification par pianistocrate (Le 13/08/2016, à 14:15)
« Un spécialiste est un homme qui sait de plus en plus de choses, sur un sujet de plus en plus restreint, et qui finit par tout savoir… sur rien. » Oscar Wilde
Hors ligne
#1352 Le 13/08/2016, à 14:13
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@pianistocrate
Je ne t'ai pas oublié: tu trouveras ci-dessus au post #1404 les captures d'écran que tu souhaitais.
Et pour le nouveau clock_rings.lua modifié par DidierT, il fonctionne super bien (vois mon post #1343 ci-dessus).
Kenavo !
Dernière modification par jlfh0816 (Le 03/12/2017, à 21:55)
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1353 Le 13/08/2016, à 14:21
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@pianistocrate
Je ne t'ai pas oublié: tu trouveras ci-dessus au post #1404 les captures d'écran que tu souhaitais.
Kenavo !
J'les avions vues ! Effectivement ton fond est plus soft que le mien et ton calibrage de couleurs va bien ; mais je garde le mien, comme tu peux en juger sur la capture que j'ai postée plus haut : des valeurs comme les tiennes ne tranchent pas assez chez moi.
J'espère juste maintenant que DidierT va me modifier mon script pour résoudre le pb d'aiguilles. S'il nous sort de cette galère, on va le faire Breton d'honneur (à moins qu'il ne soit déjà un pur beurre... )
Kenavo !
« Un spécialiste est un homme qui sait de plus en plus de choses, sur un sujet de plus en plus restreint, et qui finit par tout savoir… sur rien. » Oscar Wilde
Hors ligne
#1354 Le 13/08/2016, à 14:40
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
.................................................
Par contre, là où ça devient moins logique, c'est qu'à minuit, le cercle des heures va probablement afficher exactement les mêmes indications que s'il était midi (donc cercle totalement plein) et ceci jusqu'à 00H59 du matin.
Là, tu as raison, il y a un hic.
En fait, le cercle des heures devrait être totalement vide de 00H00 jusqu'à 00H59. Ce qui n'est sans doute pas le cas (désolé, je ne suis pas un couche-tard, je n'ai pas pu vérifier par moi-même ...).
....................................................
J'ai vérifié à partir de minuit il n'y a pas de soucis, et c'est logique vu que après minuit c'est 0.00 jusqu'à 0.59, et non 12.00 ==> 12.59 et donc pris en charge par "max=12,"
Tout est dans tout et réciproquement....
Hors ligne
#1355 Le 13/08/2016, à 15:39
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
J'ai vérifié à partir de minuit il n'y a pas de soucis, et c'est logique vu que après minuit c'est 0.00 jusqu'à 0.59, et non 12.00 ==> 12.59 et donc pris en charge par "max=12,"
@chepioq
D'accord, merci pour l'information et merci surtout d'avoir vérifié à cette heure là !
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1356 Le 13/08/2016, à 18:18
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@pianistocrate,
voici ton script modifié, avec correction du bug 12h00
--[[
Clock Rings by Linux Mint (2011) reEdited by despot77
This script draws percentage meters as rings, and also draws clock hands if you want! It is fully customisable; all options are described in the script. This script is based off a combination of my clock.lua script and my rings.lua 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/clock_rings.lua
lua_draw_hook_pre clock_rings
Changelog:
+ v1.0 -- Original release (30.09.2009)
v1.1p -- Jpope edit londonali1010 (05.10.2009)
*v 2011mint -- reEdit despot77 (18.02.2011)
-- Edit this settings_table to customise your rings.
-- You can create more rings simply by adding more elements to settings_table.
-- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'.
-- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument. If you would not use an argument in the Conky variable, use ''.
-- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100.
-- "bg_colour" is the colour of the base ring.
-- "bg_alpha" is the alpha value of the base ring.
-- "fg_colour" is the colour of the indicator part of the ring.
-- "fg_alpha" is the alpha value of the indicator part of the ring.
-- "x" and "y" are the x and y coordinates of the centre of the ring, relative to the top left corner of the Conky window.
-- "radius" is the radius of the ring.
-- "thickness" is the thickness of the ring, centred around the radius.
-- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative.
-- "end_angle" is the ending angle of the ring, in degrees, clockwise from top. Value can be either positive or negative, but must be larger than start_angle.
]]
settings_table = {
{
name='clock',
arg='heure',
max=12,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xFF6600,
fg_alpha=0.6,
x=100, y=150,
radius=50,
thickness=5,
start_angle=0,
end_angle=360
},
{
name='clock',
arg='minutes',
max=60,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xFF6600,
fg_alpha=0.7,
x=100, y=150,
radius=56,
thickness=5,
start_angle=0,
end_angle=360
},
{
name='clock',
arg='secondes',
max=60,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=100, y=150,
radius=62,
thickness=5,
start_angle=0,
end_angle=360
},
{
name='time',
arg='%d',
max=31,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xFF6600,
fg_alpha=0.9,
x=100, y=150,
radius=70,
thickness=5,
start_angle=-90,
end_angle=90
},
{
name='time',
arg='%m',
max=12,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xFF6600,
fg_alpha=1,
x=100, y=150,
radius=76,
thickness=5,
start_angle=-90,
end_angle=90
},
{
name='cpu',
arg='cpu0',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=50, y=300,
radius=25,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='cpu',
arg='cpu1',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=50, y=300,
radius=20,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='memperc',
arg='',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=75, y=350,
radius=25,
thickness=5,
start_angle=-90,
end_angle=180
},
{
name='swapperc',
arg='',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=100, y=400,
radius=25,
thickness=5,
start_angle=-90,
end_angle=180
},
{
name='fs_used_perc',
arg='/',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=125, y=450,
radius=25,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='fs_used_perc',
arg='/home',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=125, y=450,
radius=20,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='downspeedf',
arg='eth0',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0x339900,
fg_alpha=0.8,
x=150, y=500,
radius=25,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='upspeedf',
arg='eth0',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xFF3300,
fg_alpha=0.8,
x=150, y=500,
radius=20,
thickness=4,
start_angle=-90,
end_angle=180
},
}
-- Use these settings to define the origin and extent of your clock.
clock_r=65
-- "clock_x" and "clock_y" are the coordinates of the centre of the clock, in pixels, from the top left of the Conky window.
clock_x=100
clock_y=150
show_seconds=true
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 draw_clock_hands(cr,xc,yc)
local secs,mins,hours,secs_arc,mins_arc,hours_arc
local xh,yh,xm,ym,xs,ys
secs=os.date("%S")
mins=os.date("%M")
hours=os.date("%I")
secs_arc=(2*math.pi/60)*secs
mins_arc=(2*math.pi/60)*mins+secs_arc/60
hours_arc=(2*math.pi/12)*hours+mins_arc/12
-- Draw hour hand
xh=xc+0.7*clock_r*math.sin(hours_arc)
yh=yc-0.7*clock_r*math.cos(hours_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xh,yh)
cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
cairo_set_line_width(cr,5)
cairo_set_source_rgba(cr,1.0,1.0,1.0,1.0)
cairo_stroke(cr)
-- Draw minute hand
xm=xc+0.85*clock_r*math.sin(mins_arc)
ym=yc-0.85*clock_r*math.cos(mins_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xm,ym)
cairo_set_line_width(cr,3)
cairo_stroke(cr)
-- Draw seconds hand
if show_seconds then
xs=xc+clock_r*math.sin(secs_arc)
ys=yc-clock_r*math.cos(secs_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xs,ys)
cairo_set_line_width(cr,1)
cairo_stroke(cr)
end
end
function conky_clock_rings()
local function setup_rings(cr,pt)
local secs, mins, hours, mins_secs, hours_mins
local str=''
local value=0
if pt['name']=='clock' then
secs=os.date("%S")
mins=os.date("%M")
hours=os.date("%I")
mins_secs=mins+secs/60
hours_mins=hours+mins/60
if hours_mins > 12 then hours_mins=hours_mins-12 end
if pt['arg']=="heure" then
str=hours_mins
elseif pt['arg']=="minutes" then
str=mins_secs
else
str=secs
end
else
str=string.format('${%s %s}',pt['name'],pt['arg'])
str=conky_parse(str)
end
value=tonumber(str)
if value==nil then -- Gestion du problème de séparateur décimale
str=conky_parse(str):gsub("%.",",")
value=tonumber(str)
end
if value == nil then value = 0 end
pct=value/pt['max']
draw_ring(cr,pct,pt)
end
-- Check that Conky has been running for at least 5s
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
draw_clock_hands(cr,clock_x,clock_y)
end
@Tous,
voici la correction apporté pour le soucis 12h00
code avant correction
hours_mins=hours+mins/60
if pt['arg']=="heure" then
code après correction
hours_mins=hours+mins/60
if hours_mins > 12 then hours_mins=hours_mins-12 end
if pt['arg']=="heure" then
A bientôt,
Didier.
Hors ligne
#1357 Le 13/08/2016, à 18:57
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Merci Didier-T pour cette correction.
Je l'ai ajouté mais je ne pourrais le tester que dimanche prochain (demain je part à Londres avec mon fils pour une semaine).
Tout est dans tout et réciproquement....
Hors ligne
#1358 Le 14/08/2016, à 06:10
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@Didier-T
Je viens de m'apercevoir d'une chose
Quand je lançai l'ancienne version de conky en console, j'avais ceci
[dominique@host-192-168-1-2 .conkyrc]$ conky -c conky-testconky: desktop window (2200012) is subwindow of root window (284)
conky: window type - normal
conky: drawing to created window (0x4200002)
conky: drawing to double buffer
Avec ta version j'ai ceci :
[dominique@host-192-168-1-2 .conkyrc]$ conky -c conky-testconky: desktop window (2200012) is subwindow of root window (284)
conky: window type - normal
conky: drawing to created window (0x4200002)
conky: drawing to double buffer
0,5875
0,059166666666667
0,55
0,45161290322581
0,66666666666667
0,03
0,03
0,09
0,0
0,48
0,1
0,0
0,0
0,5875
0,059444444444444
0,56666666666667
0,45161290322581
0,66666666666667
0,03
0,03
0,09
0,0
0,48
0,1
0,0
0,0
0,5875
0,059722222222222
0,58333333333333
0,45161290322581
0,66666666666667
0,1
0,06
0,09
0,0
0,48
0,1
0,0
0,0
0,5875
0,06
0,6
0,45161290322581
0,66666666666667
0,1
0,06
0,09
0,0
0,48
0,1
0,0
0,0
0,5875
0,060277777777778
0,61666666666667
0,45161290322581
0,66666666666667
0,04
0,03
0,09
0,0
0,48
0,1
0,0
0,0
0,5875
0,060555555555556
0,63333333333333
0,45161290322581
0,66666666666667
0,03
...........................
et les chiffres se succèdent jusqu'à ce que j'arrête le conky.
As-tu une explication ?
EDIT
J'oubliai une chose : les chiffres apparaissent quand les cercles sont affichés, pas avant.
Dernière modification par chepioq (Le 14/08/2016, à 06:12)
Tout est dans tout et réciproquement....
Hors ligne
#1359 Le 14/08/2016, à 06:49
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonjour chepioq,
J'ai simplement oublier de retirer une ligne de débogage.
Recherche dans le code lua la ligne contenant "print" et supprime la, sa réglera le soucis.
Hors ligne
#1360 Le 14/08/2016, à 07:08
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Ok merci, je vais tester ça vite fait et puis je m'en vais pour uns semaine.
EDIT
OK, j'ai retiré la ligne et plus de soucis.
Merci et à dans une semaine
Tout est dans tout et réciproquement....
Hors ligne
#1361 Le 14/08/2016, à 07:40
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonne vacances
Hors ligne
#1362 Le 14/08/2016, à 09:15
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@pianistocrate,
voici ton script modifié, avec correction du bug 12h00
[...]
A bientôt,
Didier.
Ça marche !
Un grand merci !
« Un spécialiste est un homme qui sait de plus en plus de choses, sur un sujet de plus en plus restreint, et qui finit par tout savoir… sur rien. » Oscar Wilde
Hors ligne
#1363 Le 15/08/2016, à 13:36
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@Tous,
voici la correction apporté pour le soucis 12h00code avant correction
hours_mins=hours+mins/60 if pt['arg']=="heure" then
code après correction
hours_mins=hours+mins/60 if hours_mins > 12 then hours_mins=hours_mins-12 end if pt['arg']=="heure" then
A bientôt,
Didier.
@DidierT
J'ai pu vérifié le comportement du conky après ta modification pour le bug 12H00 et tout fonctionne très bien hormis la toute première minute qui suit midi ainsi que celle qui suit minuit durant laquelle le cercle des heures reste entièrement plein alors qu'il devrait logiquement être entièrement vide.
Voici en images ce que ça donne:
1°) à midi:
cercle des heures cercle des heures cercle des heures
15 août à 11H56 15 août entre midi et 15 août à partir de 12H01
12H00 et 59 secondes
2°) à minuit:
Et à minuit, rebelote: cercle plein entre 00 heures 00 minutes 00 secondes et 00 heures 00 minutes et 59 secondes comme le montrent ces captures d'écran:
cercle des heures cercle des heures cercle des heures
14 août à 23H50 15 août entre minuit et 15 août à partir de 00H01
00H00 et 59 secondes
Personnellement, ce problème des 59 secondes ne me gêne pas du tout et je suis bien content d'avoir un conky qui dans l'ensemble fonctionne très bien.
Encore merci de ton aide DidierT !
Dernière modification par jlfh0816 (Le 15/08/2016, à 13:38)
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1364 Le 15/08/2016, à 17:00
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@jlfh0816
Bin dis donc toi, je te croyais à la plage ! Et voilà que tu nous fais des heures sup à attendre minuit !
Enfin, on a réduit (enfin "on" : moi, j'ai rien fait ! ) le problème de l'heure à 59 secondes, c'est pas rien ; encore un petit effort des velus et tout ça sera nickel-chrome.
Mais je suis comme toi, cette histoire des 59 secondes ça gêne pas des masses, mais bon, pour la beauté du sport, arranger ce tout petit truc ça serait
« Un spécialiste est un homme qui sait de plus en plus de choses, sur un sujet de plus en plus restreint, et qui finit par tout savoir… sur rien. » Oscar Wilde
Hors ligne
#1365 Le 15/08/2016, à 17:12
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonjour,
Dans la ligne ajouté remplacez le > par un ==
Bien les deux signes égales.
Sa devrait coller ;-)
Hors ligne
#1366 Le 15/08/2016, à 17:36
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonjour,
Dans la ligne ajouté remplacez le > par un ==
Bien les deux signes égales.Sa devrait coller ;-)
@Didier-T
Super !
Merci Didier-T, j'ai modifié et je vais guetter ce petit bug des 59 secondes.
Je te tiens au courant.
@pianistocrate
Ouh, la plage, c'était ce matin à la fraîche parce que là ... ça chauffe un peu trop pour moi
Porte-toi bien et n'oublie pas le parasol
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1367 Le 15/08/2016, à 23:18
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonjour,
Dans la ligne ajouté remplacez le > par un ==
Bien les deux signes égales.Sa devrait coller ;-)
@Didier-T
J'ai fait la modification du clock_rings.lua comme tu l'as proposé et ta modification est efficace pour la première minute après minuit: le cercle est bien vide de 00H00min00sec jusqu'à 00H00min59sec.
Par contre, il redevient entièrement plein à partir de 00H01min ...
Voici ce que ça donne en images:
cercle des heures cercle des heures cercle des heures
15/08 à 23H52 16/08 de minuit 16/08 à partir de 00H01min
jusqu'à
00H00min59sec
Donc, maintenant, c'est à partir de la deuxième minute que ça ne colle plus (cercle de nouveau plein).
Dernière modification par jlfh0816 (Le 15/08/2016, à 23:20)
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1368 Le 16/08/2016, à 09:13
- loutch
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Hello
Voila j'ai un souci avec un conky.sh ,sur toute mes distribution kde il fonctionne au poil .
C'est un script qui lance radiotray et son conky au premier clic et qui les referme au deuxième clic mais voila sur une distro cannelle ou xfce cela ne fonctionne pas .J'ai remplacé les "kill" par des "killall" idem nada .
le script lance bien la première fois radiotray et le conky mais lors du second clic ,au lieu de tout refermer il m'arrête la radio et relance le conky .
Si quelqu'un aurait la soluce, merci d'avance
et
@+
#!/bin/bash
PROG_NAME1="conky -c /home/$USER/.conky/radiotray/conkyrc" # Nom du programme à démarrer/arrêter.
PROG_NAME2="/usr/bin/radiotray" # Nom du programme à démarrer/arrêter.
PROCESSPID1=$(pgrep -f /home/$USER/.conky/radiotray/conkyrc) # Récupère le PID du processus.
PROCESSPID2=$(pgrep -f "usr/bin/radiotray") # Récupére le PID du processus.
if [[ "$PROCESSPID1" != "" && "$PROCESSPID2" != "" ]]; then # Si les deux processus existe alors on le(s) kill.
kill $PROCESSPID1 && echo "Stop $PROG_NAME1 (PID: $PROCESSPID1)"
kill $PROCESSPID2 && echo "Stop $PROG_NAME2 (PID: $PROCESSPID2)"
else # Si aucun processus on démarre le programme.
kill $PROCESSPID1
$PROG_NAME1 &
echo "Start $PROG_NAME1"
kill $PROCESSPID2
$PROG_NAME2 &
echo "Start $PROG_NAME2"
if [[ "$PROCESSPID1" == "" || "$PROCESSPID2" == "" ]]; then # Si un des processus n'existe pas alors on le(s) kill.
kill $PROCESSPID1 && echo "Stop $PROG_NAME1 (PID: $PROCESSPID1)"
kill $PROCESSPID2 && echo "Stop $PROG_NAME2 (PID: $PROCESSPID2)"
echo "Il y a eu un souci au lancement tout a été coupé"
fi
fi
Dernière modification par loutch (Le 16/08/2016, à 10:43)
Hors ligne
#1369 Le 17/08/2016, à 07:21
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Je ne comprend pas pourquoi tu kill les process après le premier else : si les process n'existent pas tu n'as pas besoin de les killer.
else # Si aucun processus on démarre le programme.
kill $PROCESSPID1
$PROG_NAME1 &
echo "Start $PROG_NAME1"
kill $PROCESSPID2
$PROG_NAME2 &
Dernière modification par chepioq (Le 17/08/2016, à 07:53)
Tout est dans tout et réciproquement....
Hors ligne
#1370 Le 17/08/2016, à 10:30
- loutch
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
hello
le script kill les processus s'il y en y un des deux qui est fermé pour ré-ouvrir les deux proprement exemple
je lance le script
1-je bidouille le conkyrc et il ne redémarre pas (mauvaise variable) un clic et le script ferme radiotray et relance les deux processus
2 radiotray "merdoie" il ferme le conky proprement et ré-ouvre tout
@+
Hors ligne
#1371 Le 19/08/2016, à 14:18
- Didier-T
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonjour,
if hours_mins >= 12 then hours_mins=hours_mins-12 end
il y a une légère modification
@loutch,
je n'ai pas de solution toute prête pour toi, mais a ta place je regarderai le retour de ses commandes conky et radiotray lancés et conky et radiotray fermés, a mon avis le souci est a ce niveau.
pgrep -f /home/$USER/.conky/radiotray/conkyrc
pgrep -f "usr/bin/radiotray"
Hors ligne
#1372 Le 19/08/2016, à 17:01
- loutch
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
hello
Merci Didier j'ai déjà regardé de ce coté-là ,j'ai vu que si je demande au raccourcis de se lancer dans un terminal il coupe tout alors je me suis fait un deuxième lanceur avec demande de lancement dans la console et là tout est fermé proprement le conky et radiotray.
Donc cela me fait deux lanceurs mais ça fonctionne .
Encore merci et
@+
Dernière modification par loutch (Le 19/08/2016, à 17:02)
Hors ligne
#1373 Le 21/08/2016, à 14:08
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bonjour,
if hours_mins >= 12 then hours_mins=hours_mins-12 end
il y a une légère modification
@Didier-T
Merci Didier-T, j'ai effectué la modification et tout fonctionne désormais correctement, aussi bien avant qu'après midi et minuit, le bug de la première minute a disparu. Le conky est désormais en parfait ordre de marche !
juste avant midi de midi à 12H 00min 59sec à partir de 12H01
Dernière modification par jlfh0816 (Le 21/08/2016, à 14:10)
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1374 Le 29/08/2016, à 09:28
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Le conkyrc original - celui à la pendule dont le script conky a fait l'objet des posts et modifs cités précédemment - comportait une petite option météo bien sympathique qui permettait d'avoir la température de sa ville, avec les 4 lettres du code d'identification international, comme on peut le voir ci-dessous :
TEXT
${voffset 8}${color FF6600}${font caviar dreams:size=16}${time %A}${font}${voffset -8}${alignr 50}${color FFFFFF}${font caviar dreams:size=38}${time %e}${font}
${color FFFFFF}${voffset -30}${color FFFFFF}${font caviar dreams:size=18}${time %b}${font}${voffset -3} ${color FFFFFF}${font caviar dreams:size=20}${time %Y}${font}${color FF6600}${hr}
${voffset 140}${font caviar dreams:size=10}${alignr}HOME${font}
${font caviar dreams:size=12}${color FFFFFF}${alignr}${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ LQBK temperature temperature 30} °C${font}
${image ~/.conky/new-ubuntu-logo.png -p 64,125 -s 70x20}
Cette fonction était basée sur un site américain (l'adresse est dans le code ci-dessus) qui a hélas cessé de fonctionner comme expliqué ici.
L'un(e) d'entre vous aurait-il trouvé une solution de remplacement ?
« Un spécialiste est un homme qui sait de plus en plus de choses, sur un sujet de plus en plus restreint, et qui finit par tout savoir… sur rien. » Oscar Wilde
Hors ligne
#1375 Le 29/08/2016, à 09:37
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Sur cette page : https://forums.bunsenlabs.org/viewtopic.php?id=189 ( et les suivantes) tu trouveras plusieurs conky-météo, à toi de choisir celui qui te convient le mieux
Dernière modification par chepioq (Le 29/08/2016, à 09:39)
Tout est dans tout et réciproquement....
Hors ligne