Salut !
Voir ce tuto m'a donné envie de m'y mettre !! :-D
J'ai donc installé conky avec le thème
Lua 2011 que j'ai un peu modifié en prenant des idées à droite à gauche. La police utilisée est DS9 Computer, que l'on trouve dans le pack
LCARS
La partie CPU affiche la charge de 4 coeurs + la charge globale
Certains reconnaîtrons des petits bouts de scripts 😉
EDIT: Refonte du thème avec logo Fedora (à renommer en fedora-logo.png), nouvelles couleurs, Charge CPUs et Températures CPU + GPU 8-)
.conky_rc
# Conky settings #
background no
update_interval 1
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_transparent yes
own_window_type normal
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
border_inner_margin 0
border_outer_margin 0
minimum_size 200 250
maximum_width 220
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 1
uppercase no
temperature_unit celsius
default_color FFFFFF
# Lua Load #
lua_load ~/.lua/scripts/clock_rings.lua
lua_draw_hook_pre clock_rings
TEXT
${image ~/.conky/fedora-logo.png -p 29,110 -s 120x120}
${voffset -10}${color 2D7DB3}${font DS9 Computer:size=26}${time %A}${font}${voffset -4}${alignr 61}${color FFFFFF}${font DS9 Computer:size=48}${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 2D7DB3}${hr}
${voffset 170}
${color 2D7DB3}${font DS9 Computer:size=14}${goto 142}${voffset 28}CPU
${color FFFFFF}${goto 142}${voffset -40}${cpu cpu0}%
${color FFFFFF}${font DS9 Computer:size=12}${goto 35}${voffset -2}${memperc}%
${color 2D7DB3}${goto 21}${voffset -3}RAM
${color FFFFFF}${goto 64}${voffset 23}${swapperc}%${alignr}${color 2D7DB3}CPU: ${color FFFFFF}${hwmon temp 1} C${font caviar dreams:size=12}°
${color 2D7DB3}${goto 46}${voffset -3}${font DS9 Computer:size=12}SWAP ${alignr}${color 2D7DB3}GPU: ${color FFFFFF}${exec nvidia-settings -q GPUCoreTemp -t} C${font caviar dreams:size=12}°
${color FFFFFF}${font DS9 Computer:size=12}${goto 85}${voffset 24}${fs_used_perc /}%
${color 2D7DB3}${goto 72}${voffset -3}DISK
${color FFFFFF}${goto 127}${voffset 28}NET
${color FF6600}${goto 142}${font DS9 Computer:size=12}${voffset -3}UP > ${color FFFFFF}${alignr}${upspeedf p128p1}
${color 339900}${goto 142}${font DS9 Computer:size=12}${voffset -5}DL > ${color FFFFFF}${alignr}${downspeedf p128p1}
${color FFFFFF}${font caviar dreams:size=8}${alignr}Uptime: ${uptime_short}
${color FFFFFF}${font caviar dreams:size=8}${alignr}Processes: ${processes}
${color FFFFFF}${font caviar dreams:size=8}${alignr}Running: ${running_processes}
${color 2D7DB3}${font DS9 Computer:size=12}${alignr}${nodename}
${color 2D7DB3}${font DS9 Computer:size=12}${alignr}${kernel}
${color 2D7DB3}${font DS9 Computer:size=12}${alignr}IP Locale: ${color FFFFFF}${addrs p128p1}
${color 2D7DB3}${font DS9 Computer:size=12}${alignr}IP Publique: ${color FFFFFF}${texeci 25000 dig +short myip.opendns.com @resolver1.opendns.com}
clock_rings.lua
--[[
Clock Rings by Linux Mint (2011) reEdited by despot77 then by DooM2a
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=0x2D7DB3,
-- "fg_alpha" is the alpha value of the indicator part of the ring.
fg_alpha=0.5,
-- "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=90, y=170,
-- "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=0x2D7DB3,
fg_alpha=0.6,
x=90, y=170,
sectors=4,
inverse_arc=false,
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=0x2D7DB3,
fg_alpha=0.7,
x=90, y=170,
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=0x2D7DB3,
fg_alpha=0.8,
x=90, y=170,
radius=70,
thickness=5,
start_angle=45,
end_angle=225
},
{
name='time',
arg='%m',
max=12,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0x2D7DB3,
fg_alpha=1,
x=90, y=170,
radius=76,
thickness=5,
start_angle=-135,
end_angle=45
},
{
name='cpu',
arg='cpu0',
max=90,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0x2D7DB3,
fg_alpha=1,
x=157, y=305,
radius=48,
thickness=6,
start_angle=-135,
end_angle=135
},
{
name='cpu',
arg='cpu1',
max=90,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0x844798,
fg_alpha=0.8,
x=157, y=305,
radius=40,
thickness=6,
start_angle=-45,
end_angle=90
},
{
name='cpu',
arg='cpu2',
max=90,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xCB0C29,
fg_alpha=0.8,
x=157, y=305,
radius=33,
thickness=6,
start_angle=45,
end_angle=180
},
{
name='cpu',
arg='cpu3',
max=90,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0x49A835,
fg_alpha=0.8,
x=157, y=305,
radius=40,
thickness=6,
start_angle=135,
end_angle=270
},
{
name='cpu',
arg='cpu4',
max=90,
bg_colour=0xffffff,
bg_alpha=0.1,
fg_colour=0xFF6600,
fg_alpha=0.8,
x=157, y=305,
radius=33,
thickness=6,
start_angle=225,
end_angle=360
},
{
name='memperc',
arg='',
max=90,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0x2D7DB3,
fg_alpha=0.8,
x=50, y=340,
radius=25,
thickness=5,
start_angle=-90,
end_angle=180
},
{
name='swapperc',
arg='',
max=90,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0x2D7DB3,
fg_alpha=0.8,
x=75, y=400,
radius=25,
thickness=5,
start_angle=-90,
end_angle=180
},
{
name='fs_used_perc',
arg='/',
max=90,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0x2D7DB3,
fg_alpha=0.8,
x=100, y=460,
radius=25,
thickness=5,
start_angle=-90,
end_angle=180
},
{
name='downspeedf',
arg='p128p1',
max=550,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0x339900,
fg_alpha=0.8,
x=140, y=520,
radius=27,
thickness=7,
start_angle=-180,
end_angle=90
},
{
name='upspeedf',
arg='p128p1',
max=90,
bg_colour=0xffffff,
bg_alpha=0.2,
fg_colour=0xff6600,
fg_alpha=0.8,
x=140, y=520,
radius=20,
thickness=5,
start_angle=-180,
end_angle=90
},
}
-- 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=90
clock_y=170
show_seconds=false
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 - remove -- symbols to display hours's line
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 - remove -- symbols to display minute's line
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)
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