Pffffiiiooouuu j'ai mis celui-ci à jour et à ma sauce.
--[[
Infini par Anonyme-14, l'original s'est perdu dans la nuit des temps :) . Mis à jour sous une nouvelle forme.
fonctionne avec conky 1.10.8
]]
conky.config = {
background = false,
update_interval = 1,
override_utf8_locale = true,
double_buffer = true,
no_buffers = true,
text_buffer_size = 2048,
imlib_cache_size = 0,
temperature_unit = 'celsius',
own_window = true,
own_window_type = 'normal',
own_window_transparent = true,
own_window_hints = 'undecorated,skip_taskbar,skip_pager,below',
minimum_width = 1030, minimum_height = 280,
maximum_width = 1030,
alignment = 'top_left',
gap_x = 280,
gap_y = 100,
draw_shades = true,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,
use_xft = true,
font = 'GE Inspira:size=8',
xftalpha = 0.5,
uppercase = false,
default_shade_color = '#000000',
default_color = '#ffffff',
color1 = '#FFFFFF',
lua_load = '/home/toulibre/Téléchargements/clock_rings.lua',
lua_draw_hook_pre = 'clock_rings',
};
conky.text = [[
${image /home/toulibre/Téléchargements/orb-1b.png -p 0,117}
${image /home/toulibre/Téléchargements/orb-1a.png -p 140,44}
${alignc 309}${voffset 38}${font GE Inspira:size=26}${cpu}$font
${goto 195}cpu [ % ]
${goto 195}T ${exec expr `cat /sys/class/hwmon/hwmon0/temp1_input` / 1000}°
${image /home/toulibre/Téléchargements/orb-1a.png -p 290,-4}
${goto 340}${voffset -120}${font GE Inspira:size=26}${memperc}$font
${goto 345}mem [ % ]
${goto 345}Gpu ${hwmon 0 temp 1} °C
${image /home/toulibre/Téléchargements/orb-1a.png -p 450,-6}
${goto 502}${voffset -75}${font GE Inspira:size=26}${fs_used_perc /}$font
${goto 506}Ssd[ % ]
${goto 506}T ${hddtemp /dev/sda} °C
${image /home/toulibre/Téléchargements/orb-1a.png -p 600,5}
${goto 655}${voffset -60}${font GE Inspira:size=26}${fs_used_perc /home}$font
${goto 649}home ${color}[ % ]
${image /home/toulibre/Téléchargements/orb-1a.png -p 750,28}
${alignc -300}${voffset -40}${font GE Inspira:size=16}${downspeedf enp3s0}$font
${goto 798}entrant [ k/s ]
${image /home/toulibre/Téléchargements/orb-1a.png -p 900,92}
${alignc -450}${voffset 20}${font Ge Inspira:size=16}${upspeedf enp3s0}$font
${goto 950}sortant [ k/s ]
${voffset -240}]];
--[[
Infini par Anonyme-14, l'original s'est perdu dans la nuit des temps :) . Mis à jour sous une nouvelle forme.
fonctionne avec conky 1.10.8
Pour appeler ce script dans Conky, utilisez ce qui suit (en supposant que vous enregistrez ce script dans ~ / scripts / rings.lua):
lua_load ~/scripts/haunted.lua
lua_draw_hook_pre ring_stats
Changelog:
+ v1.0 -- Original release (07/06/2012)
+ v1.1 -- Mis à jour (07/11/2020)
]]
settings_table = {
{
-- Modifiez ce tableau pour personnaliser vos anneaux.
-- Vous pouvez créer plus d'anneaux simplement en ajoutant plus d'éléments à settings_table.
-- "name" est le type de statistique à afficher; vous pouvez choisir 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'.
name='time',
-- "arg" est l'argument du type statistique, par exemple dans Conky vous écririez ${cpu cpu0}, 'cpu0' ce serait l'argument. Si vous n'utilisez pas d'argument dans la variable Conky, utilisez ''.
arg='%I.%M',
-- "max" est la valeur maximale de l'anneau. Si la variable Conky génère un pourcentage, utilisez 100.
max=12,
-- "bg_colour" est la couleur de base de l'anneau.
bg_colour=0xffffff,
-- "bg_alpha" est la valeur alpha de l'anneau de base.
bg_alpha=0.0,
-- "fg_colour" est la couleur de la partie indicatrice de l'anneau.
fg_colour=0x86eeff,
-- "fg_alpha" est la valeur alpha de la partie indicatrice de l'anneau.
fg_alpha=0.0,
-- "x" et "y" sont les coordonnées x et y du centre de l'anneau, par rapport au coin supérieur gauche de la fenêtre Conky.
x=67, y=61,
-- "radius" est le rayon de l'anneau.
radius=30,
-- "thickness" est l'épaisseur de l'anneau, centrée autour du rayon.
thickness=2,
-- "start_angle" est l'angle de départ de l'anneau, en degrés, dans le sens des aiguilles d'une montre à partir du haut. La valeur peut être positive ou négative.
start_angle=0,
-- "end_angle" est l'angle de fin de l'anneau, en degrés, dans le sens des aiguilles d'une montre à partir du haut. La valeur peut être positive ou négative, mais doit être plus grande (par exemple plus dans le sens des aiguilles d'une montre) que start_angle.
end_angle=360
},
{
name='cpu',
arg='cpu0',
max=100,
bg_colour=0xffffff,
bg_alpha=0.0,
fg_colour=0xffffff,
fg_alpha=0.2,
x=212, y=105,
radius=36,
thickness=8,
start_angle=-90,
end_angle=180
},
{
name='memperc',
arg='',
max=100,
bg_colour=0xffffff,
bg_alpha=0.0,
fg_colour=0xffffff,
fg_alpha=0.2,
x=362, y=58,
radius=36,
thickness=8,
start_angle=-90,
end_angle=180
},
{
name='fs_used_perc',
arg='/',
max=100,
bg_colour=0xffffff,
bg_alpha=0.0,
fg_colour=0xffffff,
fg_alpha=0.2,
x=522, y=56,
radius=36,
thickness=8,
start_angle=-90,
end_angle=180
},
{
name='fs_used_perc',
arg='/home',
max=100,
bg_colour=0xffffff,
bg_alpha=0.0,
fg_colour=0xffffff,
fg_alpha=0.2,
x=672, y=66,
radius=36,
thickness=8,
start_angle=-90,
end_angle=180
},
{
name='downspeedf',
arg='enp3s0',
max=450,
bg_colour=0xffffff,
bg_alpha=0.0,
fg_colour=0xffffff,
fg_alpha=0.2,
x=822, y=89,
radius=36,
thickness=8,
start_angle=-90,
end_angle=180
},
{
name='upspeedf',
arg='enp3s0',
max=450,
bg_colour=0xffffff,
bg_alpha=0.0,
fg_colour=0xffffff,
fg_alpha=0.2,
x=972, y=153,
radius=36,
thickness=8,
start_angle=-90,
end_angle=180
},
}
-- Utilisez ces paramètres pour définir l'origine et l'étendue de votre horloge.
clock_r=29
clock_x=73
clock_y=180
-- "clock_x" et "clock_y" sont les coordonnées du centre de l'horloge, en pixels, à partir du coin supérieur gauche de la fenêtre Conky.
clock_colour=0xffffff
clock_alpha=0.5
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)
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)
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
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,rgb_to_r_g_b(clock_colour,clock_alpha))
cairo_stroke(cr)
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)
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
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
--[[ RING WIDGET ]]
--[[ Options (name, arg, max, bg_colour, bg_alpha, xc, yc, radius, thickness, start_angle, end_angle):
"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 (e.g. more clockwise) than start_angle. ]]
function ring(cr, name, arg, max, bgc, bga, fgc, fga, xc, yc, r, t, sa, ea)
local function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
local function draw_ring(pct)
local angle_0=sa*(2*math.pi/360)-math.pi/2
local angle_f=ea*(2*math.pi/360)-math.pi/2
local pct_arc=pct*(angle_f-angle_0)
-- Draw background ring
cairo_arc(cr,xc,yc,r,angle_0,angle_f)
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
cairo_set_line_width(cr,t)
cairo_stroke(cr)
-- Draw indicator ring
cairo_arc(cr,xc,yc,r,angle_0,angle_0+pct_arc)
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
cairo_stroke(cr)
end
local function setup_ring()
local str = ''
local value = 0
str = string.format('${%s %s}', name, arg)
str = conky_parse(str)
value = tonumber(str)
if value == nil then value = 0 end
pct = value/max
draw_ring(pct)
end
local updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num>5 then setup_ring() end
end
--[[ END RING WIDGET ]]