Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1251 Le 15/07/2016, à 19:18

chepioq

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

Pour la fréquence des cpu, c'est la variable :
${freq n} en MHz, ou n est le numéro de tes cpu (1,2,3,...)
${freq_g n} en GHz, ou n est le numéro de tes cpu (1,2,3,...)


Tout est dans tout et réciproquement....

Hors ligne

#1252 Le 15/07/2016, à 20:16

lifala

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

chepioq a écrit :

Pour la fréquence des cpu, c'est la variable :
${freq n} en MHz, ou n est le numéro de tes cpu (1,2,3,...)
${freq_g n} en GHz, ou n est le numéro de tes cpu (1,2,3,...)


merci pour ta réponse.

la fréquence des coeurs du processeur sont elles toujours à la même cadence, ou est ce qu'elle varie ?

merci


conky 1 --- conky 2 --- conkyForecast 2.09 --- Tuto Finch
Lucid minimal + openbox

Hors ligne

#1253 Le 15/07/2016, à 20:27

chepioq

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

lifala a écrit :

merci pour ta réponse.

la fréquence des coeurs du processeur sont elles toujours à la même cadence, ou est ce qu'elle varie ?

merci

Chez cela varie suivant la charge des différents cœurs.

J'ai quatre cœurs et j'ai par exemple:
CPU1 1114 Mhz
CPU2 900 Mhz
CPU3 1000 Mhz
CPU4 957 Mhz


Tout est dans tout et réciproquement....

Hors ligne

#1254 Le 15/07/2016, à 20:30

lifala

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

ok parce que moi j'ai 2 coeurs et j'ai les 2 à 3280 MHz


conky 1 --- conky 2 --- conkyForecast 2.09 --- Tuto Finch
Lucid minimal + openbox

Hors ligne

#1255 Le 15/07/2016, à 20:34

chepioq

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

lifala a écrit :

ok parce que moi j'ai 2 coeurs et j'ai les 2 à 3280 MHz

cela semble indiquer que tes cœurs sont toujours au maximum.

Cela se règle quelque part, mais je ne sais plus où (c'est une histoire de "max" et de "on demand")

EDIT
voir cette page : https://wiki.ubuntu-fr.org/cpu-frequtils

Dernière modification par chepioq (Le 15/07/2016, à 20:44)


Tout est dans tout et réciproquement....

Hors ligne

#1256 Le 21/07/2016, à 09:25

dln35

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

j'ai aussi un problème avec conky que je n'arrive pas à résoudre et j'en viens donc ici quémander de l'aide!

j'ai ouvert un post ici mais malgré l'aide de skubu pas de solution.

Si je met le lien vers le post c'est parce qu'il y a déjà les infos sur le conkyrc et les différentes lignes de commande essayées!

En gros pour résumer j'ai les "jauges" CPU qui s'affichent mais pas les autres, cela viendrait-il du LUA? autre?

merci

Hors ligne

#1257 Le 06/08/2016, à 18:04

pianistocrate

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

Salut à tous !
Longtemps, je me suis couché de bonne heure.
Nan, c'est pas ça ! Marcel s'est tout pelé à la main, n'a jamais galéré avec le binaire, lui ! big_smile
Longtemps, j'ai utilisé conky.
Plus précisément ce bon vieux conky du Clapico's blog. Simple et de bon goût. wink
Marchait très bien avec la 14.04 LTS ; mais depuis la migration vers la 16.04, il tire la tronche ; plus de pendule, ni de jolis cercles autour des variables. Bref, la misère.
Quelqu'un aurait une idée du remède possible ?
Je veux bien poster le .conkyrc s'il y a besoin d'en modifier la syntaxe pour la rendre compatible avec la nouvelle version de conky.
J'utilise une Emmabuntüs (sur base Xubuntu donc), qui comporte d'origine un Cairo-dock (un peu modifié par leurs soins) ; il me semble avoir lu qqpart que le conky n'était pas très copain avec le Cairo-dock. Quel est votre avis ?

J'ai déplacé ici cette question que j'avais posée dans le Café ; probablement un mauvais choix, au vu de l'absence de réponse.


« 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

#1258 Le 06/08/2016, à 18:07

ljere

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

bonjour,
on a déjà expliqué les changements qu'il y a à faire avec la nouvelle version,
mais oui tu peux poster le conkyrc si jamais quelqu'un a le temps de le modifier.


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#1259 Le 06/08/2016, à 18:10

pianistocrate

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

Merci de ta réponse rapide ! cool
Quel est ton avis sur l'incompatibilité supposée de conky avec le cairo dock ?

Voici le .conkyrc à modifier, si une âme charitable veut bien s'en charger...:
(Il faudrait si possible introduire 2 modifications :
1. mon proc. est un double cœur...
2. j'ai 2 partitions séparées pour le / et pour le /home ; s'il n'y en a qu'une seule de possible, c'est évidemment celle du /home que je voudrais voir s'afficher.)

# 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_type override
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/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 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}QUIMPER${font}
${font caviar dreams:size=12}${color FFFFFF}${alignr}${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ LFRQ temperature temperature 30} °C${font}
${image ~/.conky/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 eth0}
${color FFFFFF}${goto 125}${upspeed eth0}
${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}${pre_exec cat /etc/issue.net}  $machine
${color FF6600}${font caviar dreams:size=8}${alignr}Kernel: ${kernel}

Sinon, je veux bien le lien sur le tuto pour essayer la modif moi-même.
Voilà l'aspect actuel du conky :

aspect actuel du conky

Dernière modification par pianistocrate (Le 06/08/2016, à 18:39)


« 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

#1260 Le 06/08/2016, à 18:52

ljere

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#1261 Le 06/08/2016, à 19:15

jlfh0816

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

jlfh0816 a écrit :

@pianistocrate
à tout hasard, as-tu essayé cette commande de metalux (c'est le post #118)?
correction conky 11

Dernière modification par jlfh0816 (Le 06/08/2016, à 19:16)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#1262 Le 07/08/2016, à 07:26

chepioq

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

@pianistocrate
Essaye celui-ci :

conky.config = {
background = false,
update_interval = 1,

cpu_avg_samples = 2,
net_avg_samples = 2,

override_utf8_locale = true,

double_buffer = true,
no_buffers = true,

text_buffer_size = 2048,


temperature_unit = 'fahrenheit',

own_window = true,
own_window_type = 'normal',
own_window_transparent = true,
own_window_argb_visual = true,
own_window_hints = 'undecorated,sticky,skip_taskbar,skip_pager,below',

border_inner_margin = 0,
border_outer_margin = 0,

minimum_width = 200,
minimum_height = 250,
maximum_width = 200,

alignment = 'top_right',
gap_x = 35,
gap_y = 55,


draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,


use_xft = true,
font = 'caviar dreams:size=8',
xftalpha = 0.5 ,

uppercase = false,

temperature_unit = 'celsius',


default_color = 'FFFFFF',

lua_load = '~/.conky/clock_rings.lua',
lua_draw_hook_pre = 'clock_rings',
}

conky.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}QUIMPER${font}
${font caviar dreams:size=12}${color FFFFFF}${alignr}${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ LFRQ temperature temperature 30} °C${font}
${image ~/.conky/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 eth0}
${color FFFFFF}${goto 125}${upspeed eth0}
${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}
]]

Quelques explications :
--J'ai mis own_window_type = 'normal', car override ne me permet pas d'afficher le conky
--undecorate a été remplacé par undecorated dans own_window_hints = 'undecorate,sticky,skip_taskbar,skip_pager,below',
--les abréviations (tr, tl tm etc...) dans" alignment =  ne fonctionne pas encore avec conky 1.10 tu es obligé de mettre la variable complète, ici alignment = 'top_right', j'ai fait une demande sur le site conky, mais cela n'est pas encore pris en compte : https://github.com/brndnmtthws/conky/pull/304
--pre_exec n'existe plus sous conky 1.10
--minimum_size 200 250 ne fonctionne plus, la variable minimum_size n'existe plus, je l'ai remplacé par
minimum_width = 200,
minimum_height = 250,
à toi de voir si cela te convient.
-- j'ai rajouté own_window_argb_visual = true, sinon chez moi le conky n'est pas transparent (cela est du à la variable own_window_type = 'normal' que j'ai modifié

Pour le script lua, je n'ai pas pu testé, je n'ai pas ce clock_rings.lua chez moi.


Tout est dans tout et réciproquement....

Hors ligne

#1263 Le 07/08/2016, à 12:22

pianistocrate

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

@chepioq
un immense merci pour ce patient travail de transcription digne d'un bénédictin du Moyen Âge. cool
Désolé de devoir t'annoncer que le résultat espéré n'est pas au rendez-vous : je me retrouve exactement avec le même conky que celui de ma copie d'écran ci-dessus, sauf qu'au lieu d'être transparent, il est sur fond noir.
J'ai bien sûr vérifié que c'était bien la nouvelle syntaxe qui était dans le .conkyrc. Hélas, pas d'erreur de ce côté là.
Ce qui tendrait à montrer que le nouveau conky "sait et peut" réinterpréter au moins une partie de l’ancien code, comme il me semble l'avoir lu qqpart.
Et que le problème ne viendrait pas de là.
J'ai trouvé sur Gnome-look-org un conky qui ne me déplaît pas et que j'utiliserais à la place de celui qui pose problème. Comme il est beaucoup plus récent, je suppose qu'il poserait moins de difficultés.
Mais dans les instructions d'installation, il est parlé d'un fichier config.yml dont je ne sais pas comment l'ouvrir pour le modifier. Avant de me lancer, j'aimerais savoir où je vais et avoir un avis... wink


« 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

#1264 Le 07/08/2016, à 12:43

chepioq

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

Quelle version de conky as-tu ?
Pour le savoir donne nous le resultat de la commande

conky -v

Chez moi le conky que je t'ai donné fonctionne j'ai même les anneaux j'ai pu récupérer le clock_ring.lua en suivant tes liens.


Tout est dans tout et réciproquement....

Hors ligne

#1265 Le 07/08/2016, à 12:49

pianistocrate

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

Résultat de la commande :

jgs@jgs-OptiPlex-755:~$ conky -v
conky 1.10.3 compiled Sun Jul  3 09:05:23 UTC 2016 for Linux 3.13.0-91-generic x86_64

Compiled in features:

System config file: /etc/conky/conky.conf
Package library path: /usr/lib/conky


 General:
  * math
  * hddtemp
  * portmon
  * IPv6
  * Curl
  * RSS
  * Weather (METAR)
  * Weather (XOAP)
  * wireless
  * support for IBM/Lenovo notebooks
  * nvidia
  * eve-online
  * builtin default configuration
  * old configuration syntax
  * Imlib2
  * apcupsd
  * iostats
  * ncurses
  * Internationalization support

 Lua bindings:
  * Cairo
  * Imlib2
  * RSVG
 X11:
  * Xdamage extension
  * Xinerama extension (virtual display)
  * XDBE (double buffer extension)
  * Xft
  * ARGB visual
  * Own window

 Music detection:
  * Audacious
  * MPD
  * MOC
  * XMMS2

 Default values:
  * Netdevice: eth0
  * Local configfile: $HOME/.conkyrc
  * Localedir: /usr/share/locale
  * Maximum netdevices: 64
  * Maximum text size: 16384
  * Size text buffer: 256
jgs@jgs-OptiPlex-755:~$ 

« 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

#1266 Le 07/08/2016, à 13:14

chepioq

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

C'est donc bien la version 1.10 que tu as.
Là je ne suis pas avec mon ordi, mais en fin d'après-midi je te donnerai le conky qui fonctionne chez moi ainsi que le lua (je l'ai modifié pour avoir les 2 cpu et / avec /home.
En attendant essaye en remettant own_window_type = 'override' , et en supprimant own_window_argb_visual = true


Tout est dans tout et réciproquement....

Hors ligne

#1267 Le 07/08/2016, à 13:27

chepioq

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

Si tu lances ton conky par la console tu as des messages d'erreur ?


Tout est dans tout et réciproquement....

Hors ligne

#1268 Le 07/08/2016, à 13:32

pianistocrate

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

chepioq a écrit :

Si tu lances ton conky par la console tu as des messages d'erreur ?

Oui :

conky: llua_do_call: function conky_clock_rings execution failed: /home/jgs/.conky/clock_rings.lua:286: attempt to perform arithmetic on local 'value' (a nil value)

J'ai fait les 2 modifs que tu suggères ; j'ai récupéré la transparence, mais sinon rien n'a changé.
J'ai carrément effacé la ligne own_window_argb_visual = true. C'est bien ce qu'il fallait faire ?


« 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

#1269 Le 07/08/2016, à 13:54

ljere

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

pianistocrate a écrit :

J'ai trouvé sur Gnome-look-org un conky qui ne me déplaît pas et que j'utiliserais à la place de celui qui pose problème. Comme il est beaucoup plus récent, je suppose qu'il poserait moins de difficultés.
Mais dans les instructions d'installation, il est parlé d'un fichier config.yml dont je ne sais pas comment l'ouvrir pour le modifier. Avant de me lancer, j'aimerais savoir où je vais et avoir un avis... wink

Bonjour,
je viens de tester ce conky, je te le déconseille pour plusieurs raisons
il utilise l'ancienne version de conky c'est dommage
il faut avoir un compte  sur http://forecast.io
il utilise des sites anglais donc des modifs à faire si tu veux utiliser des sites en français
il faut des bases en python pour justement faire ces modifs et corriger quelques petits détails

tu peux donner le contenu de
/home/jgs/.conky/clock_rings.lua

Dernière modification par ljere (Le 07/08/2016, à 13:56)


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#1270 Le 07/08/2016, à 14:33

pianistocrate

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

ljere a écrit :
pianistocrate a écrit :

J'ai trouvé sur Gnome-look-org un conky qui ne me déplaît pas et que j'utiliserais à la place de celui qui pose problème. Comme il est beaucoup plus récent, je suppose qu'il poserait moins de difficultés.
Mais dans les instructions d'installation, il est parlé d'un fichier config.yml dont je ne sais pas comment l'ouvrir pour le modifier. Avant de me lancer, j'aimerais savoir où je vais et avoir un avis... wink

Bonjour,
je viens de tester ce conky, je te le déconseille pour plusieurs raisons
il utilise l'ancienne version de conky c'est dommage
il faut avoir un compte  sur http://forecast.io
il utilise des sites anglais donc des modifs à faire si tu veux utiliser des sites en français
il faut des bases en python pour justement faire ces modifs et corriger quelques petits détails

OK, j'oublie, donc. Et puis, si on arrive à faire marcher le Clapico's que tu as testé chez toi (avec les modifs pour le 2ble cœurs et les 2 partitions)... cool

tu peux donner le contenu de
/home/jgs/.conky/clock_rings.lua

Oui, si tu m'expliques comment faire... wink

Dernière modification par pianistocrate (Le 07/08/2016, à 14:36)


« 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

#1271 Le 07/08/2016, à 16:30

chepioq

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

@pianistocrate
Comme promis je te donne ce que j'ai et qui fonctionne chez moi.

le conky :

conky.config = {
background = false,
update_interval = 1,

cpu_avg_samples = 2,
net_avg_samples = 2,

override_utf8_locale = true,

double_buffer = true,
no_buffers = true,

text_buffer_size = 2048,


temperature_unit = 'fahrenheit',

own_window = true,
own_window_type = 'normal',
own_window_transparent = true,
own_window_argb_visual = true,
own_window_hints = 'undecorated,sticky,skip_taskbar,skip_pager,below',

border_inner_margin = 0,
border_outer_margin = 0,

minimum_width = 200,
minimum_height = 250,
maximum_width = 200,

alignment = 'top_right',
gap_x = 35,
gap_y = 55,


draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,


use_xft = true,
font = 'caviar dreams:size=8',
xftalpha = 0.5 ,

uppercase = false,

temperature_unit = 'celsius',


default_color = 'FFFFFF',

lua_load = '~/.conkyrc/clock_rings.lua',
lua_draw_hook_pre = 'clock_rings',
}

conky.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}QUIMPER${font}
${font caviar dreams:size=12}${color FFFFFF}${alignr}${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ LFRQ temperature temperature 30} °C${font}
${image ~/.conkyrc/new-ubuntu-logo.png -p 64,125 -s 70x20}

${color FFFFFF}${goto 25}${voffset 35}${cpu cpu0}%
${color FFFFFF}${goto 25}${cpu cpu1}%
${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 FFFFFF}${goto 100}${fs_used_perc /home}%
${color FF6600}${goto 100}Disk
${color FFFFFF}${goto 125}${voffset 25}${downspeed eth0}
${color FFFFFF}${goto 125}${upspeed eth0}
${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}
]]

le script clock_rings.lua :

--[[
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=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=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)
        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

Et le résultat :
1470579829.jpg
Il faudra bien sur adapter les différents chemins à ta configuration.

Tu as bien fait d'effacer la ligne own_window_argb_visual = true, je ne m'en souvenais plus, mais cette variable ne fonctionne que si le compositing (ou effet de bureau) est activé chez toi.


Tout est dans tout et réciproquement....

Hors ligne

#1272 Le 07/08/2016, à 18:09

pianistocrate

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

Je te remercie beaucoup, mais avant de mettre ça en œuvre, il faudrait que tu me dises sous quelle forme doit se trouver le script clock_rings (quel type de fichier ? L'écrire avec Gedit ?) et à quel endroit de mon home je dois le placer ?
En tous cas, le résultat est très joli, et ton fond d'écran a l'air pas mal non plus ; où est-ce que je pourrais le trouver ? wink


« 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

#1273 Le 07/08/2016, à 18:29

pianistocrate

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

Je me réponds à moi-même, ce qui te permettra de vérifier :
1. le script clock_rings.lua se trouve dans le répertoire .Conky, dans le dossier /home. J'ai renommé l'ancien en [old] et copié-collé le tien dans le script initial.
2. J'ai bien remplacé le contenu du conkyrc par ton code.
Je me suis déconnecté ; et j'ai même carrément redémarré.
Résultat des courses :
1. toujours pas de pendule.
2. toujours pas de cercles.
3. cependant les 2 cœurs sont bien pris en compte, de même que les 2 partitions root & home.
hmm sad

https://lut.im/fTaFjH5ksM/WcUHbwVmdyebWSZX.png


Modération : merci d'utiliser des images de petite taille (300x300) ou des miniatures pointant sur ces images (Des hébergeurs comme Toile Libre ou TDCT'Pix le permettent).

Dernière modification par cqfd93 (Le 07/08/2016, à 19:05)


« 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

#1274 Le 07/08/2016, à 18:36

chepioq

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

Dans le code que je t'ai donné, le conkyrc et le script lua sont appelé dans mon dossier .conkyrc
Il faut que tu remplaces, dans le conkyrc,

lua_load = '~/.conkyrc/clock_rings.lua',

par

lua_load = '~/.Conky/clock_rings.lua',

Tout est dans tout et réciproquement....

Hors ligne

#1275 Le 07/08/2016, à 18:46

pianistocrate

Re : [5] Conky : Postez vos conkyrc ou certaines parties intéressantes

J'ai fait la modif, mais, désolé, ça ne change rien...
Ci-dessous le contenu de mon .conkyrc :

conky.config = {
background = false,
update_interval = 1,

cpu_avg_samples = 2,
net_avg_samples = 2,

override_utf8_locale = true,

double_buffer = true,
no_buffers = true,

text_buffer_size = 2048,


temperature_unit = 'fahrenheit',

own_window = true,
own_window_type = 'normal',
own_window_transparent = true,
own_window_argb_visual = true,
own_window_hints = 'undecorated,sticky,skip_taskbar,skip_pager,below',

border_inner_margin = 0,
border_outer_margin = 0,

minimum_width = 200,
minimum_height = 250,
maximum_width = 200,

alignment = 'top_right',
gap_x = 35,
gap_y = 55,


draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,


use_xft = true,
font = 'caviar dreams:size=8',
xftalpha = 0.5 ,

uppercase = false,

temperature_unit = 'celsius',


default_color = 'FFFFFF',

lua_load = '~/.Conky/clock_rings.lua',
lua_draw_hook_pre = 'clock_rings',
}

conky.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}QUIMPER${font}
${font caviar dreams:size=12}${color FFFFFF}${alignr}${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ LFRQ temperature temperature 30} °C${font}
${image ~/.conkyrc/new-ubuntu-logo.png -p 64,125 -s 70x20}

${color FFFFFF}${goto 25}${voffset 35}${cpu cpu0}%
${color FFFFFF}${goto 25}${cpu cpu1}%
${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 FFFFFF}${goto 100}${fs_used_perc /home}%
${color FF6600}${goto 100}Disk
${color FFFFFF}${goto 125}${voffset 25}${downspeed eth0}
${color FFFFFF}${goto 125}${upspeed eth0}
${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}
]]

Et celui du script clock_rings.lua :

--[[
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=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=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)
        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

« 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