#1301 Le 09/08/2016, à 13:01
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Je suis peut-être quelque peu obtus, mais, au regard de ce que renvoie la commande
man strftime
, les heures, est-ce que ça ne devrait pas être plutôt :
%H The hour as a decimal number using a 24-hour clock (range 00 to
23).
?
Et si les minutes, c'est bien :
%M The minute as a decimal number (range 00 to 59).
Est-ce que l'argument heures-minutes ça ne devrait pas plutôt être arg='%H.%M', que arg='%M.%S', ?
Parce que %S, ça ne peut pas être à la fois les minutes et les secondes...
%s The number of seconds since the Epoch, 1970-01-01 00:00:00 +0000
(UTC). (TZ)
%S The second as a decimal number (range 00 to 60). (The range is
up to 60 to allow for occasional leap seconds.)
Dernière modification par pianistocrate (Le 09/08/2016, à 13:02)
« 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
#1302 Le 09/08/2016, à 14:35
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Dans la partie du script que tu cites il n'y a pas d'appelle à l'heure
date '+%M.%S' :
[dominique@host-192-168-1-2 ~]$ date '+%M.%S'
24.02
Ce qui signifie 24 minutes et 02 secondes
La partie qui indique l'heure est un peu plus haut :
{
-- Edit this 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'.
name='time',
-- "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 ''.
arg='%I.%M',
-- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100.
max=12,
-- "bg_colour" is the colour of the base ring.
bg_colour=0xffffff,
-- "bg_alpha" is the alpha value of the base ring.
bg_alpha=0.1,
-- "fg_colour" is the colour of the indicator part of the ring.
fg_colour=0x0066FF,
-- "fg_alpha" is the alpha value of the indicator part of the ring.
fg_alpha=0.2,
-- "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.
x=100, y=150,
-- "radius" is the radius of the ring.
radius=50,
-- "thickness" is the thickness of the ring, centred around the radius.
thickness=5,
-- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative.
start_angle=0,
-- "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.
end_angle=360
},
C'est arg='%I.%M'
[dominique@host-192-168-1-2 ~]$ date '+%I.%M'
03.34
Ce qui signifie 3 heure 34
Tout est dans tout et réciproquement....
Hors ligne
#1303 Le 09/08/2016, à 14:47
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
OK, mais j'ai mis dans le poste #1354 plus haut, la partie "horloge" du script. Si j'y vois bien l'arg %M %S, je n'y vois pas l'autre argument %I %M que tu cites.
Je vais remettre l'intégralité du code du script.lua pour que tu puisses t'en faire une idée complète.
--[[
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)
]]
settings_table = {
{
-- Edit this 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'.
name='time',
-- "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 ''.
arg='%I.%M',
-- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100.
max=12,
-- "bg_colour" is the colour of the base ring.
bg_colour=0xffffff,
-- "bg_alpha" is the alpha value of the base ring.
bg_alpha=0.1,
-- "fg_colour" is the colour of the indicator part of the ring.
fg_colour=0x0066FF,
-- "fg_alpha" is the alpha value of the indicator part of the ring.
fg_alpha=0.2,
-- "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.
x=100, y=150,
-- "radius" is the radius of the ring.
radius=50,
-- "thickness" is the thickness of the ring, centred around the radius.
thickness=5,
-- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative.
start_angle=0,
-- "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.
end_angle=360
},
{
name='time',
arg='%M.%S',
max=60,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0x0066FF,
fg_alpha=0.4,
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=0x0066FF,
fg_alpha=0.6,
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=0x0066FF,
fg_alpha=0.8,
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=0x0066FF,
fg_alpha=0.6,
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=0x0066FF,
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=0x0066FF,
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=0x0066FF,
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=0x0066FF,
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=0x0066FF,
fg_alpha=0.8,
x=125, y=450,
radius=25,
thickness=5,
start_angle=-90,
end_angle=180
},
{
name='fs_used_perc',
arg='/home',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0x0066FF,
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=0x0066FF,
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+clock_r*math.sin(mins_arc)
ym=yc-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
Dernière modification par pianistocrate (Le 09/08/2016, à 15:01)
« 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
#1304 Le 09/08/2016, à 14:50
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
La partie dont je te parle est juste après
settings_table = {
Juste avant la partie que tu cites.
Si tu ne l'avais pas tu n'aurais pas l'horloge complète
Ce qui porte à confusion c'est que l'on crois que ce ne sont que des commentaires, alors que les dit commentaires ne sont seulement les lignes commençants par --
Dernière modification par chepioq (Le 09/08/2016, à 14:52)
Tout est dans tout et réciproquement....
Hors ligne
#1305 Le 09/08/2016, à 18:58
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Et si tu enléves tous les commentaires tu as ceci :
settings_table = {
{
name='time',
arg='%I.%M',
max=12,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0x0066FF,
fg_alpha=0.2,
x=100, y=150,
radius=50,
thickness=5,
start_angle=0,
end_angle=360
},
Tout est dans tout et réciproquement....
Hors ligne
#1306 Le 09/08/2016, à 19:02
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Sauf erreur de ma part, et de mes yeux qui me joueraient des tours en relisant, dans l'intégralité du script que tu as dans mon post précédent (#1358), il n'y a pas l'ombre d'un arg='%I.%M'.
On y trouve, dans l'ordre :
1.
name='time',
arg='%M.%S',
2.
name='time',
arg='%S',
3.
name='time',
arg='%d',
4.
name='time',
arg='%m',
et c'est fini pour ce qui concerne le "time". Après, on passe au cpu, et on ne revient plus nulle part sur le "time" :
name='cpu',
arg='cpu0',
Regarde l'intégralité du passage :
{
name='time',
arg='%M.%S',
max=60,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0x0066FF,
fg_alpha=0.4,
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=0x0066FF,
fg_alpha=0.6,
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=0x0066FF,
fg_alpha=0.8,
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=0x0066FF,
fg_alpha=0.6,
x=100, y=150,
radius=76,
thickness=5,
start_angle=-90,
end_angle=90
},
{
name='cpu',
arg='cpu0',
« 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
#1307 Le 09/08/2016, à 19:12
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Bon je me répète mais tu as bien un arg='%I.%M'. dans ton fichier du post 1358
settings_table = {
{
-- Edit this 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'.
name='time',
-- "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 ''.
arg='%I.%M',
-- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100
Regarde mes deux précédent post 1359 et 1360
Tout est dans tout et réciproquement....
Hors ligne
#1308 Le 09/08/2016, à 19:34
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Nos posts se sont croisés... Le #1361 répondait à ton #1359, le #1360 s'est intercalé entretemps. Pas grave.
Mais ça ne résout pas le problème.
Pas facile à lire ces scripts. Je n'en comprends pas la logique ; j'aurais placé le arg='%I.%M' entre le arg='%M.%S', et le arg='%S',.
Ils sont identiques, sauf le radius (logique, sinon les cercles se chevaucheraient) et le fameux fg_alpha=0.2 pour I-M et fg_alpha=0.6 pour S.
Peut-être essayer d'aligner le fg_alpha du I-M sur celui du S ?
« 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
#1309 Le 10/08/2016, à 05:31
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Pour tester j'ai mis tous les fg_alpha de l'horloge à 1 :
On vois bien que cette valeur joue sur la visibilité des cercles.
D'autre part je me suis fait un nouveau clock_rings.lua, je trouve qu'il est plus clair sans les commentaires au milieu du code (je les ai déplacés au debut du fichier) :
--[[
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=0x0066FF,
fg_alpha=0.2,
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=0x0066FF,
fg_alpha=0.4,
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=0x0066FF,
fg_alpha=0.6,
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=0x0066FF,
fg_alpha=0.8,
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=0x0066FF,
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=0x0066FF,
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=0x0066FF,
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=0x0066FF,
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=0x0066FF,
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=0x0066FF,
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=0x0066FF,
fg_alpha=0.8,
x=125, y=450,
radius=20,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='downspeedf',
arg='enp4s0',
max=100,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0x0066FF,
fg_alpha=0.8,
x=150, y=500,
radius=25,
thickness=4,
start_angle=-90,
end_angle=180
},
{
name='upspeedf',
arg='enp4s0',
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+clock_r*math.sin(mins_arc)
ym=yc-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
Dernière modification par chepioq (Le 10/08/2016, à 05:33)
Tout est dans tout et réciproquement....
Hors ligne
#1310 Le 10/08/2016, à 10:09
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Pour tester j'ai mis tous les fg_alpha de l'horloge à 1 :
http://pix.toile-libre.org/upload/img/1470802949.jpgOn vois bien que cette valeur joue sur la visibilité des cercles.
J'ai mis côte à côte tes 2 copies d'écran, et ça fait effectivement une grosse différence.
D'autre part je me suis fait un nouveau clock_rings.lua, je trouve qu'il est plus clair sans les commentaires au milieu du code (je les ai déplacés au debut du fichier)]
Est-ce que tu me suggérerais de le tester sur ma config ?
« 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
#1311 Le 10/08/2016, à 10:26
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
D'autre part je me suis fait un nouveau clock_rings.lua, je trouve qu'il est plus clair sans les commentaires au milieu du code (je les ai déplacés au debut du fichier)]
Est-ce que tu me suggérerais de le tester sur ma config ?
Non c'est juste une clarification du code, pour que ce soit plus lisible.
Ce nouveau code donnera exactement le même resultat que l'ancien.
Tout est dans tout et réciproquement....
Hors ligne
#1312 Le 10/08/2016, à 10:50
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@chepioq
Je suis rentré un peu plus tôt que prévu si bien que j'ai pu tester tes suggestions.
Pour être dans les mêmes conditions de lua que toi, je me suis fait un nouveau clock-ring.lua en copiant-collant purement et simplement le tien (celui du post #1364).
Il fonctionne très bien chez moi comme tu peux le constater sur cette capture d'écran.
J'ai seulement remplacé la couleur bleue par la couleur orange et, comme tu le proposais, j'ai aussi mis tous les fg_alpha à 1 (donc opaques).
Voici le résultat sur l'horloge :
En gros, les cercles des heures et des minutes restent impertubablement grisés, c'est comme si le fg_alpha y reste bloqué sur la valeur 0. Ils ne sont matérialisés que par le bg_alpha=0.1..... Bizarre puisque les modifications de fg_alpha fonctionnent bien sur les autres anneaux.
Qu'ont-ils donc de spécial ces anneaux heures-minutes ?
As-tu déjà été confronté à ce comportement de fg_alpha sur ta Fedora ?
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1313 Le 10/08/2016, à 10:58
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
C'est bizarre, et je ne vois pas trop ce qui se passe.
Que retourne les commandes, en user :
date '+%I.%M'
date '+%M.%S'
Tout est dans tout et réciproquement....
Hors ligne
#1314 Le 10/08/2016, à 11:02
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@ jlfh0816
Est-ce que tu pourrais poster ton code, de telle sorte que je puisse revenir aux couleurs traditionnelles d'Ubuntu ; et que, également, le quantième du mois soit bien décalé à droite des autres éléments (sur cette version, il mord un peu sur l'année et le jour) ?
Est-ce que ta modif affecte également la couleur des petits cercles liés aux cpu, / & /home etc ?
Je réponds par le même voyage au post de chepioq qui vient de s'intercaler pendant que j'écris celui-ci :
jgs@jgs-OptiPlex-755:~$ date '+%I.%M'
11.59
jgs@jgs-OptiPlex-755:~$ date '+%M.%S'
01.09
« 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
#1315 Le 10/08/2016, à 11:04
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
C'est bizarre, et je ne vois pas trop ce qui se passe.
Que retourne les commandes, en user :
date '+%I.%M'
date '+%M.%S'
Voilà:
nini @ voyager1604 ~
└─ $ ▶ date '+%I.%M'
12.02
nini @ voyager1604 ~
└─ $ ▶ date '+%M.%S'
03.17
nini @ voyager1604 ~
└─ $ ▶
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1316 Le 10/08/2016, à 11:10
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@ jlfh0816
Est-ce que tu pourrais poster ton code, de telle sorte que je puisse revenir aux couleurs traditionnelles d'Ubuntu ; et que, également, le quantième du mois soit bien décalé à droite des autres éléments (sur cette version, il mord un peu sur l'année et le jour) ?
Est-ce que ta modif affecte également la couleur des petits cercles liés aux cpu, / & /home etc ?
@pianistocrate
Oui, bien sûr, voilà mon conkyrc:
# Conky settings #
background no
update_interval 1
own_window_argb_visual yes
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale yes
double_buffer yes
no_buffers yes
text_buffer_size 2048
#imlib_cache_size 0
temperature_unit fahrenheit
# Window specifications #
own_window yes
own_window_type desktop
own_window_transparent yes
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
border_inner_margin 0
border_outer_margin 0
minimum_size 200 250
maximum_width 200
alignment tr
gap_x 35
gap_y 55
# Graphics settings #
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
# Text settings #
use_xft yes
xftfont caviar dreams:size=8
xftalpha 0.5
uppercase no
temperature_unit celsius
default_color FFFFFF
# Lua Load #
lua_load ~/.conky/conky-extra/conky11/clock_rings.lua
lua_draw_hook_pre clock_rings
TEXT
${voffset 8}${color FF6600}${font caviar dreams:size=16}${time %A}${font}${voffset -8}${alignr 10}${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}Plougonvelin${font}
${font caviar dreams:size=12}${color FFFFFF}${alignr}${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ LFRB temperature temperature 30} °C${font}
${image ~/.conky/conky-extra/conky11/new-ubuntu-logo.png -p 64,125 -s 70x20}
${color FFFFFF}${goto 25}${voffset 35}${cpu cpu0}%
${color FF6600}${goto 25}CPU
${color FFFFFF}${goto 50}${voffset 23}${memperc}%
${color FF6600}${goto 50}RAM
${color FFFFFF}${goto 75}${voffset 23}${swapperc}%
${color FF6600}${goto 75}Swap
${color FFFFFF}${goto 100}${voffset 23}${fs_used_perc /}%
${color FF6600}${goto 100}Disk
${color FFFFFF}${goto 125}${voffset 25}${downspeed wlp2s0}
${color FFFFFF}${goto 125}${upspeed wlp2s0}
${color FF6600}${goto 125}Net
${color FFFFFF}${font caviar dreams:size=8}Uptime: ${uptime_short}
${color FFFFFF}${font caviar dreams:size=8}Processes: ${processes}
${color FFFFFF}${font caviar dreams:size=8}Running: ${running_processes}
${color FF6600}${font caviar dreams:size=8}${alignr}${nodename}
${color FF6600}${font caviar dreams:size=8}${alignr}${exec cat /etc/issue.net} $machine
${color FF6600}${font caviar dreams:size=8}${alignr}Kernel: ${kernel}
Quant au clock_rings.lua, c'est celui de chepioq que j'ai copié-collé de son post #1364
Pour les modifications entraînées par fg_alpha, elles fonctionnent effectivement sur toutes les autres informations (cpu, swap, etc ...).
Il n'y a que ces deux anneaux heures-minutes qui ne veulent rien savoir ...
Dernière modification par jlfh0816 (Le 10/08/2016, à 11:15)
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1317 Le 10/08/2016, à 11:12
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Les résultats sont conformes, donc je ne vois vraiment pas ce qui peut coincer.
Surtout que cela fonctionne pour tous tes autres anneaux, je suis un peu dubitatif, et je ne peux malheureusement pas reproduire ce bug sur ma Fedora.
Tout est dans tout et réciproquement....
Hors ligne
#1318 Le 10/08/2016, à 11:18
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Les résultats sont conformes, donc je ne vois vraiment pas ce qui peut coincer.
Surtout que cela fonctionne pour tous tes autres anneaux, je suis un peu dubitatif, et je ne peux malheureusement pas reproduire ce bug sur ma Fedora.
@chepioq
Pas grave, ça n'empêche pas l'essentiel du conky de fonctionner.
En tout cas, je te remercie d'avoir eu la gentillesse de te pencher sur mon problème !
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1319 Le 10/08/2016, à 11:28
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@ jlfh0816
Est-ce que tu pourrais poster ton code, de telle sorte que je puisse revenir aux couleurs traditionnelles d'Ubuntu ; et que, également, le quantième du mois soit bien décalé à droite des autres éléments (sur cette version, il mord un peu sur l'année et le jour) ?
@pianistocrate
Pour déplacer le quantième du mois dans l'horloge vers la droite, c'est à la ligne 58 que cela se passe. J'ai mis {alignr 10} mais tu peux mettre {alignr 0} pour aller au maximum à droite:
TEXT
${voffset 8}${color FF6600}${font caviar dreams:size=16}${time %A}${font}${voffset -8}${alignr 0}${color FFFFFF}${font caviar dreams:size=38}${time %e}${font}
Dernière modification par jlfh0816 (Le 10/08/2016, à 11:31)
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1320 Le 10/08/2016, à 12:01
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
pianistocrate a écrit :@ jlfh0816
Est-ce que tu pourrais poster ton code, de telle sorte que je puisse revenir aux couleurs traditionnelles d'Ubuntu ; et que, également, le quantième du mois soit bien décalé à droite des autres éléments (sur cette version, il mord un peu sur l'année et le jour) ?@pianistocrate
Pour déplacer le quantième du mois dans l'horloge vers la droite, c'est à la ligne 58 que cela se passe. J'ai mis {alignr 10} mais tu peux mettre {alignr 0} pour aller au maximum à droite:TEXT ${voffset 8}${color FF6600}${font caviar dreams:size=16}${time %A}${font}${voffset -8}${alignr 0}${color FFFFFF}${font caviar dreams:size=38}${time %e}${font}
Ton conkyrc est nickel question couleurs, et le quantième s'est bien décalé, mais je n'ai plus de pendule ni de cercles (cf copie-écran ci-dessous), et je n'ai plus non plus les 2 processeurs et les 2 cercles du disque dur (le / et le /home) ; je vais revérifier le script du lua.
« 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
#1321 Le 10/08/2016, à 12:08
- chepioq
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Tu as surement copié le conky de jlfh0816 sans modifier le chemin du script lua, qui est chez lui : ~/.conky/conky-extra/conky11/clock_rings.lua
tandis que chez toi c'est ~/.conky/clock_rings.lua
Et faire la même modification pour le logo ubuntu
Tout est dans tout et réciproquement....
Hors ligne
#1322 Le 10/08/2016, à 12:33
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@pianistocrate
Oui, chepioq a raison, c'est sûrement cela l'explication.
Je ne pensais pas que tu ferais un copié-collé. En plus, c'est en version conky 1.09 ...(l'ancienne version).
Désolé de t'avoir induit (bien involontairement) en erreur mais il fallait seulement t'en inspirer pour rétablir la couleur orange et l'alignement du jour sur ton propre conky.
Le reste (les chemins) ne sont valables que sur mon PC.
Dernière modification par jlfh0816 (Le 10/08/2016, à 12:33)
Xubuntu - Voyager 18.04 et 22.04
Hors ligne
#1323 Le 10/08/2016, à 12:59
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Vous avez raison tous les 2.
J'ai remis la version précédente - en décalant le quantième selon les indications données - et tout est revenu. Mais en bleu.
Si je veux repasser les cercles en orange, je suppose qu'il faut que je change le code-couleur. Je vais chercher de mon côté, mais si vous avez ça sous la main... Je suppose également qu'un "rechercher-remplacer" dans gedit ferait l'affaire, non ?
« 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
#1324 Le 10/08/2016, à 13:32
- pianistocrate
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
Voilà, une fois le tout rectifié : le quantième déplacé, et les cercles passés en orange (vous ne le voyez pas, mais c'est en vert pour le downspeed, et en rouge pour le upspeed)
Restent ces .... d'heures et minutes qui ne s'affichent toujours pas.
@ jlfh0816 : vous avez beau temps du côté de la pointe St-Mathieu ? Parce qu'à Quimper, c'est plutôt tristounet ! Tu parles d'un mois d'août !
« 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
#1325 Le 10/08/2016, à 14:35
- jlfh0816
Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes
@ jlfh0816 : vous avez beau temps du côté de la pointe St-Mathieu ? Parce qu'à Quimper, c'est plutôt tristounet ! Tu parles d'un mois d'août !
On a une petite brise rafraîchissante idéale pour calmer les ardeurs du soleil (si, si, ... il fait un super soleil et un ciel bien dégagé ici ! )
Kenavo !
Xubuntu - Voyager 18.04 et 22.04
Hors ligne