Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

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.

#401 Le 23/11/2013, à 12:25

Vaykadji

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

@Joko : change de police alors. Peut-être que Comic Sans MS n'a pas les caractères spéciaux. Essaye par exemple avec Arial, Libération ou Droid Sans. Ces polices sont complètes.

use_xft yes
xftalpha 1
override_utf8_locale yes

TEXT
${font arial:size=12}& - $$ - éùà

Affiche chez moi :

& - $ - éùà

Dernière modification par Vaykadji (Le 23/11/2013, à 12:39)

Hors ligne

#402 Le 23/11/2013, à 14:04

joko

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

étrangement le problème semble avoir disparu...

ps : une très bonne émission le samedi après-midi : cyberculture à 14:00 et hot-line à 15:30 sur radio ici et maintenant

Dernière modification par joko (Le 23/11/2013, à 14:07)


Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks

Hors ligne

#403 Le 25/11/2013, à 11:44

ragamatrix

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

@Didier-TMerci--&&->bonne journée !

Hors ligne

#404 Le 25/11/2013, à 15:39

Phyllinux

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

@ joko
Comme promis, voici quelques impressions d'écran de ce qui est réalisable avec conky concernant les indices de places boursières (mais également, sur la même base, d'un portefeuille), avec le conky de base que j'ai réalisé.
Si tu veux quelque chose de très discret, le 2° exemple, du type widget, peut correspondre à ton besoin.
En revanche, si tu veux du 'lourd' et complet, le 4° est utilisable. Les autres sont des possibilités dérivées...
On peut bien évidemment choisir de faire afficher ou non le graphe, et choisir son 'pas' d'actualisation (mais le conky est lié aux données de Yahoo Finances qui a un petit décalage, ce n'est pas du temps réel).
Si tu es intéressé, je te fais une archive avec un petit 'lisez-moi' pour pouvoir te faire ton conky, à ta main !
xop6.th.jpg

04t0.th.jpg

cbk9.th.jpg

gkkt.th.jpg

doah.th.jpg

Je ne peux pas garantir de te faire cela dans la semaine, car tout dépendra surtout de la qualité de la connexion, très aléatoire en brousse !

Bons conkys big_smile


The ship is sinking normally...

Hors ligne

#405 Le 25/11/2013, à 20:20

Phyllinux

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

Bonsoir goigot200
Pour ce qui est des polices de caractères, voici l'extrait de mon conky :

#### INFOS relatives aux données #####
${voffset 112}${font Radio Space :size=20:style=bold}${color yellow}${alignc}INFOS
${voffset -13}${font Radio Space :size=15:style=bold}${alignc}${color lightblue}MAJ Météo : ${template1 Heure}h${template1 Minute}
${voffset -10}${font Comic sans MS:size=8:style=bold}${alignc}${color red}Meteo Lua ${lua conky_Version}

Vu que je ne sais pas si tu parles de la Police Radio Space, qui est également utilisée pour les titres, ou bien de Comic sans MS qui affiche la version du script météo
Radio Space est téléchargeable ICI


The ship is sinking normally...

Hors ligne

#406 Le 26/11/2013, à 14:04

joko

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

merci beaucoup pour les screenshots, le truc du cac m'intéresse toujours,
mais il n'y aucune urgence...
merci encore...


Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks

Hors ligne

#407 Le 27/11/2013, à 21:38

unit36

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

Bonsoir, moi aussi j'utilise ce site pour la météo mais est-il possible d'avoir les infos dans mon conky en français.
Merci pour l'aide

Llowmob a écrit :

Bonjour, j'ai un problème avec mon conky, il y a comme une ombre en dessous. Je vous met la photo et le conkyrc. Est ce que quelqu'un sais comment enlever cette ombre ?

Image :
http://pix.toile-libre.org/upload/thumb/1382824492.png

Conkyrc :

# Conky settings #
background yes
update_interval 1
double_buffer yes
no_buffers yes

# Window specifications #
gap_x 930
gap_y 185
minimum_size 600 600
maximum_width 430
own_window yes
own_window_type dock
own_window_transparent yes
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
#border_margin 0
#border_inner_margin 0
#border_outer_margin 0
alignment top_left

# Graphics settings #
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no

# Text settings #
use_xft yes
xftalpha 0
xftfont Open Sans Light:size=10

override_utf8_locale yes

imlib_cache_size 0

# Color scheme #
default_color FFFFFF

color1 FFFFFF
color2 424242
color3 AAAAAA

TEXT
${execi 300 curl -s "http://weather.yahooapis.com/forecastrss?w=44418&u=c" -o ~/.cache/weather.xml}${image ~/.conky-weather/assets/Elune/right-bar.png -p 302,14 -s 128x572}${image ~/.conky-weather/assets/Elune/shadow-2.png -p 304,20 -s 54x560}
${color2}${font Droid Sans :size=12}${alignr 10}${voffset 17}${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "low=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==1'}°${alignr 10}/${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "high=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==1'}°
${color3}${font Droid Sans :size=12}${voffset 10}${alignr 10}Today
${color2}${font Droid Sans :size=12}${alignr 10}${voffset 72}${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "low=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==2'}°${alignr 10}/${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "high=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==2'}°
${color3}${font Droid Sans :size=12}${voffset 10}${alignr 10}Tomorrow
${color2}${font Droid Sans :size=12}${voffset 72}${alignr 10}${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "low=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==3'}°${alignr 10}/${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "high=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==3'}°
${color3}${font Droid Sans :size=12}${alignr 10}${voffset 10}${execi 3600 LANG=en_US date -d +2day +%A}
${color2}${font Droid Sans :size=12}${alignr 10}${voffset 72}${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "low=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==4'}°${alignr 10}/${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "high=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==4'}°
${color3}${font Droid Sans :size=12}${voffset 10}${alignr 10}${execi 3600 LANG=en_US date -d +3day +%A}
${color2}${font Droid Sans :size=12}${alignr 10}${voffset 72}${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "low=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==5'}°${alignr 10}/${execi 300 grep "yweather:forecast" ~/.cache/weather.xml | grep -o "high=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==5'}°
${color3}${font Droid Sans :size=12}${voffset 10}${alignr 10}${execi 3600 LANG=en_US date -d +4day +%A}${font Droid Sans :size=12}
${color1}${goto 20}${voffset -136}Humidity:  ${color4}${execi 300 grep "yweather:atmosphere" ~/.cache/weather.xml | grep -o "humidity=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}%
${color1}${goto 20}${voffset 20}Wind:  ${color4}${execi 300 grep "yweather:wind" ~/.cache/weather.xml | grep -o "speed=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}${execi 300 grep "yweather:units" ~/.cache/weather.xml | grep -o "speed=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}
${color1}${goto 20}${voffset 20}Pressure:  ${color4}${execi 300 grep "yweather:atmosphere" ~/.cache/weather.xml | grep -o "pressure=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}${execi 300 grep "yweather:units" ~/.cache/weather.xml | grep -o "pressure=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}
${color1}${goto 20}${voffset 20}Visibility:  ${color4}${execi 300 grep "yweather:atmosphere" ~/.cache/weather.xml | grep -o "visibility=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}${execi 300 grep "yweather:units" ~/.cache/weather.xml | grep -o "distance=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}
${color1}${font Raleway:weight=Light :size=120}${alignr 131}${voffset -520}${execi 300 grep "yweather:condition" ~/.cache/weather.xml | grep -o "temp=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}°
${font Droid Sans :size=16}${alignr 140}${voffset -100}${execi 300 grep "yweather:condition" ~/.cache/weather.xml | grep -o "text=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*"}
${execi 300 cp -f ~/.conky-weather/weather-photos/$(grep "yweather:condition" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*").png ~/.cache/weather.png}${image ~/.cache/weather.png -p 5,20 -s 299x560}${execi 300 cp -f ~/.conky-weather/weather-icons/$(grep "yweather:forecast" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==1').png ~/.cache/weather-1.png}${image ~/.cache/weather-1.png -p 312,30 -s 32x32}${execi 300 cp -f ~/.conky-weather/weather-icons/$(grep "yweather:forecast" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==2').png ~/.cache/weather-2.png}${image ~/.cache/weather-2.png -p 312,150 -s 32x32}${execi 300 cp -f ~/.conky-weather/weather-icons/$(grep "yweather:forecast" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==3').png ~/.cache/weather-3.png}${image ~/.cache/weather-3.png -p 312,270 -s 32x32}${execi 300 cp -f ~/.conky-weather/weather-icons/$(grep "yweather:forecast" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==4').png ~/.cache/weather-4.png}${image ~/.cache/weather-4.png -p 312,390 -s 32x32}${voffset 20}
${execi 300 cp -f ~/.conky-weather/weather-icons/$(grep "yweather:forecast" ~/.cache/weather.xml | grep -o "code=\"[^\"]*\"" | grep -o "\"[^\"]*\"" | grep -o "[^\"]*" | awk 'NR==5').png ~/.cache/weather-5.png}${image ~/.cache/weather-5.png -p 312,510 -s 32x32}${voffset 20}${image ~/.conky-weather/assets/Elune/shadow-1.png -p 0,14 -s 433x572}${font}

Dernière modification par unit36 (Le 27/11/2013, à 21:39)

Hors ligne

#408 Le 27/11/2013, à 21:52

enebre

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

Pour les infos en français il me semble que c'est selon votre choix lorsque vous avez récupérer l'adresse sur le site de la météo et pour l'ombre faudrait désactiver l'image qui gène ou la retrouver dans le dossier images du lua correspondant et peut être la redimensionner.
En attendant que tu ais d'autres infos sur le sujet

on voit ici dans ton conky que tu n'as pas sélectionné la langue française sur le site météo LANG=en_US

${color3}${font Droid Sans :size=12}${alignr 10}${voffset 10}${execi 3600 LANG=en_US date -d +2day +%A}

Dernière modification par enebre (Le 27/11/2013, à 22:00)


Xubuntu.17.04, 32 bit, mini-pc 2 core-duo, dual-boot win7 et xfce, 4Go ram, ssd 22 Go (15Go pr win + 6Go pr xfce / ) + dd 120 Go (50Go pr win data + 70Go pr xfce /home) actuellement 1.9Go libre sur la partition / de xfce.

Hors ligne

#409 Le 27/11/2013, à 22:30

Didier-T

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

bonsoir unit36,
Malheureusement pour toi non, ce n'est pas possible, ils n'ont pas prévu de traduction automatique de leurs flux rss.
voici pour vérifier l'info le lien vers la doc http://developer.yahoo.com/weather/
tu devras te contenter de l'anglais, ou changer de conky pour la météo

Hors ligne

#410 Le 27/11/2013, à 22:57

unit36

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

Merci de vos réponse, Didier-T tu me conseilles quel conky météo.

Hors ligne

#411 Le 28/11/2013, à 07:45

Didier-T

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

Bonjour unit36,
tu peux regarder ici, peut-être y trouveras-tu ton bonheur

Hors ligne

#412 Le 28/11/2013, à 17:41

unit36

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

Salut, merci pour ta réponse je vais y jeter un coup d'oeil. smile

Hors ligne

#413 Le 28/11/2013, à 22:54

Didier-T

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

golgot200 a écrit :

Bonjour à tous,

Je reviens vers vous et comme vous vous en douter je vais vous reposer une question tordue
Sur un conky, est-il possible d'avoir une ombre portée et avec un décalage au choix ?
Identique à celle qu'on aurait pu choisir pour les effets sur ses fenêtres. J'utilise Compton et je suis sur XFCE.
Merci par avance pour la prise de tête éventuellement. smile

une ombre de quoi ?
la fenêtre, ou le contenu de la fenêtre (une horloge par exemple)

Hors ligne

#414 Le 01/12/2013, à 11:06

Didier-T

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

Salut golgot200,
ça doit pouvoir ce faire, mais je sais par exactement comment, enfin une chose est certaine, il te faut l'own_window_type sur normal, et après sa se jouera sur les réglages de own_window_hints.

donc tu peux faire des essais en commençant par ça

own_window_type normal
own_window_hints

les paramètres les plus fréquents sont  undecorated,below,above,sticky,skip_taskbar,skip_pager.
mais il y en a certainement d'autres

tu peut aussi essayer de régler own_windows_type sur desktop, d'apprès la doc ubuntu section 4.1, sa ajouterais une ombre

own_window_type desktop

Dernière modification par Didier-T (Le 01/12/2013, à 11:12)

Hors ligne

#415 Le 03/12/2013, à 20:55

unit36

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

Bonsoir à tous, j'ai essayé de faire ce conky météo : conky météo, mais c'est ses messages d'erreur dans mon terminal :

WARNING: gnome-keyring:: couldn't connect to: /home/jerome/.cache/keyring-7x8vD7/pkcs11: No such file or directory
Conky: desktop window (1800003) is subwindow of root window (153)
Conky: window type - normal
Conky: drawing to created window (0x1e00002)
Conky: drawing to double buffer
ERROR: Config data file /home/jerome/.conkyForecast.config not found, using defaults (Registration info is needed though)
Traceback (most recent call last):
  File "/usr/share/conkyforecast/conkyForecast.py", line 1670, in <module>
    main()
  File "/usr/share/conkyforecast/conkyForecast.py", line 1666, in main
    forecastinfo = ForecastInfo(options)
  File "/usr/share/conkyforecast/conkyForecast.py", line 584, in __init__
    socket.setdefaulttimeout(self.config.CONNECTION_TIMEOUT)
AttributeError: 'NoneType' object has no attribute 'CONNECTION_TIMEOUT'

De plus je n'ai rien à l'écran.
Merci pour l'aide

Hors ligne

#416 Le 03/12/2013, à 22:35

Didier-T

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

unit36 a écrit :

Bonsoir à tous, j'ai essayé de faire ce conky météo : conky météo, mais c'est ses messages d'erreur dans mon terminal :

WARNING: gnome-keyring:: couldn't connect to: /home/jerome/.cache/keyring-7x8vD7/pkcs11: No such file or directory
Conky: desktop window (1800003) is subwindow of root window (153)
Conky: window type - normal
Conky: drawing to created window (0x1e00002)
Conky: drawing to double buffer
ERROR: Config data file /home/jerome/.conkyForecast.config not found, using defaults (Registration info is needed though)
Traceback (most recent call last):
  File "/usr/share/conkyforecast/conkyForecast.py", line 1670, in <module>
    main()
  File "/usr/share/conkyforecast/conkyForecast.py", line 1666, in main
    forecastinfo = ForecastInfo(options)
  File "/usr/share/conkyforecast/conkyForecast.py", line 584, in __init__
    socket.setdefaulttimeout(self.config.CONNECTION_TIMEOUT)
AttributeError: 'NoneType' object has no attribute 'CONNECTION_TIMEOUT'

De plus je n'ai rien à l'écran.
Merci pour l'aide

il te manque le fichier .conkyForecast.config qui sert a passer des infos au script python.

TIME_FORMAT
DATE_FORMAT
LOCALE
XOAP_PARTNER_ID
XOAP_LICENCE_KEY
MAXIMUM_DAYS_FORECAST
AUTO_NIGHTBASE_XOAP_URLPROXY_HOST
PROXY_PORT
PROXY_USERNAME
PROXY_PASSWORD

je ne sais pas à quoi ces paramètres correspondent exactement, mais il y en a deux qui me laissent penser que l'accès aux infos doit être conditionné à un abonnement peut-être payant (XOAP_PARTNER_ID, XOAP_LICENCE_KEY)

Hors ligne

#417 Le 04/12/2013, à 11:39

joko

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

pour info pour les problèmes de caractères ont été résolus en enregistrant le fichier d'origine avec la commande :

iconv -f ISO-8859-1 -t UTF-8 fichier_source.php -o fichier_sortie.php

Dernière modification par joko (Le 04/12/2013, à 11:40)


Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks

Hors ligne

#418 Le 16/12/2013, à 20:34

Vaykadji

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

Hello vous,

Suite à la demande de Pololasi, voici la configuration de mon conky de droite, visible sur ce screen :
1387138043.png

background yes
use_xft yes
xftfont shrapnel:size=9
xftalpha 1
update_interval 1
total_run_times 0
double_buffer

own_window yes
own_window_type normal
own_window_transparent yes
own_window_colour 000000
own_window_argb_visual yes
own_window_argb_value 0
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

draw_shades no
draw_outline yes
draw_borders no
draw_graph_borders no
default_color DEDEDE
default_shade_color 000000
default_outline_color 000000
alignment bottom_right
gap_x 20
gap_y 20
#no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
border_width 5

minimum_size 400
#text_buffer_size 8000

TEXT
${font BankGothic Md BT:pixelsize=20}${alignc}${time [ %A, %H:%M ]}${font}
${font BankGothic Md BT:pixelsize=40}${alignc}${time %d %B}${font}
${voffset -15}${font BankGothic Md BT:pixelsize=65}${alignc}${time %Y}${font}
${font BankGothic Md BT:pixelsize=13}${voffset 10}[ Processeur ${alignr}${freq_g}Ghz - ${cpu cpu0}% ]
${cpubar cpu0} 
[ Mémoire vive ${alignr}${mem} / ${memmax} ]
${membar}
[ Disque dur ${alignr}${fs_free /} / ${fs_size /} ]
${fs_bar}
${voffset 0}${alignc}---
${font BankGothic Md BT:pixelsize=11}${alignc}[ Temps écoulé depuis le démarrage: ${uptime_short} ]

Police à mettre dans ~/.fonts : BankGothic Medium (BankGthd.ttf) : http://www.font-zone.com/download.php?fid=111

Dernière modification par Vaykadji (Le 16/12/2013, à 20:38)

Hors ligne

#419 Le 27/12/2013, à 00:05

loutch

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

Bonjour

Je voudrais ajouter la jaquette de l'album joué par audacious dans mon conky .Si l'un de vous a un truc "simple".J'ai un peu regardé mais l'anglish et moi ça fait 2.

Voici le conky et une image :

background no
use_xft yes
xftfont DejaVu Sans :size=8
xftalpha 1
update_interval 1.0
total_run_times 0
own_window yes
own_window_transparent yes
own_window_argb_visual yes
own_window_type normal
own_window_hints undecorated,below,skip_taskbar,skip_pager
double_buffer yes
minimum_size 300 2
maximum_width 300
text_buffer_size 1024
draw_shades no
draw_outline no
draw_borders no
border_width 1
draw_graph_borders no
default_color white
default_outline_color cacaca
alignment top_right
gap_x 100
gap_y 0
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes

TEXT 
${if_running audacious}
AUDACIOUS   

Artiste :  ${exec audtool --current-song-tuple-data artist}
Album  : ${exec audtool --current-song-tuple-data album}
Titre     : ${exec audtool --current-song-tuple-data title}
Année  : ${exec audtool --current-song-tuple-data year}
Position : ${execi 0.5 audtool --current-song-output-length} ${alignr}Durée : ${exec audtool --current-song-length}
${execbar expr 100 \* $(audtool --current-song-output-length-seconds) \/ $(audtool --current-song-length-seconds)}
$endif

1388095158.png

Merci d'avance et

@+

Hors ligne

#420 Le 17/01/2014, à 17:50

ragamatrix

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

@Didier-T
Salut;
Il me semble que tu avais participé au projet du conky interactif. Je voulais savoir si tu en avais testé un sans la météo ? un truc dans ce genre là :
conky interactif
Bien évidemment je cherche ce code et je ne le trouve pas... ou aimerais en tester, faire ou participer à la création d' un similaire horizontal...

Dernière modification par ragamatrix (Le 17/01/2014, à 17:53)

Hors ligne

#421 Le 17/01/2014, à 19:55

Didier-T

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

Salut ragamatrix,
le code que tu cherches doit être sur cette page, mais tu sais l'anglais et moi...

Hors ligne

#422 Le 17/01/2014, à 20:24

ragamatrix

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

Didier-T a écrit :

Salut ragamatrix,
le code que tu cherches doit être sur cette page, mais tu sais l'anglais et moi...

En fait je viens d'avoir une réponse de Sector11 et le code n'a jamais été posté et ne le sera pas ... Donc il faut en faire un avec le script de mrpeachy:

 --[[click with mouse over lua by mrpeachy - thanks to barrybarrykelly for the xdotool method and gmonti for finding the deb files for the xdotool
in conkyrc, in addition to regular settings:

own_window_title clicky
lua_load ~/lua/clicky.lua
lua_draw_hook_pre main
TEXT

lines that need editing
50 - to point to where you saved the frame png
283 - function may need editing depending on how many cpus you have
]]

require 'cairo'
require 'imlib2'

click_start=1-- this starts the clickfunction
buttons={}--this table ini9tially holds the values from the buttons
buttons["show_number"]=5--initiates number of processes to show
function conky_main()
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)
cr = cairo_create(cs)
local updates=tonumber(conky_parse('${updates}'))
if updates>5 then
--#################################################################################################
localx,localy,localnowx,localnowy=clickfunction()--this line activates the clickfunction and sets the click coordinates
--#################################################################################################
--SET DEFAULTS ##########################################################
--set defaults do not localise these defaults if you use a seperate display script
default_font="Glass TTY VT220"--font must be in quotes
default_font_size=12
default_face="normal"
default_color=0x00ff00--white
default_alpha=1--fully opaque
default_image_width=50
default_image_height=50
--#################################################################################################
out({c=0x00ff00,fc="normal",x=148,y=90-17,fs=24,txt=conky_parse("${cpu cpu0}").."%"})
out({c=0x00ff00,fc="normal",x=148,y=210-17,fs=24,txt=conky_parse("${memperc}").."%"})
out({c=0x00ff00,fc="normal",x=133,y=330-17,fs=24,txt=string.gsub(conky_parse("${diskio}"),"iB","")})
--image({file="/home/mcdowall/Pictures/new_frame/artdeco2.png",x=5,y=5,w=500,h=600,})
--buttons
button2(300,86-17)
button3(300,192-17)
button4(300,326-17)
--draw glass
--x=98,y=424 -- x= +8 y= -17
image({x=98,y=424,h=400,w=400,file="/home/mcdowall/Pictures/systemglass.png"})

image({x=77,y=856,h=500,w=400,file="/home/mcdowall/Pictures/screenglass.png"})
--#################################################################################################
end-- if updates>5
cairo_destroy(cr)
cairo_surface_destroy(cs)
cr=nil
return ""
end-- end main function
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--this starts one section for buttons and sub buttons--############################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
function button2(x,y)--copy and paste this function repeatedly for new buttons, change button function name for each set
--setup main button as first then sub buttons in order
button_table={
"cmain",
"pmain",
"mode",
"ppid",
"pmem",
"ptm",
}--[[each button, except the main, will need a seerate function giving the output of what the button contols
the function shoud be named like so

function button_name_function

where button_name is replaced by the name in the above table eg cpu_function
]]
button_label={--what to show in the box for each button, can be commands also
"C",
"P",
"M",
"I",
"M",
"T",
}
button_image={
"/home/mcdowall/Pictures/buttons/pearl_c",
"/home/mcdowall/Pictures/buttons/pearl_p",
"/home/mcdowall/Pictures/buttons/pearl_m",
"/home/mcdowall/Pictures/buttons/pearl_i",
"/home/mcdowall/Pictures/buttons/pearl_m",
"/home/mcdowall/Pictures/buttons/pearl_t",
}
--#################################################################################################
--main button setup - this section for an on/off button 
local height=20--height of click area
local width=20--width of click area
local displayx=x--taken from main function
local displayy=y-3--taken from main function
--#########################################################################################################
local main_height=height
local height=control_height--height of click area
local main_width=width
local width=control_width--width of click area
local main_blx=blx
local main_bly=bly--]]
--#########################################################################################################]]
local yadd=0--set to main button height	
local xadd=0
	for i=1,#button_table do--becaseuse first entry is main button name
	local button_name=button_table[i]
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
-- x= +8 y= -17 (+7 -18)
if i<4 then
blx=120+((i-1)*(30))
bly=195-67-18
else
blx=120+((i-4)*(30))
bly=225-67-18
end
local height=20
local width=20
local size_adjust=1.25
	--best to keep the button calculations seperate to the actions##
		if localx>=blx and localx<=blx+width and localy<=bly and localy>=bly-height and buttons[tostring(button_name)]~=1 then
		buttons[tostring(button_name)]=1
		elseif localx>=blx and localx<=blx+width and localy<=bly and localy>=bly-height and buttons[tostring(button_name)]==1 then
		buttons[tostring(button_name)]=0
		elseif localx<blx and localx>blx+width and localy<bly and localy>bly-height and buttons[tostring(button_name)]~=1 then
		buttons[tostring(button_name)]=0 end
	--end of calculations ##########################################
--mouseover #########################################
		if localnowx>=blx and localnowx<=blx+width and localnowy<=bly and localnowy>=bly-height then
		color={0,0,0,0}
		fill=1
		hexcol=0x00ffff
		buttons[tostring(button_name.."mo")]=1
		buttondraw(blx,bly,height,width,color,fill)
--button size change##########################
		width_adj=width*size_adjust
		height_adj=height*size_adjust
	blx_adj=blx-(width*((size_adjust-1)/2))
	bly_adj=bly+(height*((size_adjust-1)/2))
--##################################################
		else
		hexcol=0x00ff00
--button size change##########################
		width_adj=width
		height_adj=height
		blx_adj=blx
		bly_adj=bly
--##################################################
		end
		--##############################################################
		--button on off
		if buttons[tostring(button_name)]==1 then
		color={1,0,0,0}--if button is clicked on it will be drawn red
		fill=0
		hexcol=0x00ffff
		--buttondraw(blx,bly,height,width,color,fill)
--draw button ########################################
image({x=blx_adj,y=bly_adj,w=width_adj,h=height_adj,file=button_image[i].."_on.png"})
--draw button ########################################
		loadstring(button_name.."_function ("..displayx..","..displayy..","..xadd..","..yadd..","..main_blx..","..main_bly..","..main_width..","..main_height..")")()
		else
		color={0,1,1,0}
		fill=0
		--hexcol=0x00ff00
		--buttondraw(blx,bly,height,width,color,fill)
--draw button ########################################
image({x=blx_adj,y=bly_adj,w=width_adj,h=height_adj,file=button_image[i]..".png"})
--draw button ########################################
		end--button on off
		--out({c=hexcol,fc="bold",x=blx+3,y=bly-3,txt=button_label[i]})
		--##############################################################
	end--for loop
--#########################################################################################################
end--of button2 function--copy and paste this function repeatedly for new buttons, change button function name for each set
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--this section for buttons and sub buttons--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
function button3(x,y)--copy and paste this function repeatedly for new buttons, change button function name for each set
--setup main button as first then sub buttons in order
button_table={
"memory",
"memmain",
"memppid",
"mempcpu",
"mempvs",
"memrez",
}--[[each button, except the main, will need a seerate function giving the output of what the button contols
the function shoud be named like so

function button_name_function

where button_name is replaced by the name in the above table eg cpu_function
]]
button_label={--what to show in the box for each button, can be commands also
"M",
"P",
"I",
"C",
"V",
"R",
}
button_image={
"/home/mcdowall/Pictures/buttons/pearl_m",
"/home/mcdowall/Pictures/buttons/pearl_p",
"/home/mcdowall/Pictures/buttons/pearl_i",
"/home/mcdowall/Pictures/buttons/pearl_c",
"/home/mcdowall/Pictures/buttons/pearl_v",
"/home/mcdowall/Pictures/buttons/pearl_r",
}
--#################################################################################################
--#################################################################################################
--main button setup - this section for an on/off button 
local height=20--height of click area
local width=20--width of click area
local displayx=x--taken from main function
local displayy=y-3--taken from main function
--#########################################################################################################
local main_height=height
local height=control_height--height of click area
local main_width=width
local width=control_width--width of click area
local main_blx=blx
local main_bly=bly--]]
--#########################################################################################################]]
local yadd=0--set to main button height	
local xadd=0
	for i=1,#button_table do--becaseuse first entry is main button name
	local button_name=button_table[i]
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
-- x= +8 y= -17 (+7 -18)
if i<4 then
blx=120+((i-1)*(30))
bly=313-67-16
else
blx=120+((i-4)*(30))
bly=343-67-16
end
local height=20
local width=20
local size_adjust=1.25
	--best to keep the button calculations seperate to the actions##
		if localx>=blx and localx<=blx+width and localy<=bly and localy>=bly-height and buttons[tostring(button_name)]~=1 then
		buttons[tostring(button_name)]=1
		elseif localx>=blx and localx<=blx+width and localy<=bly and localy>=bly-height and buttons[tostring(button_name)]==1 then
		buttons[tostring(button_name)]=0
		elseif localx<blx and localx>blx+width and localy<bly and localy>bly-height and buttons[tostring(button_name)]~=1 then
		buttons[tostring(button_name)]=0 end
	--end of calculations ##########################################
--mouseover #########################################
		if localnowx>=blx and localnowx<=blx+width and localnowy<=bly and localnowy>=bly-height then
		color={0,0,0,0}
		fill=1
		hexcol=0x00ffff
		buttons[tostring(button_name.."mo")]=1
		buttondraw(blx,bly,height,width,color,fill)
--button size change##########################
		width_adj=width*size_adjust
		height_adj=height*size_adjust
	blx_adj=blx-(width*((size_adjust-1)/2))
	bly_adj=bly+(height*((size_adjust-1)/2))
--##################################################
		else
		hexcol=0x00ff00
--button size change##########################
		width_adj=width
		height_adj=height
		blx_adj=blx
		bly_adj=bly
--##################################################
		end
		--##############################################################
		--button on off
		if buttons[tostring(button_name)]==1 then
		color={1,0,0,0}--if button is clicked on it will be drawn red
		fill=0
		hexcol=0x00ffff
		--buttondraw(blx,bly,height,width,color,fill)
--draw button ########################################
image({x=blx_adj,y=bly_adj,w=width_adj,h=height_adj,file=button_image[i].."_on.png"})
--draw button ########################################
		loadstring(button_name.."_function ("..displayx..","..displayy..","..xadd..","..yadd..","..main_blx..","..main_bly..","..main_width..","..main_height..")")()
		else
		color={0,1,1,0}
		fill=0
		--hexcol=0x00ff00
		---buttondraw(blx,bly,height,width,color,fill)
--draw button ########################################
image({x=blx_adj,y=bly_adj,w=width_adj,h=height_adj,file=button_image[i]..".png"})
--draw button ########################################
		end--button on off
		--out({c=hexcol,fc="bold",x=blx+3,y=bly-3,txt=button_label[i]})
		--##############################################################
	end--for loop
--#########################################################################################################
end--of button2 function--copy and paste this function repeatedly for new buttons, change button function name for each set
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--this starts one section for buttons and sub buttons--############################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
function button4(x,y)--copy and paste this function repeatedly for new buttons, change button function name for each set
--setup main button as first then sub buttons in order
button_table={
"dsmain",
"dspmain",
"dsother",
"dsread",
"dswrite",
"dspid",
}--[[each button, except the main, will need a seerate function giving the output of what the button contols
the function shoud be named like so

function button_name_function

where button_name is replaced by the name in the above table eg cpu_function
]]
button_label={--what to show in the box for each button, can be commands also
"D",
"P",
" ",
"R",
"W",
"I",
}
button_image={
"/home/mcdowall/Pictures/buttons/pearl_d",
"/home/mcdowall/Pictures/buttons/pearl_p",
"/home/mcdowall/Pictures/buttons/pearl",
"/home/mcdowall/Pictures/buttons/pearl_r",
"/home/mcdowall/Pictures/buttons/pearl_w",
"/home/mcdowall/Pictures/buttons/pearl_i",

}
--#################################################################################################
--main button setup - this section for an on/off button 
local height=20--height of click area
local width=20--width of click area
local displayx=x--taken from main function
local displayy=y-3--taken from main function
--#########################################################################################################
local main_height=height
local height=control_height--height of click area
local main_width=width
local width=control_width--width of click area
local main_blx=blx
local main_bly=bly--]]
--#########################################################################################################]]
local yadd=0--set to main button height	
local xadd=0
	for i=1,#button_table do--becaseuse first entry is main button name
	local button_name=button_table[i]
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
--POSITION SETUP HERE
-- x= +8 y= -17 (+7 -18)
if i<4 then
blx=120+((i-1)*(30))
bly=367-17
else
blx=120+((i-4)*(30))
bly=397-17
end
local height=20
local width=20
local size_adjust=1.25
	--best to keep the button calculations seperate to the actions##
		if localx>=blx and localx<=blx+width and localy<=bly and localy>=bly-height and buttons[tostring(button_name)]~=1 then
		buttons[tostring(button_name)]=1
		elseif localx>=blx and localx<=blx+width and localy<=bly and localy>=bly-height and buttons[tostring(button_name)]==1 then
		buttons[tostring(button_name)]=0
		elseif localx<blx and localx>blx+width and localy<bly and localy>bly-height and buttons[tostring(button_name)]~=1 then
		buttons[tostring(button_name)]=0 end
	--end of calculations ##########################################
		if localnowx>=blx and localnowx<=blx+width and localnowy<=bly and localnowy>=bly-height then
		color={0,0,0,0}
		fill=1
		hexcol=0x00ffff
		buttons[tostring(button_name.."mo")]=1
		buttondraw(blx,bly,height,width,color,fill)
--button size change##########################
		width_adj=width*size_adjust
		height_adj=height*size_adjust
	blx_adj=blx-(width*((size_adjust-1)/2))
	bly_adj=bly+(height*((size_adjust-1)/2))
--##################################################
		else
		hexcol=0x00ff00
--button size change##########################
		width_adj=width
		height_adj=height
		blx_adj=blx
		bly_adj=bly
--##################################################
		end
		--##############################################################
		--button on off
		if buttons[tostring(button_name)]==1 then
		color={1,0,0,0}--if button is clicked on it will be drawn red
		fill=0
		hexcol=0x00ffff
		--buttondraw(blx,bly,height,width,color,fill)
--draw button ########################################
image({x=blx_adj,y=bly_adj,w=width_adj,h=height_adj,file=button_image[i].."_on.png"})
--draw button ########################################
		loadstring(button_name.."_function ("..displayx..","..displayy..","..xadd..","..yadd..","..main_blx..","..main_bly..","..main_width..","..main_height..")")()
		else
		color={0,1,1,0}
		fill=0
		--hexcol=0x00ff00
		--buttondraw(blx,bly,height,width,color,fill)
--draw button ########################################
image({x=blx_adj,y=bly_adj,w=width_adj,h=height_adj,file=button_image[i]..".png"})
--draw button ########################################
		end--button on off
		--out({c=hexcol,fc="bold",x=blx+3,y=bly-3,txt=button_label[i]})
		--##############################################################
	end--for loop
--#########################################################################################################
end--of button2 function--copy and paste this function repeatedly for new buttons, change button function name for each set
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--BELOW ARE THE FUNCTIONS FOR EACH BUTTON--########################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--CPU SECTION FUNCTIONS ###########################################################################
--#################################################################################################
function cmain_function(blx,bly)
local xvalue=70
out({fs=10,fc="bold",x=blx-xvalue,y=bly,txt=" X3 455"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+10,txt=conky_parse("${freq_g 0}").." GHz"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+20,txt="1: "..conky_parse("${cpu cpu1}").."%"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+30,txt="2: "..conky_parse("${cpu cpu2}").."%"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+40,txt="3: "..conky_parse("${cpu cpu3}").."%"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+50,txt="K10TEMP"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+60,txt=conky_parse("${hwmon 0 temp 1}").."°C"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+70,txt=conky_parse("${hwmon 0 temp 1}").."°C"})
end--

function mode_function(blx,bly)
end

function pmain_function(blx,bly,width)--recives different information to sub buttons
out({fc="bold",x=blx+16,y=bly,txt="PROCESS"})
out({fc="bold",x=blx+6+70,y=bly,txt="CPU%"})
if buttons["mode"]~=1 and buttons["modemo2"]~=1 then
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=16 else scadj=6 end
	out({fc="bold",x=blx+scadj,y=bly+15+((i-1)*15),txt=i..":"..string.upper(conky_parse("${top name "..i.."}"))})
	out({fc="bold",x=blx+70,y=bly+15+((i-1)*15),txt=conky_parse("${top cpu "..i.."}")})	
	end--for loop
elseif buttons["modemo2"]==1 or buttons["mode"]==1 then
	for i=1,tonumber(buttons["show_number"])do	
	if i==5 then scadj=16 else scadj=6 end
	out({fc="bold",x=blx+scadj,y=bly+15+((i-1)*15),txt=i..":"..string.upper(conky_parse("${top_time name "..i.."}"))})
	out({fc="bold",x=blx+70,y=bly+15+((i-1)*15),txt=conky_parse("${top_time cpu "..i.."}")})
	end--for loop
end--if
end--function

function ppid_function(blx,bly)
local xvalue=120
out({fc="bold",x=blx+xvalue,y=bly,txt="PID"})
if buttons["mode"]~=1 and buttons["modemo2"]~=1 then
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=7 else scadj=0 end
	out({fc="bold",x=blx+xvalue-scadj,y=bly+15+((i-1)*15),txt=conky_parse("${top pid "..i.."}")})
	end--for loop
--turn other buttons off
--buttons["ppid"]=0
buttons["pmem"]=0
buttons["ptm"]=0
elseif buttons["modemo2"]==1 or buttons["mode"]==1 then
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=7 else scadj=0 end	
	out({fc="bold",x=blx+xvalue-scadj,y=bly+15+((i-1)*15),txt=conky_parse("${top_time pid "..i.."}")})
	end--for loop
--turn other buttons off
--buttons["ppid"]=0
buttons["pmem"]=0
buttons["ptm"]=0
end--if
end--function

function pmem_function(blx,bly)
local xvalue=120
out({fc="bold",x=blx+xvalue,y=bly,txt="MEM%"})
if buttons["mode"]~=1 and buttons["modemo2"]~=1 then
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=12 else scadj=5 end	
	out({fc="bold",x=blx+xvalue-scadj,y=bly+15+((i-1)*15),txt=conky_parse("${top mem "..i.."}")})
	end--for loop
--turn other buttons off
buttons["ppid"]=0
--buttons["pmem"]=0
buttons["ptm"]=0
elseif buttons["modemo2"]==1 or buttons["mode"]==1 then
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=12 else scadj=5 end	
	out({fc="bold",x=blx+xvalue-scadj,y=bly+15+((i-1)*15),txt=conky_parse("${top_time mem "..i.."}")})
	end--for loop
--turn other buttons off
buttons["ppid"]=0
--buttons["pmem"]=0
buttons["ptm"]=0
end--if
end--function

function ptm_function(blx,bly)
local xvalue=120
out({fc="bold",x=blx+xvalue,y=bly,txt="TIME"})
if buttons["mode"]~=1 and buttons["modemo2"]~=1 then
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=12 else scadj=5 end
	local txt=conky_parse("${top time "..i.."}")
	local s=string.find(txt,"%.")
	local txt=string.sub(txt,1,s-1)
	out({fc="bold",x=blx+xvalue-scadj,y=bly+15+((i-1)*15),txt=txt})
	end--for loop
--turn other buttons off
buttons["ppid"]=0
buttons["pmem"]=0
--buttons["ptm"]=0
elseif buttons["modemo2"]==1 or buttons["mode"]==1 then
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=12 else scadj=5 end	
	local txt=conky_parse("${top_time time "..i.."}")
	local s=string.find(txt,"%.")
	local txt=string.sub(txt,1,s-1)
	out({fc="bold",x=blx+xvalue-scadj,y=bly+15+((i-1)*15),txt=txt})
	end--for loop
--turn other buttons off
buttons["ppid"]=0
buttons["pmem"]=0
--buttons["ptm"]=0
end--if
end--function

--#################################################################################################
--#################################################################################################
--MEMORY SECTION FUNCTIONS ###########################################################################
--#################################################################################################
function memmain_function(blx,bly)--recives different information to sub buttons
out({fc="bold",x=blx+16,y=bly+15,txt="PROCESS"})
out({fc="bold",x=blx+6+70,y=bly+15,txt="MEM%"})
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=16 else scadj=6 end
	out({fc="bold",x=blx+scadj,y=bly+30+((i-1)*15),txt=i..":"..string.upper(conky_parse("${top_mem name "..i.."}"))})
	out({fc="bold",x=blx+70,y=bly+30+((i-1)*15),txt=conky_parse("${top_mem mem "..i.."}")})	
	end--for loop
--buttons["mem_section_height"]=bly+30+(tonumber(buttons["show_number"])*15)--set process section height to adjust anything below
end--function

function memppid_function(blx,bly)
local xvalue=120
--out({fc="bold",x=blx+xvalue,y=bly,txt="TIME"})
out({fc="bold",x=blx+xvalue,y=bly+15,txt="PID"})
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=7 else scadj=0 end
	out({fc="bold",x=blx+xvalue-scadj,y=bly+30+((i-1)*15),txt=conky_parse("${top_mem pid "..i.."}")})
	end--for loop
--turn other buttons off
--buttons["memppid"]=0
buttons["mempcpu"]=0
buttons["memptm"]=0
buttons["memrez"]=0
end--function

function mempcpu_function(blx,bly)
local xvalue=120
out({fc="bold",x=blx+xvalue,y=bly+15,txt="CPU%"})
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=12 else scadj=5 end
	out({fc="bold",x=blx+xvalue-scadj,y=bly+30+((i-1)*15),txt=conky_parse("${top_mem cpu "..i.."}")})
	end--for loop
--turn other buttons off
buttons["memppid"]=0
--buttons["mempcpu"]=0
buttons["memptm"]=0
buttons["memrez"]=0
end--function

function mempvs_function(blx,bly)
local xvalue=120
out({fc="bold",x=blx+xvalue-5,y=bly+15,txt="VSIZE"})
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=0 else scadj=-7 end
	local txt=conky_parse("${top_mem mem_vsize "..i.."}")
	--local s=string.find(txt,"%.")
	local txt=string.gsub(txt,"iB","")
	out({fc="bold",x=blx+xvalue-scadj,y=bly+30+((i-1)*15),txt=txt})
	end--for loop
--turn other buttons off
buttons["memppid"]=0
buttons["mempcpu"]=0
--buttons["memptm"]=0
buttons["memrez"]=0
end--function

function memrez_function(blx,bly)
local xvalue=120
out({fc="bold",x=blx+xvalue,y=bly+15,txt="RES"})
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=7 else scadj=0 end
	out({fc="bold",x=blx+xvalue+2-scadj,y=bly+30+((i-1)*15),txt=string.gsub(conky_parse("${top_mem mem_res "..i.."}"),"iB","")})
	end--for loop
--turn other buttons off
buttons["memppid"]=0
buttons["mempcpu"]=0
buttons["memptm"]=0
--buttons["memrez"]=0
end--function

function memory_function(blx,bly)
local xvalue=70
out({fs=10,fc="bold",x=blx-xvalue,y=bly+15,txt="TOTAL:"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+25,txt=conky_parse("${memmax}")})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+35,txt="FREE:"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+45,txt=conky_parse("${memfree}")})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+55,txt="USED:"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+65,txt=conky_parse("${mem}")})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+75,txt="EASY:"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+85,txt=conky_parse("${memeasyfree}")})
end

--#################################################################################################
--#################################################################################################
--#################################################################################################
--BELOW ARE THE FUNCTIONS FOR EACH BUTTON--########################################################
--#################################################################################################
--#################################################################################################
--#################################################################################################
--CPU SECTION FUNCTIONS ###########################################################################
--#################################################################################################
function dsmain_function(blx,bly)
local xvalue=70
out({fs=10,fc="bold",x=blx-xvalue,y=bly,txt="R:"..string.gsub(conky_parse("${diskio_read}"),"iB","")})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+10,txt="W:"..string.gsub(conky_parse("${diskio_write}"),"iB","")})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+20,txt="/ "..conky_parse("${fs_used_perc /}").."%"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+30,txt=conky_parse("${fs_used /}").."/"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+40,txt=conky_parse("${fs_size /}")})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+50,txt="/H "..conky_parse("${fs_used_perc /home}").."%"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+60,txt=conky_parse("${fs_used /home}").."/"})
out({fs=10,fc="bold",x=blx-xvalue,y=bly+70,txt=conky_parse("${fs_size /home}")})
--out({fc="bold",x=blx-xvalue,y=bly+72,txt="4: "..conky_parse("${cpu cpu2}").."%"})
end--

function dspmain_function(blx,bly)--recives different information to sub buttons
out({fc="bold",x=blx+16,y=bly,txt="PROCESS"})
out({fc="bold",x=blx+6+70,y=bly,txt="IO%"})
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=16 else scadj=6 end
	out({fc="bold",x=blx+scadj,y=bly+15+((i-1)*15),txt=i..":"..string.upper(conky_parse("${top name "..i.."}"))})
	out({fc="bold",x=blx+70,y=bly+15+((i-1)*15),txt=conky_parse("${top_io io_perc "..i.."}")})	
	end--for loop
end--function

function dsread_function(blx,bly)
local xvalue=120
out({fc="bold",x=blx+xvalue,y=bly,txt="READ"})
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=7 else scadj=0 end
	local txt=conky_parse("${top_io io_read "..i.."}")
	local txt=string.gsub(txt,"iB","")
	out({fc="bold",x=blx+xvalue-scadj,y=bly+15+((i-1)*15),txt=txt})
	end--for loop
--turn other buttons off
buttons["dsother"]=0
buttons["dswrite"]=0
buttons["dspid"]=0
end--function

function dswrite_function(blx,bly)
local xvalue=120
out({fc="bold",x=blx+xvalue-5,y=bly,txt="WRITE"})
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=7 else scadj=0 end	
	local txt=conky_parse("${top_io io_write "..i.."}")
	local txt=string.gsub(txt,"iB","")
	out({fc="bold",x=blx+xvalue-scadj,y=bly+15+((i-1)*15),txt=txt})
	end--for loop
--turn other buttons off
buttons["dsread"]=0
buttons["dsother"]=0
buttons["dspid"]=0
end--function

function dspid_function(blx,bly)
local xvalue=120
out({fc="bold",x=blx+xvalue,y=bly,txt="PID"})
	for i=1,tonumber(buttons["show_number"])do
	if i==5 then scadj=5 else scadj=0 end
	out({fc="bold",x=blx+xvalue-scadj,y=bly+15+((i-1)*15),txt=conky_parse("${top_io pid "..i.."}")})
	end--for loop
--turn other buttons off
buttons["dsread"]=0
buttons["dswrite"]=0
buttons["dsother"]=0
end--function

function dsother_function()
end

--#################################################################################################
--#################################################################################################
--THESE ARE THE GENERAL FUNCTIONS TO DISPLAY TEXT AND IMAGES ######################################
--#################################################################################################
--button drawing function
function buttondraw(blx,bly,height,width,color,fill)
cairo_set_line_width (cr,1)
cairo_set_source_rgba (cr,color[1],color[2],color[3],color[4])
cairo_rectangle (cr,blx,bly,width,-height)
if fill==0 then
cairo_stroke (cr)
elseif fill==1 then
cairo_fill (cr)
end
end--of buttondraw function
function xout(txj)--c,a,f,fs,x,y,txt,j ##################################################
c=nil
c=(txj.c or default_color)
a=nil
a=(txj.a or default_alpha)
f=nil
f=(txj.f or default_font)
fs=nil
fs=(txj.fs or default_font_size)
x=nil
x=(txj.x or 0)
y=nil
y=(txj.y or 0)
txt=nil
txt=(txj.txt or "set txt")
j=nil
j=(txj.j or "l")
	local function col(c,a)
	return ( (c/0x10000) % 0x100)/255,( (c/0x100) % 0x100)/255,(c % 0x100)/255,a
	end--local function
cairo_select_font_face (cr, f, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, fs)
local text=string.gsub(txt," ","_")
extents=cairo_text_extents_t:create()
cairo_text_extents(cr,text,extents)
local wx=extents.width
cairo_set_source_rgba (cr,col(c,a))
if j=="l" then
cairo_move_to (cr,x,y)
adx=wx
elseif j=="c" then
cairo_move_to (cr,x-(wx/2),y)
adx=wx/2
elseif j=="r" then
cairo_move_to (cr,x-wx,y)
adx=0
end
cairo_show_text (cr,txt)
cairo_stroke (cr)
nextx=nil
nextx=adx+x
return nextx
end--function xout ###################################################################

function out(tx)--####################################################################
c=nil
c=(tx.c or default_color)
a=nil
a=(tx.a or default_alpha)
f=nil
f=(tx.f or default_font)
fs=nil
fs=(tx.fs or default_font_size)
x=nil
x=(tx.x or 0)
y=nil
y=(tx.y or 0)
txt=nil
txt=(tx.txt or "set txt")
fc=nil
fc=(tx.fc or default_face)
local function col(c,a)
return ( (c/0x10000) % 0x100)/255,( (c/0x100) % 0x100)/255,(c % 0x100)/255,a
end--local function
if fc=="normal" then
cairo_select_font_face (cr, f, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
elseif fc=="bold" then
cairo_select_font_face (cr, f, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
end
cairo_set_font_size (cr, fs)
cairo_set_source_rgba (cr,col(c,a))
cairo_move_to (cr,x,y)
cairo_show_text (cr,txt)
cairo_stroke (cr)
end--function out ###################################################################

function image(im)--#################################################################
x=nil
x=(im.x or 0)
y=nil
y=(im.y or 0)
w=nil
w=(im.w or default_image_width)
h=nil
h=(im.h or default_image_height)
file=nil
file=tostring(im.file)
if file==nil then print("set image file") end
---------------------------------------------
local show = imlib_load_image(file)
if show == nil then return end
imlib_context_set_image(show)
if tonumber(w)==0 then 
width=imlib_image_get_width() 
else
width=tonumber(w)
end
if tonumber(h)==0 then 
height=imlib_image_get_height() 
else
height=tonumber(h)
end
imlib_context_set_image(show)
local scaled=imlib_create_cropped_scaled_image(0, 0, imlib_image_get_width(), imlib_image_get_height(), width, height)
imlib_free_image()
imlib_context_set_image(scaled)
imlib_render_image_on_drawable(x, y-height)
imlib_free_image()
show=nil
end--function image ##################################################################

--clickfunction, this runs xdotool and xwininfo and reads the coordinates of clicks
function clickfunction()
--start click logging and calculations ##########################################
if click_start==1 then
xdot=conky_parse("${if_running xdotool}1${else}0${endif}")
if tonumber(xdot)==1 then
os.execute("killall xdotool && echo 'xdo killed' &")
end
os.execute("xdotool search --name 'clicky' behave %@ mouse-click getmouselocation >> /tmp/xdo &")
local f = io.popen("xwininfo -name 'clicky' | grep 'Absolute'")
geometry = f:read("*a")
f:close()
local geometry=string.gsub(geometry,"[\n]","")
s,f,abstlx=string.find(geometry,"X%p%s*(%d*)")
s,f,abstly=string.find(geometry,"Y%p%s*(%d*)")
click_start=nil
end--if click_start=1 ######################################
--click calculations #################################
local f=io.open("/tmp/xdo")
click=f:read()
f:close()
if click~=nil then
local f = io.open("/tmp/xdo","w")
f:write("")
f:close() 
end--if click=nil
if click==nil then click="x:0 y:0 " end
--print (click)
local s,f,mousex=string.find(click,"x%p(%d*)%s")
local s,f,mousey=string.find(click,"y%p(%d*)%s")
localx=tonumber(mousex)-abstlx
localy=tonumber(mousey)-abstly
--get now location
os.execute("xdotool getmouselocation > /tmp/xdonow ")
local f=io.open("/tmp/xdonow")
mousenow=f:read()
f:close()
local s,f,mousenowx=string.find(mousenow,"x%p(%d*)%s")
local s,f,mousenowy=string.find(mousenow,"y%p(%d*)%s")
localnowx=tonumber(mousenowx)-abstlx
localnowy=tonumber(mousenowy)-abstly
--END CLICK CALCULATIONS #################################
return localx,localy,localnowx,localnowy
end--function
 

hey tu sais moi l'Anglais ça va a peu près mais les codes... big_smile J'essaie ça bientôt !

Dernière modification par ragamatrix (Le 17/01/2014, à 23:09)

Hors ligne

#423 Le 27/01/2014, à 11:23

ragamatrix

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

voici une pendule écrit en lua et faisant un effet "flip-flap" Mr Peachy
flip-flap

On a bien essayé de m'expliquer comment utiliser ce code ici
Et du coup j'ai fais une belle "soupe" qui ne fonctionne pas... Je digère mal le lua je crois...

Dernière modification par ragamatrix (Le 27/01/2014, à 11:24)

Hors ligne

#424 Le 28/01/2014, à 12:41

Didier-T

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

@ ragamatrix,
J'ai été regarder le lien que tu donne pour l'horloge flip flap.
C'est normal que tu n'y arrive pas, il t'explique le fonctionnement du script, mais pas comment l'utiliser.
Pourrais-tu me fournir le script complet, j'isolerai la partie qui nous intéresse.

A+

Hors ligne

#425 Le 28/01/2014, à 13:03

ragamatrix

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

@ Didier-T

En fait il n'y a pas de script complet... (je crois) Seulement un template lié au script meteo wunderground...
template-flip-flap.lua:

function grec(gtab)--#################################################################################
local function color(col,alp)
return ((col / 0x10000) % 0x100) / 255, ((col / 0x100) % 0x100) / 255, (col % 0x100) / 255, alp
end
local function pt(px,py,prad,pdeg)
local ppo=(math.pi/180)*pdeg
local px1=px+prad*(math.sin(ppo))
local py1=py-prad*(math.cos(ppo))
return px1,py1
end
local function sub_draw(sdtab)
cdsx={}
cdsy={}
dr={}
limit=#sdtab
    for i=1,limit do
        local d=sdtab[i].d
        if d=="start" then        
        table.insert(dr,"cairo_move_to(cr,"..tostring(sdtab[i].x)..","..tostring(sdtab[i].y)..");")
        table.insert(cdsx,sdtab[i].x)
        table.insert(cdsy,sdtab[i].y)
        end
        if d=="line" then
        table.insert(dr,"cairo_line_to(cr,"..tostring(sdtab[i].x)..","..tostring(sdtab[i].y)..");")
        table.insert(cdsx,sdtab[i].x)
        table.insert(cdsy,sdtab[i].y)
        end
        if d=="rline" then
        table.insert(dr,"cairo_rel_line_to(cr,"..tostring(sdtab[i].x)..","..tostring(sdtab[i].y)..");")
        table.insert(cdsx,cdsx[i-1]+sdtab[i].x)
        table.insert(cdsy,cdsy[i-1]+sdtab[i].y)
        end
	if d=="aline" then
	--pt(px,py,prad,pdeg)
	local alx,aly=pt(cdsx[i-1],cdsy[i-1],sdtab[i].l,sdtab[i].a)
	table.insert(dr,"cairo_line_to(cr,"..tostring(alx)..","..tostring(aly)..");")
       	table.insert(cdsx,alx)
        table.insert(cdsy,aly)
	end
        if d=="arc" then
        local ang1=(math.pi/180)*((sdtab[i].a1)-90)
        local ang2=(math.pi/180)*((sdtab[i].a2)-90)
        local rad=sdtab[i].r
        local x=sdtab[i].x
        local y=sdtab[i].y
        table.insert(dr,"cairo_arc(cr,"..tostring(x)..","..tostring(y)..","..tostring(rad)..","..tostring(ang1)..","..tostring(ang2)..");")
        local ang2=(math.pi/180)*(sdtab[i].a2)    
        local ax=0+rad*(math.sin(ang2))
        local ay=0-rad*(math.cos(ang2))
        table.insert(cdsx,x+ax)
        table.insert(cdsy,y+ay)
        end
        if d=="arc_c" then
        local q=sdtab[i].q
        local rad=sdtab[i].r
            if q==4 then
            ang1=(math.pi/180)*(270-90)
            x=cdsx[i-1]+rad
            y=cdsy[i-1]
            elseif q==1 then
            ang1=(math.pi/180)*(360-90)
            x=cdsx[i-1]
            y=cdsy[i-1]+rad
            elseif q==2 then
            ang1=(math.pi/180)*(90-90)
            x=cdsx[i-1]-rad
            y=cdsy[i-1]
            elseif q==3 then
            ang1=(math.pi/180)*(180-90)
            x=cdsx[i-1]
            y=cdsy[i-1]-rad
            end
        local ang2=ang1+((math.pi/180)*(sdtab[i].degs))
        table.insert(dr,"cairo_arc(cr,"..tostring(x)..","..tostring(y)..","..tostring(rad)..","..tostring(ang1)..","..tostring(ang2)..");")
        local ang2=ang2+((math.pi/180)*90)
        local ax=0+rad*(math.sin(ang2))
        local ay=0-rad*(math.cos(ang2))
        table.insert(cdsx,x+ax)
        table.insert(cdsy,y+ay)
        end
        if d=="arc_a" then
        local q=sdtab[i].q
        local rad=sdtab[i].r
            if q==4 then
            ang1=(math.pi/180)*(360-90)
            x=cdsx[i-1]
            y=cdsy[i-1]+rad
            elseif q==1 then
            ang1=(math.pi/180)*(90-90)
            x=cdsx[i-1]-rad
            y=cdsy[i-1]
            elseif q==2 then
            ang1=(math.pi/180)*(180-90)
            x=cdsx[i-1]
            y=cdsy[i-1]-rad
            elseif q==3 then
            ang1=(math.pi/180)*(270-90)
            x=cdsx[i-1]+rad
            y=cdsy[i-1]
            end
        local ang2=ang1-(math.pi/180)*(sdtab[i].degs)
        table.insert(dr,"cairo_arc_negative(cr,"..tostring(x)..","..tostring(y)..","..tostring(rad)..","..tostring(ang1)..","..tostring(ang2)..");")
        local ang2=ang2+((math.pi/180)*90)
        local ax=0+rad*(math.sin(ang2))
        local ay=0-rad*(math.cos(ang2))
        table.insert(cdsx,x+ax)
        table.insert(cdsy,y+ay)
        end
    end
return table.concat(dr)
end--of local function sub_draw
local g=gtab.g		or 1
local x=gtab.x		or 0
local y=gtab.y		or 0
local w=gtab.w		or 50
local h=gtab.h		or 50
local r=gtab.r		or 50
local rgx=gtab.rgx	or x
local rgy=gtab.rgy	or y
local grad=gtab.grad	or {{c=0xffffff}}
local gan=gtab.gan	or 45
local lw=gtab.lw	or 1
local sub=gtab.sub	or 0
local db=gtab.db	or 0
local subtab=gtab.subtab
if db==1 and g~=6 then
cairo_set_source_rgba (cr,1,1,1,1)
cairo_set_line_width (cr,1)
cairo_rectangle (cr,x,y,w,h)
cairo_stroke (cr)
elseif db==1 and g==6 then
cairo_set_source_rgba (cr,1,1,1,1)
cairo_set_line_width (cr,1)
cairo_arc (cr,x,y,r,0,2*math.pi)
cairo_stroke (cr)
end
--##########################################
if g==1 or g==2 or g==5 or g==6 then --rectangular gradients
	if g==1 then
	pat = cairo_pattern_create_linear (0,y,0,y+h);
	elseif g==2 then
	pat = cairo_pattern_create_linear (x,0,x+w,0);
	elseif g==5 then
	--calculate hypotenuse across middle of rectange
	local hyp=math.sqrt((w^2)+(h^2))
	local rad=hyp/2
	--center point of rectangle
	local crx=x+(w/2)
	local cry=y+(h/2)
	--calculate point 1
	local point=(math.pi/180)*gan
	local x1=crx+rad*(math.sin(point))
	local y1=cry-rad*(math.cos(point))
	--calculate point 2
	local point=(math.pi/180)*(gan+180)
	local x2=crx+rad*(math.sin(point))
	local y2=cry-rad*(math.cos(point))
	--gradient
	pat = cairo_pattern_create_linear (x1,y1,x2,y2);
	elseif g==6 then
	pat = cairo_pattern_create_radial (rgx, rgy, 0, x,  y, r);
	end
local gnum=#grad
for i=1,gnum do
cairo_pattern_add_color_stop_rgba (pat,grad[i].p,color(grad[i].c,grad[i].a));
end--for loop
    if sub==1 then
    cairo_save (cr)
    cairo_clip(cr)
    cairo_new_sub_path(cr)
    local drawstring=sub_draw(subtab)
    loadstring(drawstring)()
    cairo_restore (cr)    
    end
cairo_set_source (cr, pat); 
cairo_fill(cr);
cairo_pattern_destroy (pat);
--###########################################
elseif g==0 and sub==1 then --non gradient
    local drawstring=sub_draw(subtab)
    loadstring(drawstring)()
    cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
    cairo_fill(cr)
elseif g==3 and sub==1 then
    local drawstring=sub_draw(subtab)
    loadstring(drawstring)()
    cairo_set_line_width(cr,lw)
    cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
    cairo_close_path (cr)
    cairo_stroke(cr);
elseif g==4 and sub==1 then
    local drawstring=sub_draw(subtab)
    loadstring(drawstring)()
    cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
    cairo_fill_preserve(cr);
    cairo_set_line_width(cr,lw)
    cairo_set_source_rgba (cr,color(grad[2].c,grad[2].a));
    cairo_close_path (cr)
    cairo_stroke(cr);        
elseif g==0 and sub~=1 then
    cairo_rectangle (cr,x,y,w,h)
    cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
    cairo_fill(cr);
elseif g==3 and sub~=1 then
    cairo_rectangle (cr,x,y,w,h)
    cairo_set_line_width(cr,lw)
    cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
    cairo_close_path (cr)
    cairo_stroke(cr);
elseif g==4 and sub~=1 then
    cairo_rectangle (cr,x,y,w,h)
    cairo_set_source_rgba (cr,color(grad[1].c,grad[1].a));
    cairo_fill_preserve(cr);
    cairo_set_line_width(cr,lw)
    cairo_set_source_rgba (cr,color(grad[2].c,grad[2].a));
    cairo_close_path (cr)
    cairo_stroke(cr);
--radial gradients
elseif g==6 then
	pat = cairo_pattern_create_radial (cx, cy, crad-(clw/2)-2,--
                                   cx,  cy, crad+(clw/2)+4);
	cairo_pattern_add_color_stop_rgba (pat, 0, 0, 0, 0, 1);
	cairo_pattern_add_color_stop_rgba (pat, 0.5, 0, 0, 0, 0);
	cairo_pattern_add_color_stop_rgba (pat, 1, 0, 0, 0, 1);

cairo_set_source (cr, pat);
cairo_arc (cr, cx, cy, crad+(clw/2), 0, 2*math.pi);
cairo_fill (cr);
cairo_pattern_destroy (pat);
end--of g type
end--of function grec
--END MAIN GTAB FUNCTION################################################--]]
function glassyboxtop(tlx,tly,cra,sw,sh,bg)
sho=sh
sw=sw-cra-cra
sh=sh-cra-cra
--BIG FILLED IN RECTANGLE
if bg~=1 then
subtab={
{d="start",x=tlx+cra,y=tly},
{d="rline",x=sw,y=0},
{d="arc_c",q=1,r=cra,degs=90},
{d="rline",x=0,y=sh+cra},
{d="rline",x=-sw-cra-cra,y=0},
{d="rline",x=0,y=-sh-cra},
{d="arc_c",q=4,r=cra,degs=90},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=sh+cra+cra,
grad={{c=0x606060,a=0.3,p=0},{c=0x101010,a=0.3,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})
end
--[HIGHLIGHT TOP RECTANGLE
if bg~=1 and bg~=2 then
shh=((80/150)*sho)-cra-cra
subtab={
{d="start",x=tlx+cra,y=tly},
{d="rline",x=sw,y=0},
{d="arc_c",q=1,r=cra,degs=90},
{d="rline",x=0,y=shh},
{d="arc_c",q=2,r=cra,degs=90},
{d="rline",x=-sw,y=0},
{d="arc_c",q=3,r=cra,degs=90},
{d="rline",x=0,y=-shh},
{d="arc_c",q=4,r=cra,degs=90},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=shh+cra+cra,
grad={{c=0xffffff,a=0.5,p=0},{c=0xffffff,a=0,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})
end
--OUTLINE
lt=1 --BOARDER WIDTH
tlx,tly=tlx-lt,tly-lt
cra1=cra+lt
subtab={
{d="start",x=tlx+cra1,y=tly},
{d="rline",x=sw,y=0},
{d="arc_c",q=1,r=cra1,degs=90},
{d="rline",x=0,y=sh+cra1},
--{d="arc_c",q=2,r=cra1,degs=90},
{d="rline",x=-sw-cra1-cra1,y=0},
--{d="arc_c",q=3,r=cra1,degs=90},
{d="rline",x=0,y=-sh-cra1},
{d="arc_c",q=4,r=cra1,degs=90},
{d="rline",x=sw,y=0},
{d="rline",x=0,y=lt},
{d="rline",x=-sw,y=0},
{d="arc_a",q=4,r=cra,degs=90},
{d="rline",x=0,y=sh+cra},
--{d="arc_a",q=3,r=cra,degs=90},
{d="rline",x=sw+cra+cra,y=0},
--{d="arc_a",q=2,r=cra,degs=90},
{d="rline",x=0,y=-sh-cra},
{d="arc_a",q=1,r=cra,degs=90},
{d="rline",x=-sw,y=0},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=sh+cra+cra,
grad={{c=0x808080,a=1,p=0},{c=0x202020,a=1,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})--]]
end
function glassyboxbot(tlx,tly,cra,sw,sh,bg)
sho=sh
sw=sw-cra-cra
sh=sh-cra-cra
--BIG FILLED IN RECTANGLE
if bg~=1 then
subtab={
{d="start",x=tlx+cra,y=tly},
{d="rline",x=sw+cra,y=0},
--{d="arc_c",q=1,r=cra,degs=90},
{d="rline",x=0,y=sh+cra},
{d="arc_c",q=2,r=cra,degs=90},
{d="rline",x=-sw,y=0},
{d="arc_c",q=3,r=cra,degs=90},
{d="rline",x=0,y=-sh-cra},
--{d="arc_c",q=4,r=cra,degs=90},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=sh+cra+cra,
grad={{c=0x606060,a=0.3,p=0},{c=0x101010,a=0.3,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})
end
--[HIGHLIGHT TOP RECTANGLE
if bg~=1 and bg~=2 then
shh=((80/150)*sho)-cra-cra
subtab={
{d="start",x=tlx+cra,y=tly},
{d="rline",x=sw+cra,y=0},
--{d="arc_c",q=1,r=cra,degs=90},
{d="rline",x=0,y=shh+cra},
{d="arc_c",q=2,r=cra,degs=90},
{d="rline",x=-sw,y=0},
{d="arc_c",q=3,r=cra,degs=90},
{d="rline",x=0,y=-shh-cra},
--{d="arc_c",q=4,r=cra,degs=90},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=shh+cra+cra,
grad={{c=0xffffff,a=0.5,p=0},{c=0xffffff,a=0,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})
end
--OUTLINE
lt=1 --BOARDER WIDTH
tlx,tly=tlx-lt,tly-lt
cra1=cra+lt
subtab={
{d="start",x=tlx+cra+lt,y=tly},
{d="rline",x=sw+cra1,y=0},
--{d="arc_c",q=1,r=cra1,degs=90},
{d="rline",x=0,y=sh+cra1},
{d="arc_c",q=2,r=cra1,degs=90},
{d="rline",x=-sw,y=0},
{d="arc_c",q=3,r=cra1,degs=90},
{d="rline",x=0,y=-sh-cra1},
--{d="arc_c",q=4,r=cra1,degs=90},
{d="rline",x=sw+cra1,y=0},
{d="rline",x=0,y=lt},
{d="rline",x=-sw-cra,y=0},
--{d="arc_a",q=4,r=cra,degs=90},
{d="rline",x=0,y=sh+cra},
{d="arc_a",q=3,r=cra,degs=90},
{d="rline",x=sw,y=0},
{d="arc_a",q=2,r=cra,degs=90},
{d="rline",x=0,y=-sh-cra},
--{d="arc_a",q=1,r=cra,degs=90},
{d="rline",x=-sw,y=0},
}
grec({
g=1,
x=tlx,
y=tly,
w=sw+cra+cra,
h=sh+cra+cra,
grad={{c=0x808080,a=1,p=0},{c=0x202020,a=1,p=1}},
lw=1,
sub=1,
db=0,
subtab=subtab})--]]
end
function flip_digit(tlx,tly,cra,sw,dig)
sh=(sw+cra+cra)*(120/80)
fs=(180/160)*sh
subtab={
{d="start",x=tlx+cra,y=tly},
{d="rline",x=sw,y=0},
{d="arc_c",q=1,r=cra,degs=90},
{d="rline",x=0,y=sh-cra-cra},
{d="arc_c",q=2,r=cra,degs=90},
{d="rline",x=-sw,y=0},
{d="arc_c",q=3,r=cra,degs=90},
{d="rline",x=0,y=-sh+cra+cra},
{d="arc_c",q=4,r=cra,degs=90},
}grec({g=1,x=tlx,y=tly,w=sw+cra+cra,h=sh+cra+cra,grad={{c=0x202020,a=1,p=0}},lw=1,sub=1,db=0,subtab=subtab})
tin=(sw+cra+cra)/8
tup=(sh)/12
out({x=tlx+tin,y=tly+sh-tup,fs=fs,txt=dig})
glassyboxtop(tlx,tly,cra,sw+cra+cra,sh/2,0)
glassyboxbot(tlx,tly+(sh/2),cra,sw+cra+cra,sh/2,0)
cairo_move_to(cr,tlx-1,tly+(sh/2))
cairo_rel_line_to(cr,sw+cra+cra+2,0)
cairo_set_source_rgba(cr,0,0,0,1)
cairo_set_line_width(cr,2)
cairo_stroke(cr)
end
--DISPLAY FUNCTION--DISPLAY FUNCTION--DISPLAY FUNCTION--DISPLAY FUNCTION-
_G.weather_script = function(update,time,now,text_forecast,day,hour)--#### DO NOT EDIT THIS LINE ##############
--#######################################################################
--these tables hold the coordinates for each repeat do not edit #########
top_left_xcoordinate={}--################################################
top_left_ycoordinate={}--################################################
--#######################################################################
--SET DEFAULTS ##########################################################
--set defaults do not localise these defaults if you use a seperate display script
default_font="mono"--font must be in quotes
default_font_size=12
default_face="normal"
default_color=0xffffff
default_alpha=1--fully opaque
default_image_width=50
default_image_height=50
--END OF DEFAULTS #######################################################
--HOURS
--hours
--first digit
hrs=time.hour_24_pad
dig=hrs:sub(1,1)
h2=hrs:sub(2,2)
tlx=50
tly=50
cra=10
sw=30
flip_digit(tlx,tly,cra,sw,dig)
--second digit
dig=hrs:sub(2,2)
tlx=105
tly=50
cra=10
sw=30
flip_digit(tlx,tly,cra,sw,dig)
--minutes
--first digit
min=tostring(time.min_pad)
dig=min:sub(1,1)
tlx=170
tly=50
cra=10
sw=20
flip_digit(tlx,tly,cra,sw,dig)
--second digit
dig=min:sub(2,2)
tlx=215
tly=50
cra=10
sw=20
flip_digit(tlx,tly,cra,sw,dig)
--########################################################################################
--END OF WEATHER CODE ----END OF WEATHER CODE ----END OF WEATHER CODE ---
--########################################################################################]]
end--of weather_display function do not edit this line ##################
--####################################################################### 

Je pense que l'archive complète du script météo se trouve ici

Didier-T a écrit :

j'isolerai la partie qui nous intéresse.

Merci c'est sympa je me sentirais moins noyé au milieu de tant de code pour une simple horloge... cool

Dernière modification par ragamatrix (Le 28/01/2014, à 18:50)

Hors ligne