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.

#1901 Le 21/10/2012, à 15:26

chepioq

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Bonjour,
Un petit problème à vous soumettre.
J'ai un conky qui me renvoie une liste de nom, que je lance avec ${exec....

nom1 nom2 nom3 etc...

Comment faire simplement pour indiquer à conky d'afficher nom1 d'une certaine couleur, et les autres avec une autre ?

Je pourrai lancer deux fois le script avec des cut, mais est-ce qu'il existe un autre moyen ?


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

Hors ligne

#1902 Le 21/10/2012, à 18:40

Didier-T

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

chepioq a écrit :

Bonjour,
Un petit problème à vous soumettre.
J'ai un conky qui me renvoie une liste de nom, que je lance avec ${exec....

nom1 nom2 nom3 etc...

Comment faire simplement pour indiquer à conky d'afficher nom1 d'une certaine couleur, et les autres avec une autre ?

Je pourrai lancer deux fois le script avec des cut, mais est-ce qu'il existe un autre moyen ?

en fait il doit y avoir plusieurs solutions, mais pour t'indiquer les quelles il vas falloir que tu nous donne au minimum le script lancé par ton conky.

Hors ligne

#1903 Le 21/10/2012, à 18:45

chepioq

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

En fait ce n'est pas un script à proprement parlé.
C"est une commande lancé directement dans le conky, pour récupérer le nom des saint du jour à partir du site nominis

${exec wget -q [url]http://nominis.cef.fr/[/url] -O saint.html -O - | iconv -f latin1 -t utf8 | sed '1,/Bonne Fête !/d; /Autres Fêtes du Jour/Q;' |  sed '$d' | sed '1i<html>' | sed '4a</html>' | xmlstarlet sel -t -v '//dt/a' | awk 'ORS=NR%6?" ":"\n"'}

Dernière modification par chepioq (Le 21/10/2012, à 18:51)


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

Hors ligne

#1904 Le 21/10/2012, à 18:48

Didier-T

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

chepioq a écrit :

En fait ce n'est pas un script à proprement parlé.
C"est une commande lancé directement dans le conky, pour récupérer le nom des saint du jour à partir du site nominis

${exec wget -q http://nominis.cef.fr/ -O saint.html -O - | iconv -f latin1 -t utf8 | sed '1,/Bonne Fête !/d; /Autres Fêtes du Jour/Q;' |  sed '$d' | sed '1i<html>' | sed '4a</html>' | xmlstarlet sel -t -v '//dt/a' | awk 'ORS=NR%6?" ":"\n"'

il en manque un bout (le } qui doit fermer la commande n'est pas la)

Hors ligne

#1905 Le 21/10/2012, à 18:49

chepioq

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Exact, erreur de copier coller, je rectifie...


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

Hors ligne

#1906 Le 21/10/2012, à 19:02

Didier-T

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

chepioq a écrit :

Exact, erreur de copier coller, je rectifie...

Il manquai pas grand chose tongue

il n'y a pas toujours le même nombre de retours (varie selon la journée), comment aimerais tu colorer les noms ?

Edit : Oubli, je viens de voir la réponse plus haut

Dernière modification par Didier-T (Le 21/10/2012, à 19:03)

Hors ligne

#1907 Le 21/10/2012, à 19:19

Didier-T

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Bon je croix que sa pouras faire l'affaire de cette manière.

${exec curl -s http://nominis.cef.fr/ | iconv -f latin1 -t utf8 | sed '1,/Bonne Fête !/d; /Autres Fêtes du Jour/Q;' |  sed '$d' | sed '1i<html>' | sed '4a</html>' | xmlstarlet sel -t -v '//dt/a' | awk 'ORS=NR%6?" ":"\n"' | sed -e 's/^/${color C04663}/' -e 's/ / ${color aaaaaa}/2'}

donc j'ai remplacé wget par curl, simplement car cher moi wget boude et ne veux pas renvoyé le contenu de la page http://nominis.cef.fr/, ce qui complique le reste du traitement.
Et ajouté la commande suivante :
| sed -e 's/^/${color C04663}/' -e 's/ / ${color aaaaaa}/2'

Bien sure tu met ce que tu souhaite comme couleur.

Edit : par contre a ta place j'utiliserai un execi a la place du exec (tu n'as pas besoins de rafraichir toutes les secondes l'affichage des saint du jour)

Dernière modification par Didier-T (Le 21/10/2012, à 19:21)

Hors ligne

#1908 Le 21/10/2012, à 19:28

chepioq

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Merci de ton aide, mais cela ne fonctionne pas.
Cela me donne dans l'affichage du conky  ${color C04663} avant le premier prénom et ${color aaaaaa} avant les autres.

Pour le rafraichissement, comme c'est un conky indépendant, j'ai mis un "update_interval 3600" dans la conf, donc il ne se lance que toutes les heures

Dernière modification par chepioq (Le 21/10/2012, à 19:32)


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

Hors ligne

#1909 Le 21/10/2012, à 19:31

Didier-T

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

chepioq a écrit :

Merci de ton aide, mais cela ne fonctionne pas.
Cela me donne dans l'affichage du conky  ${color C04663} avant le premier prénom et ${color aaaaaa} avant les autres.

donc il refuse de traité les infos, bon et bien ont vas réfléchir un peut, peut être un printf, sa fonctionne dans les script de Phyllinux.

Hors ligne

#1910 Le 22/10/2012, à 05:23

chepioq

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Didier-T a écrit :

donc il refuse de traité les infos, bon et bien ont vas réfléchir un peut, peut être un printf, sa fonctionne dans les script de Phyllinux.

Te casses pas la tête, j'ai contourné le problème en mettant ma commande dans un script qui envoie le résultat dans un fichier, puis conky traite ce fichier avec un awk , puis avec un cut...

${color3}${exec cat saint.txt | awk '{print $1}'} ${color2}${exec cat saint.txt | cut -f2- -d ' '}

Dernière modification par chepioq (Le 24/10/2012, à 07:57)


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

Hors ligne

#1911 Le 22/10/2012, à 05:30

Didier-T

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

chepioq a écrit :
Didier-T a écrit :

donc il refuse de traité les infos, bon et bien ont vas réfléchir un peut, peut être un printf, sa fonctionne dans les script de Phyllinux.

Te casses pas la tête, j'ai contourné le problème en mettant ma commande dans un script qui envoie le résultat dans un fichier, puis conky traite ce fichier avec un awk ,puis avec un cut...

${color3}${exec cat saint.txt | awk '{print $1}'} ${color2}${exec cat saint.txt | cut -f2- -d ' '}

Après tous, si sa fonctionne, c'est l'essentiel wink

Hors ligne

#1912 Le 22/10/2012, à 09:47

ragamatrix

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Phyllinux a écrit :

@ ragamatrix :
Sympa ton bureau avec les différents conkys wink
Une petite remarque : Pour la météo, tu intègres, dans les prévisions, la pression atmosphérique. Ce qui n'est pas possible, car les données sur la pression n'existent que pour l'instant présent. Il est impossible d'obtenir des prévisions de pression sad
Je serais intéressé par ton conky baro. Je ne sais pas ce que j'ai fait du mien, que j'avais avant ma bascule sous Voyager. Il n'a pas fait partie du 'déménagement' .
Une petite question :
Comment gères tu le fond d'écran avec le script draw_bg.lua ? Peux tu définir quel sera le fond d'écran qui sera lancé avec le conky ?
Il faut que j'exploite la piste que m'avait donné Didier-T avec 'feh'
Mais ce ne sera pas demain, car je vais aller participer à une Ubuntu Party marseillaise lol, et en plus je dois faire la mise à niveau de ma session Unity en 12.10 ! Donc, du boulot en perspective, et qui sait, des réglages à faire après mad

Salut !
Je viens de modifier le conky meteo pour ne plus avoir des prévisions de pression.;)
Je te fais suivre le conky Pression&Température qui est un peu modifié par rapport à son état initial.Tu devras modifier le chemin dans le script barognuplot.sh afin de récupérer les données de conditions courantes.Ainsi que pour les listes de pression et le graph.
Et Hop !
Conky_Pression&Températures:
Conky_Pression&Températures

Hors ligne

#1913 Le 22/10/2012, à 09:54

ragamatrix

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

@Didier-T
Salut,
Je viens de faire des tests concernant les conky avec différents graph horizontaux lua; et à chaque fois je constate une fuite de ram.En revanche le script "text.lua" "ne fuit pas" donc j'utilise les graph existant dans les fonctions conky, et je n'ai plus de fuites de Ram.
aperçu :
TextLua

Hors ligne

#1914 Le 22/10/2012, à 16:40

ragamatrix

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Bon je laisse ce script de coté...ça fuit encore même avec text.lua...:(:mad:Je refais ça à l'ancienne smile

Hors ligne

#1915 Le 22/10/2012, à 17:00

Phyllinux

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

@ ragamatrix :
Merci pour le barographe.
Je ne vais pas l'installer tout de suite, car je suis en pleine réinstallation de Unity sur mon fixe.
Le petit problème, ce n'est pas l'install, c'est de tout remettre après, tous les programmes rajoutés, retrouver les ppa, les ajouter, les réinstaller....
Déjà qu'il ma fallu plus d'une 1/2 H pour réinstaller l'imprimante, entre les drivers à trouver, la configuration...
Et derrière tout cela, il faut retrouver tout ce qui est nécessaire au bon fonctionnement comme 'conky' par exemple...
Bref un boulot de romain, mais cette fois, j'ai fait un 'Home' séparé ! tongue


The ship is sinking normally...

Hors ligne

#1916 Le 24/10/2012, à 12:33

Didier-T

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

@ ragamatrix,

Bon c'est bon il n'y a plus fuite de mémoire. En fait la solution était toute simple il suffisait de mettre les scripts a jour avec les derniers codes de Wlourf (après tous il se décarcasse pour amélioré toujours ces scripts autant profiter des nouvelles versions).

donc voici les codes modifiés.

text.lua

--[[TEXT WIDGET v1.42 by Wlourf 07 Feb. 2011

This widget can drawn texts set in the "text_settings" table with some parameters
http://u-scripts.blogspot.com/2010/06/text-widget.html

To call the script in a conky, use, before TEXT
	lua_load /path/to/the/script/graph.lua
	lua_draw_hook_pre main_graph
and add one line (blank or not) after TEXT

The parameters (all optionals) are :
text        - text to display, default = "Conky is good for you"
              it can be used with conky variables, i.e. text="my cpu1 is ${cpu cpu1} %")
            - coordinates below are relative to top left corner of the conky window
x           - x coordinate of first letter (bottom-left), default = center of conky window
y           - y coordinate of first letter (bottom-left), default = center of conky window
h_align		- horizontal alignement of text relative to point (x,y), default="l"
			  available values are "l": left, "c" : center, "r" : right
v_align		- vertical alignment of text relative to point (x,y), default="b"
			  available values "t" : top, "m" : middle, "b" : bottom
font_name   - name of font to use, default = Free Sans
font_size   - size of font to use, default = 14
italic      - display text in italic (true/false), default=false
oblique     - display text in oblique (true/false), default=false (I don' see the difference with italic!)
bold        - display text in bold (true/false), default=false
angle       - rotation of text in degrees, default = 0 (horizontal)
colour      - table of colours for text, default = plain white {{1,0xFFFFFF,1}}
			  this table contains one or more tables with format {P,C,A}
              P=position of gradient (0 = beginning of text, 1= end of text)
              C=hexadecimal colour 
              A=alpha (opacity) of color (0=invisible,1=opacity 100%)
              Examples :
              for a plain color {{1,0x00FF00,0.5}}
              for a gradient with two colours {{0,0x00FF00,0.5},{1,0x000033,1}}
              or {{0.5,0x00FF00,1},{1,0x000033,1}} -with this one, gradient will start in the middle of the text
              for a gradient with three colours {{0,0x00FF00,0.5},{0.5,0x000033,1},{1,0x440033,1}}
			  and so on ...
orientation	- in case of gradient, "orientation" defines the starting point of the gradient, default="ww"
			  there are 8 available starting points : "nw","nn","ne","ee","se","ss","sw","ww"
			  (n for north, w for west ...)
			  theses 8 points are the 4 corners + the 4 middles of text's outline
			  so a gradient "nn" will go from "nn" to "ss" (top to bottom, parallele to text)
			  a gradient "nw" will go from "nw" to "se" (left-top corner to right-bottom corner)
radial		- define a radial gradient (if present at the same time as "orientation", "orientation" will have no effect)
			  this parameter is a table with 6 numbers : {xa,ya,ra,xb,yb,rb}
			  they define two circle for the gradient :
			  xa, ya, xb and yb are relative to x and y values above
reflection_alpha    - add a reflection effect (values from 0 to 1) default = 0 = no reflection
                      other values = starting opacity
reflection_scale    - scale of the reflection (default = 1 = height of text)
reflection_length   - length of reflection, define where the opacity will be set to zero
					  calues from 0 to 1, default =1
skew_x,skew_y    - skew text around x or y axis
draw_me     - if set to false, text is not drawn (default = true or 1)
              it can be used with a conky string, if the string returns 1, the text is drawn :
              example : "${if_empty ${wireless_essid wlan0}}${else}1$endif",
              


v1.0	07/06/2010, Original release
v1.1	10/06/2010	Add "orientation" parameter
v1.2	15/06/2010  Add "h_align", "v_align" and "radial" parameters
v1.3	25/06/2010  Add "reflection_alpha", "reflection_length", "reflection_scale", 
                    "skew_x" et "skew_y"
v1.4    07/01/2011  Add draw_me parameter and correct memory leaks, thanks to "Creamy Goodness"
                    text is parsed inside the function, not in the array of settings
v1.41   26/01/2011  Correct bug for h_align="c"    
v1.42   09/02/2011  Correct bug for orientation="ee"                

--      This program is free software; you can redistribute it and/or modify
--      it under the terms of the GNU General Public License as published by
--      the Free Software Foundation version 3 (GPLv3)
--     
--      This program is distributed in the hope that it will be useful,
--      but WITHOUT ANY WARRANTY; without even the implied warranty of
--      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--      GNU General Public License for more details.
--     
--      You should have received a copy of the GNU General Public License
--      along with this program; if not, write to the Free Software
--      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
--      MA 02110-1301, USA.		

]]
require 'cairo'


function conky_draw_text()
	--BEGIN OF PARAMETRES
	local ts=os.date("*t")
    local text_settings={
		{
			text=conky_parse"${cpu cpu1}%",
			font_size=12,
			h_align="l",
			angle=-90,
			y=35,
			x=155,
			colour=col_cpu1,
			orientation="ee"
		},
		{--crunchbang logo
			text="#!",
			font_size=40,
			bold=true,
			h_align="l",
			v_align="c",
			y=35,
			x=2,
			colour=col_logo,
			orientation="nn"
		},				
		{
			text=conky_parse"${cpu cpu2}%",
			font_size=12,
			h_align="l",
			angle=-90,
			y=35,
			x=275,
			colour=col_cpu2,
			orientation="ee"
		},					
		
		{
			text=conky_parse"${fs_used_perc /}",
			font_size=12,
			h_align="l",
			angle=-90,
			y=35,
			x=452,
			colour=col_fs_sys,
			orientation="ee"
		},	
		{
			text=conky_parse"${fs_used_perc /home}",
			font_size=12,
			h_align="l",
			angle=-90,
			y=35,
			x=520,
			colour=col_fs_home,
			orientation="ee"
		},
		{
			text=conky_parse"${downspeedf eth0}Kb",
			font_size=12,
			h_align="l",
			y=35,
			x=750,
			colour={{0,col_cpu3[2][2],1},{1,0x000000,1}},
			orientation="nn"
		},
		{
			text=conky_parse"${upspeedf eth0}Kb",
			font_size=12,
			h_align="l",
			y=16,
			x=750,
			colour={{0,col_cpu1[2][2],1},{1,0xfffffF,1}},
			orientation="ss"
		},
		
		---cpuinfo
---${execi 99999 cat /proc/cpuinfo | grep "model name" -m1 | cut -d":" -f2 | cut -d" " -f2-}
		{
			text=conky_parse"${kernel}",
			font_size=12,
			h_align="c",
			y=25,
			x=850,
			colour=col_fs_home,
			orientation="nn"
		},
		
		{--clock
			text=string.format("%02d",ts.hour) .. ":" .. 
			   string.format("%02d",ts.min),
			font_size=25,
			h_align="c",
			y=25,
			x=1790,
			colour=col_logo,
			orientation="nn"
		},

---news
		{
			text=conky_parse"Processus Actifs: $running_processes    Lancés: ${threads}",
			font_size=12,
			h_align="c",
			y=15,
			x=1300,
			colour=col_fs_home,
			orientation="nn"
		},

		{
---news
			text=conky_parse"Utilisation RAM:  $mem / $memmax",
			font_size=12,
			h_align="c",
			y=30,
			x=1300,
			colour=col_fs_home,
			orientation="nn"
		},
			{
---news
			text=conky_parse"Actif depuis: $uptime",
			font_size=12,
			h_align="c",
			y=15,
			x=1580,
			colour=col_fs_home,
			orientation="nn"
		},
{
---news
			text=conky_parse"Modèle CPU: ${execi 1000 cat /proc/cpuinfo | grep 'model name' | sed -e 's/model name.*: //'| uniq}",
			font_size=12,
			h_align="c",
			y=30,
			x=1580,
			colour=col_fs_home,
			orientation="nn"
		},


		{--date
			text=string.format("%02d",ts.day) .. "/" .. 
    			string.format("%02d",ts.month),
			font_size=25,
			h_align="c",
			y=25,
			x=1875,
			colour={col_logo[1],col_logo[2]},
			orientation="nn"
		},	
		{
			text=conky_parse"${memperc}%",
			font_size=12,
			h_align="l",
			angle=-90,
			y=35,
			x=1033,
			colour=col_cpu4,
			orientation="ee"
		},

		{
			text="cpu 1",
			font_size=12,
			h_align="c",
			y=15,
			x=90,
			colour={{0,col_logo[1][2],col_logo[1][3]},{1,col_logo[2][2],col_logo[2][3]},},
		},	
		{
			text="cpu 2",
			font_size=12,
			h_align="c",
			y=15,
			x=210,
			colour={{0,col_logo[1][2],col_logo[1][3]},{1,col_logo[2][2],col_logo[2][3]},},
		},
		---machine
			
		--{
			--text=conky_parse"${nodename}${machine}",
			---font_size=12,
			--h_align="c",
			--y=25,
			--x=380,
			--colour=col_fs_home,
		--},			 
		{
			text="Root",
			font_size=12,
			h_align="c",
			y=15,
			x=455,
			colour={{0,col_logo[1][2],col_logo[1][3]},{1,col_logo[2][2],col_logo[2][3]},},
		},				
		{
			text="home",
			font_size=12,
			h_align="c",
			y=15,
			x=525,
			colour={{0,col_logo[1][2],col_logo[1][3]},{1,col_logo[2][2],col_logo[2][3]},},
		},				
--[[		{
			text=conky_parse("${addr "..interface.."}"),
			font_size=12,
			h_align="c",
			y=15,
			x=670,
			colour={{0,0x000000,1}},
		},]]

		{
			text="mem",
			font_size=12,
			h_align="c",
			y=15,
			x=969,
			colour={{0,col_logo[1][2],col_logo[1][3]},{1,col_logo[2][2],col_logo[2][3]},},
		},
		{
			text=conky_parse"${top_mem name 1}${top_mem mem 1}%",
			font_size=11,
			h_align="l",
			y=13,
			x=1047,
			colour=col_fs_home,
			orientation="nn",
		},			

		{
			text=conky_parse"${top_mem name 2}${top_mem mem 2}%",
			font_size=10,
			h_align="l",
			y=24,
			x=1047,
			colour=col_logo,
			orientation="nn",
		},
		{
			text=conky_parse"${top_mem name 3}${top_mem mem 3}%",
			font_size=10,
			h_align="l",
			y=35,
			x=1047,
			colour={{0,col_logo[2][2],col_logo[2][3]},{1,col_logo[3][2],col_logo[3][3]},},
			orientation="nn",
		},

---cpu
{
			text=conky_parse"${top name 1}${top cpu 1}%",
			font_size=11,
			h_align="l",
			y=13,
			x=300,
			colour=col_cpu1,
			orientation="nn",
		},			

		{
			text=conky_parse"${top name 2}${top cpu 2}%",
			font_size=10,
			h_align="l",
			y=24,
			x=300,
			colour=col_cpu2,
			orientation="nn",
		},
		{
			text=conky_parse"${top name 3}${top cpu 3}%",
			font_size=10,
			h_align="l",
			y=35,
			x=300,
			colour={{0,col_logo[2][2],col_logo[2][3]},{1,col_logo[3][2],col_logo[3][3]},},
			orientation="nn",
		},								
    }
    

	
 
           
    
    
--------------END OF PARAMETERES----------------

    if conky_window == nil then return end
    if tonumber(conky_parse("$updates"))<3 then return end
       
    local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
		
    for i,v in pairs(text_settings) do    
        cr = cairo_create (cs)
        display_text(v)
        cairo_destroy(cr)
	    cr = nil
    end
    
    cairo_surface_destroy(cs)
		
end

function rgb_to_r_g_b2(tcolour)
    local colour,alpha=tcolour[2],tcolour[3]
    return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end

function display_text(t)
    if t.draw_me==true then t.draw_me = nil end
    if t.draw_me~=nil and conky_parse(tostring(t.draw_me)) ~= "1" then return end
    local function set_pattern(te)
        --this function set the pattern
        if #t.colour==1 then 
            cairo_set_source_rgba(cr,rgb_to_r_g_b2(t.colour[1]))
        else
            local pat
            
            if t.radial==nil then
                local pts=linear_orientation(t,te)
                pat = cairo_pattern_create_linear (pts[1],pts[2],pts[3],pts[4])
            else
                pat = cairo_pattern_create_radial (t.radial[1],t.radial[2],t.radial[3],t.radial[4],t.radial[5],t.radial[6])
            end
        
            for i=1, #t.colour do
                cairo_pattern_add_color_stop_rgba (pat, t.colour[i][1], rgb_to_r_g_b2(t.colour[i]))
            end
            cairo_set_source (cr, pat)
            cairo_pattern_destroy(pat)
        end
    end
    
    --set default values if needed
    if t.text==nil then t.text="Conky is good for you !" end
    if t.x==nil then t.x = conky_window.width/2 end
    if t.y==nil then t.y = conky_window.height/2 end
    if t.colour==nil then t.colour={{1,0xFFFFFF,1}} end
    if t.font_name==nil then t.font_name="Free Sans" end
    if t.font_size==nil then t.font_size=14 end
    if t.angle==nil then t.angle=0 end
    if t.italic==nil then t.italic=false end
    if t.oblique==nil then t.oblique=false end
    if t.bold==nil then t.bold=false end
    if t.radial ~= nil then
        if #t.radial~=6 then 
            print ("error in radial table")
            t.radial=nil 
        end
    end
    if t.orientation==nil then t.orientation="ww" end
    if t.h_align==nil then t.h_align="l" end
    if t.v_align==nil then t.v_align="b" end    
    if t.reflection_alpha == nil then t.reflection_alpha=0 end
    if t.reflection_length == nil then t.reflection_length=1 end
    if t.reflection_scale == nil then t.reflection_scale=1 end
    if t.skew_x==nil then t.skew_x=0 end
    if t.skew_y==nil then t.skew_y=0 end    
    cairo_translate(cr,t.x,t.y)
    cairo_rotate(cr,t.angle*math.pi/180)
    cairo_save(cr)       
     
    local slant = CAIRO_FONT_SLANT_NORMAL
    local weight = CAIRO_FONT_WEIGHT_NORMAL
    if t.italic then slant = CAIRO_FONT_SLANT_ITALIC end
    if t.oblique then slant = CAIRO_FONT_SLANT_OBLIQUE end
    if t.bold then weight = CAIRO_FONT_WEIGHT_BOLD end
    
    cairo_select_font_face(cr, t.font_name, slant,weight)
 
    for i=1, #t.colour do    
        if #t.colour[i]~=3 then 
            print ("error in color table")
            t.colour[i]={1,0xFFFFFF,1} 
        end
    end

    local matrix0 = cairo_matrix_t:create()
    tolua.takeownership(matrix0) 
    local skew_x,skew_y=t.skew_x/t.font_size,t.skew_y/t.font_size
    cairo_matrix_init (matrix0, 1,skew_y,skew_x,1,0,0)
    cairo_transform(cr,matrix0)
    cairo_set_font_size(cr,t.font_size)
    local te=cairo_text_extents_t:create()
    tolua.takeownership(te) 
    local text=conky_parse(t.text)
    if text~="" then t.text = text end
    cairo_text_extents (cr,t.text,te)
    set_pattern(te)
            
    local mx,my=0,0
    
    if t.h_align=="c" then
        mx=-te.width/2-te.x_bearing
    elseif t.h_align=="r" then
        mx=-te.width
    end
    if t.v_align=="m" then
        my=-te.height/2-te.y_bearing
    elseif t.v_align=="t" then
        my=-te.y_bearing
    end
    cairo_move_to(cr,mx,my)
    
    cairo_show_text(cr,t.text)

     
        
        
   if t.reflection_alpha ~= 0 then 
        local matrix1 = cairo_matrix_t:create()
		tolua.takeownership(matrix1)         
        cairo_set_font_size(cr,t.font_size)

        cairo_matrix_init (matrix1,1,0,0,-1*t.reflection_scale,0,(te.height+te.y_bearing+my)*(1+t.reflection_scale))
        cairo_set_font_size(cr,t.font_size)
        te=nil
        local te=cairo_text_extents_t:create()
        tolua.takeownership(te) 
        cairo_text_extents (cr,t.text,te)
        
                
        cairo_transform(cr,matrix1)
        set_pattern(te)
        cairo_move_to(cr,mx,my)
        cairo_show_text(cr,t.text)

        local pat2 = cairo_pattern_create_linear (0,
                                        (te.y_bearing+te.height+my),
                                        0,
                                        te.y_bearing+my)
        cairo_pattern_add_color_stop_rgba (pat2, 0,1,0,0,1-t.reflection_alpha)
        cairo_pattern_add_color_stop_rgba (pat2, t.reflection_length,0,0,0,1)    
        
        --line is not drawn but with a size of zero, the mask won't be nice
        cairo_set_line_width(cr,1)
        local dy=te.x_bearing
        if dy<0 then dy=dy*(-1) end
        cairo_rectangle(cr,mx+te.x_bearing,te.y_bearing+te.height+my,te.width+dy,-te.height*1.05)
        cairo_clip_preserve(cr)
        cairo_set_operator(cr,CAIRO_OPERATOR_CLEAR)
        --cairo_stroke(cr)
        cairo_mask(cr,pat2)
        cairo_pattern_destroy(pat2)
        cairo_set_operator(cr,CAIRO_OPERATOR_OVER)
        te=nil
    end
    
end


function linear_orientation(t,te)
    local w,h=te.width,te.height
    local xb,yb=te.x_bearing,te.y_bearing
    
    if t.h_align=="c" then
        xb=xb-w/2
    elseif t.h_align=="r" then
        xb=xb-w
       end    
    if t.v_align=="m" then
        yb=-h/2
    elseif t.v_align=="t" then
        yb=0
       end    
    local p=0
    if t.orientation=="nn" then
        p={xb+w/2,yb,xb+w/2,yb+h}
    elseif t.orientation=="ne" then
        p={xb+w,yb,xb,yb+h}
    elseif t.orientation=="ww" then
        p={xb,h/2,xb+w,h/2}
    elseif vorientation=="se" then
        p={xb+w,yb+h,xb,yb}
    elseif t.orientation=="ss" then
        p={xb+w/2,yb+h,xb+w/2,yb}
    elseif t.orientation=="ee" then
        p={xb+w,h/2,xb,h/2}        
    elseif t.orientation=="sw" then
        p={xb,yb+h,xb+w,yb}
    elseif t.orientation=="nw" then
        p={xb,yb,xb+w,yb+h}
    end
    return p
end

graph.lua

--[[ GRAPH widget v1.1 by wlourf (07.01.2011)
	this widget draws some graphs with some effects 
	http://u-scripts.blogspot.com/2010/10/graph-widget.html
	
To call the script in a conky, use, before TEXT
	lua_load /path/to/the/script/graph.lua
	lua_draw_hook_pre main_graph
and add one line (blank or not) after TEXT


Parameters are :
3 parameters are mandatory
name		- the name of the conky variable to display,
			  for example for {$cpu cpu0}, just write name="cpu"
arg			- the argument of the above variable,
			  for example for {$cpu cpu1}, just write arg="cpu1"
		  	  arg can be a numerical value if name=""
max			- the maximum value the above variable can reach,
			  for example for {$cpu cpu1}, just write max=100 or less or more
	
Optional parameters:
x,y 		- coordinates of the bottom-left corner of the graph,
              relative to the top-left corner of the conky window 
			  default =  bottom-left corner of the conky window
width       - width of the graph, default = 100 pixels
height      - height of the graph, default = 20 pixels
nb_values   - number of values to display in the graph, default=width 
              i.e. 1 pixel for 1 value
autoscale   - if set to true, calculate the max valeu of the y axis and
              doesn't use the max parameter above, default=false
skew_x      - skew graph around x axis, défaut = 0
skew_y      - skew graph around y axis, défaut = 0
angle	    - angle of rotation of the graph in degress, default = 0
              i.e. a horizontal graph)
inverse     - if set to true, graph are draw from right to left, default=false
background  - if set to false, background is not drawn, default=true
foreground  - if set to false, foreground is not drawn, default=true
              foreground = plain graph
bg_bd_size  - size of the border of the background, default=0=no border
fg_bd_size  - size of the border of the foreground, default=0=no border


Colours tables below are defined into braces :
{position in the gradient (0 to 1), colour in hexadecimal, alpha (0 to 1)}
example for a single colour table : 
{{0,0xFFAA00,1}} position parameter doesn't matter
example for a two-colours table : 
{{0,0xFFAA00,1},{1,0x00AA00,1}} or {{0.5,0xFFAA00,1},{1,0x00AA00,1}}
example for a three-colours table : 
{{0,0xFFAA00,1},{0.5,0xFF0000,1},{1,0x00AA00,1}}

bg_colour	- colour table for background,
			  default = {{0,0x000000,.5},{1,0xFFFFFF,.5}}
fg_colour	- colour table for foreground,
			  default = {{0,0x00FFFF,1},{1,0x0000FF,1}}
bg_bd_colour- colour table for background border,
			  default = {{1,0xFFFFFF,1}}			  
fg_bd_colour- colour table for foreground border,
			  default = {{1,0xFFFF00,1}}			  

bg_orientation, bg_bd_orientation, fg_orientation, fg_bd_orientation,
        	- "orientation" defines the starting point of the gradient,
        	  default="nn"
			  there are 8 available starting points : 
			  "nw","nn","ne","ee","se","ss","sw","ww"
			  (n for north, w for west ...)
			  theses 8 points are the 4 corners + the 4 middles of graph
			  so a gradient "nn" will go from "nn" to "ss"
			  a gradient "nw" will go from "nw" to "se"

draw_me     - if set to false, graph is not drawn (default = true)
              it can be used with a conky string, if the string returns 1, the graph is drawn :
              example : "${if_empty ${wireless_essid wlan0}}${else}1$endif",
              
v1.0 (31/10/2010) original release
v1.1 (07/01/2011) Add draw_me parameter and correct memory leaks, thanks to "Creamy Goodness"
                  text is parsed inside the function, not in the array of settings

--      This program is free software; you can redistribute it and/or modify
--      it under the terms of the GNU General Public License as published by
--      the Free Software Foundation version 3 (GPLv3)
--     
--      This program is distributed in the hope that it will be useful,
--      but WITHOUT ANY WARRANTY; without even the implied warranty of
--      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--      GNU General Public License for more details.
--     
--      You should have received a copy of the GNU General Public License
--      along with this program; if not, write to the Free Software
--      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
--      MA 02110-1301, USA.		

]]


require 'cairo'


function set_settings()
	graph_settings={
	    
	    {--background
	    name="",
	    arg=0,
	    max=1,
	    x=0,
        y=38,
        width=1920,
        height=40,
        foreground=false,
        bg_colour=col_bg,
	    },
	    
	    {
	    name="cpu",
	    arg="cpu1",
	    max=100,
	    x=42,
        y=36,
        width=100,
        height=32,
        background=false,
        fg_colour=col_cpu1,
	    },
	    {
	    name="cpu",
	    arg="cpu2",
	    max=100,
	    x=162,
        y=36,
        width=100,
        height=32,
        background=false,
        fg_colour=col_cpu2,
	    },
	    
	   -- {--separator
	   -- name="",
	    --arg=1,
	   -- max=1,
	   -- x=522,
       -- y=36,
       -- width=1,
       -- height=32,
       -- foreground=false,
       -- bg_colour=col_sep,
	  --  },	  	    
	    {
	    name="fs_used_perc",
	    arg="/",
	    max=100,
	    x=430,
        y=36,
        width=10,
        height=32,
        nb_values=2,
        fg_colour=col_fs_sys,
        background=false,
	    },
	    {
	    name="fs_used_perc",
	    arg="/home",
	    max=100,
	    x=495,
        y=36,
        width=10,
        height=32,
        nb_values=2,
        fg_colour=col_fs_home,
        background=false,        
	    },
	    --{--separator
	   -- name="",
	   -- arg=1,
	   -- max=1,
	   -- x=588,
       -- y=36,
       -- width=1,
        --height=32,
        --foreground=false,
        --bg_colour=col_sep,
	 --   },
	   {--
	    name="downspeedf",
	    arg="eth0",
	    max=max_dl,
	    autoscale=true,
	    x=594, y=34,
        width=150,
        nb_values=100,
        height=32,
        background=false,
        foreground=false,
        fg_bd_size=0.8,
        fg_bd_colour=col_cpu3,
	    },
	    {--
	    name="upspeedf",
	    arg="eth0",
	    max=max_up,
	    autoscale=true,
	    x=594,y=36,
        width=150,
        nb_values=100,
        height=32,
        background=false,
        foreground=false,
        fg_bd_size=0.8,
        fg_bd_colour=col_cpu1,
	    },
	    --{--separator
	    --name="",
	   -- arg=1,
	   -- max=1,
	   -- x=835,
       -- y=36,
       -- width=1,
        --height=32,
       -- foreground=false,
       -- bg_colour=col_sep,
	    --},
	    
	    --{--separator
	    --name="",
	    --arg=1,
	   -- max=1,
	   -- x=916,
       -- y=36,
        --width=1,
       -- height=32,
        --foreground=false,
        --bg_colour=col_sep,
	  --  },	    
	    {
	    name="memperc",
	    arg="",
	    max=100,
	    x=921,
        y=36,
        width=100,
        nb_values=300,
        height=32,
        background=false,
        fg_colour=col_cpu2,
	    },
	    {--separator
	    name="",
	    arg=1,
	    max=1,
	    x=1040,
        y=36,
        width=1,
        height=32,
        foreground=false,
        bg_colour=col_sep,
	    },
	    {--separator
	    name="",
	    arg=1,
	    max=1,
	    x=1837,
        y=36,
        width=1,
        height=32,
        foreground=false,
        bg_colour=col_sep,
	    },		        	    	    	    		    	    	          	        
       }
end

---END OF PARAMETERS ---

function check_settings(t)
    --tables are check only when conky start
	if t.name==nil and t.arg==nil then 
		print ("No input values ... use parameters 'name'" .. 
			" with 'arg' or only parameter 'arg' ") 
		return 1
	end

	if t.max==nil then
		print ("No maximum value defined, use 'max'")
		print ("for name=" .. t.name .. " with arg=" .. t.arg)
		return 1
	end
	if t.name==nil then t.name="" end
	if t.arg==nil then t.arg="" end
	return 0
end

function conky_main_graph()

    if conky_window == nil then return end
	    
    local w=conky_window.width
    local h=conky_window.height
    local cs=cairo_xlib_surface_create(conky_window.display, 
            conky_window.drawable, conky_window.visual, w, h)
    cr=cairo_create(cs)

    updates=tonumber(conky_parse('${updates}'))
    --start drawing after "updates_gap" updates
    --prevent segmentation error for cpu
    updates_gap=5
    if updates==1 then    
        set_settings()
	    
	    flagOK=0
		for i in pairs(graph_settings) do
			if graph_settings[i].width==nil then graph_settings[i].width=100 end
        	if graph_settings[i].nb_values==nil then  
        	    graph_settings[i].nb_values= graph_settings[i].width
        	end
			--create an empty table to store values
			graph_settings[i]["values"]={}
			--beginning point
			graph_settings[i].beg = graph_settings[i].nb_values
			--graph_settings[i].beg = 0
			for j =1, graph_settings[i].nb_values do
			    graph_settings[i].values[j]=0
			end
		    graph_settings[i].flag_init=true
		    flagOK=flagOK + check_settings(graph_settings[i])

		end
    end

    if flagOK>0 then 
        --abort script if error in one of the tables
        print ("ERROR : Check the graph_setting table")
        return
    end

    --drawing process
    if updates > updates_gap then
		for i in pairs(graph_settings) do
		    if graph_settings[i].draw_me==true then graph_settings[i].draw_me = nil end
			if (graph_settings[i].draw_me==nil or conky_parse(tostring(graph_settings[i].draw_me)) == "1") then 
			    local nb_values=graph_settings[i].nb_values
			    graph_settings[i].automax=0
			    for j =1, nb_values do
				    if graph_settings[i].values[j+1]==nil then 
				        graph_settings[i].values[j+1]=0 
				    end
				
				    graph_settings[i].values[j]=graph_settings[i].values[j+1]
				    if j==nb_values then
					    --store value
					    if graph_settings[i].name=="" then
					        value=graph_settings[i].arg
					    else
        					value=tonumber(conky_parse('${' .. 
        					    graph_settings[i].name .. " " ..
        					    graph_settings[i].arg ..'}'))
        			    end
					    graph_settings[i].values[nb_values]=value
				    end
				    graph_settings[i].automax=math.max(graph_settings[i].automax,
				                                       graph_settings[i].values[j])
			        --should stop weird glitches at beginning when no values reported yet for upspeed or diskio
                    if graph_settings[i].automax == 0 then graph_settings[i].automax = 1 end 
                end
   			    draw_graph(graph_settings[i])
		    end
		end
    end

    cairo_destroy(cr)
    cairo_surface_destroy(cs)
	updates=nil
	updates_gap=nil
end


function draw_graph(t)
    --drawing function

    local function rgb_to_r_g_b(colour)
        return ((colour[2] / 0x10000) % 0x100) / 255., ((colour[2] / 0x100) % 0x100) / 255., (colour[2] % 0x100) / 255., colour[3]
    end
 
	local function linear_orientation(o,w,h)
	    --set gradient for bg and bg border
	    local p
		if o=="nn" then
			p={w/2,h,w/2,0}
		elseif o=="ne" then
			p={w,h,0,0}
		elseif o=="ww" then
			p={0,h/2,w,h/2}
		elseif o=="se" then
			p={w,0,0,h}
		elseif o=="ss" then
			p={w/2,0,w/2,h}
		elseif o=="ee" then
			p={w,h/2,0,h/2}		
		elseif o=="sw" then
			p={0,0,w,h}
		elseif o=="nw" then
			p={0,h,w,0}
		end
		return p
	end

	local function linear_orientation_inv(o,w,h)
	    --set gradient for fg and fg border
	    local p
		if o=="ss" then
			p={w/2,h,w/2,0}
		elseif o=="sw" then
			p={w,h,0,0}
		elseif o=="ee" then
			p={0,h/2,w,h/2}
		elseif o=="nw" then
			p={w,0,0,h}
		elseif o=="nn" then
			p={w/2,0,w/2,h}
		elseif o=="ww" then
			p={w,h/2,0,h/2}		
		elseif o=="ne" then
			p={0,0,w,h}
		elseif o=="se" then
			p={0,h,w,0}
		end
		return p
	end


	--set default values
	
    --cancel drawing if not needed
	if t.draw_me~=nil and conky_parse(tostring(t.draw_me)) ~= "1" then 
		return
	end
	

	
	if t.height==nil	then t.height=20 end
	--checked in previous part : width and nb_values
		
	if t.background==nil    then t.background=true end
	if t.bg_bd_size==nil	then t.bg_bd_size=0 end
	if t.x==nil 		    then t.x=t.bg_bd_size end
	if t.y==nil 		    then t.y=conky_window.height -t.bg_bd_size end
	if t.bg_colour==nil 	then t.bg_colour={{0,0x000000,.5},{1,0xFFFFFF,.5}} end
	if t.bg_bd_colour==nil 	then t.bg_bd_colour={{1,0xFFFFFF,1}} end
	
	if t.foreground==nil    then t.foreground=true end
	if t.fg_colour==nil 	then t.fg_colour={{0,0x00FFFF,1},{1,0x0000FF,1}} end
	
	if t.fg_bd_size==nil	then t.fg_bd_size=0 end	
	if t.fg_bd_colour==nil  then t.fg_bd_colour={{1,0xFFFF00,1}} end
	
	if t.autoscale==nil     then t.autoscale=false end
	if t.inverse==nil       then t.inverse=false end
	if t.angle==nil         then t.angle=0 end
	
	if t.bg_bd_orientation==nil then t.bg_bd_orientation="nn" end
	if t.bg_orientation==nil then t.bg_orientation="nn" end
	if t.fg_bd_orientation==nil then t.fg_bd_orientation="nn" end
	if t.fg_orientation==nil then t.fg_orientation="nn" end

    --check colours tables
	for i=1, #t.fg_colour do    
        if #t.fg_colour[i]~=3 then 
        	print ("error in fg_colour table")
        	t.fg_colour[i]={1,0x0000FF,1} 
        end
    end
	
	for i=1, #t.fg_bd_colour do    
        if #t.fg_bd_colour[i]~=3 then 
        	print ("error in fg_bd_colour table")
        	t.fg_bd_colour[i]={1,0x00FF00,1} 
        end
    end
    
	for i=1, #t.bg_colour do    
        if #t.bg_colour[i]~=3 then 
        	print ("error in background color table")
        	t.bg_colour[i]={1,0xFFFFFF,0.5} 
        end
    end    

	for i=1, #t.bg_bd_colour do    
        if #t.bg_bd_colour[i]~=3 then 
        	print ("error in background border color table")
        	t.bg_bd_colour[i]={1,0xFFFFFF,1} 
        end
    end    

    --calculate skew parameters if needed
    if t.flag_init then
	    if t.skew_x == nil then 
		    t.skew_x=0 
	    else
		    t.skew_x = math.pi*t.skew_x/180	
	    end
	    if t.skew_y == nil then 
		    t.skew_y=0
	    else
		    t.skew_y = math.pi*t.skew_y/180	
	    end
	    t.flag_init=false
	end

    cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
    cairo_set_line_join(cr,CAIRO_LINE_JOIN_ROUND)

    local matrix0 = cairo_matrix_t:create()
    tolua.takeownership(matrix0)
    cairo_save(cr)
    cairo_matrix_init (matrix0, 1,t.skew_y,t.skew_x,1,0,0)
    cairo_transform(cr,matrix0)
    
   	local ratio=t.width/t.nb_values

	cairo_translate(cr,t.x,t.y)
	cairo_rotate(cr,t.angle*math.pi/180)
	cairo_scale(cr,1,-1)

	--background
	if t.background then
	    local pts=linear_orientation(t.bg_orientation,t.width,t.height)
		local pat = cairo_pattern_create_linear (pts[1],pts[2],pts[3],pts[4])
		for i=1, #t.bg_colour do
			--print ("i",i,t.colour[i][1], rgb_to_r_g_b(t.colour[i]))
		    cairo_pattern_add_color_stop_rgba (pat, t.bg_colour[i][1], rgb_to_r_g_b(t.bg_colour[i]))
		end
		cairo_set_source (cr, pat)
		cairo_rectangle(cr,0,0,t.width,t.height)	
		cairo_fill(cr)	
		cairo_pattern_destroy(pat)
	end
	
    --autoscale
    cairo_save(cr)
	if t.autoscale then
		t.max= t.automax*1.1
	end
	
    local scale_x = t.width/(t.nb_values-1)
	local scale_y = t.height/t.max
	
    --define first point of the graph
	if updates-updates_gap <t.nb_values then 
		t.beg = t.beg - 1
    	--next line prevent segmentation error when conky window is redraw 
		--quicly when another window "fly" over it
		if t.beg<0 then t.beg=0 end
	else
		t.beg=0
	end
    if t.inverse then cairo_scale(cr,-1,1)
    cairo_translate(cr,-t.width,0) end

	--graph foreground
	if t.foreground then
	    local pts_fg=linear_orientation_inv(t.fg_orientation,t.width,t.height)
	    local pat = cairo_pattern_create_linear (pts_fg[1],pts_fg[2],pts_fg[3],pts_fg[4])
		for i=1,#t.fg_colour,1 do
			cairo_pattern_add_color_stop_rgba (pat, 1-t.fg_colour[i][1], rgb_to_r_g_b(t.fg_colour[i]))
		end
		cairo_set_source (cr, pat)

		cairo_move_to(cr,t.beg*scale_x,0)
		cairo_line_to(cr,t.beg*scale_x,t.values[t.beg+1]*scale_y)
		for i=t.beg, t.nb_values-1 do
			cairo_line_to(cr,i*scale_x,t.values[i+1]*scale_y)		
		end
		cairo_line_to(cr,(t.nb_values-1)*scale_x,0)
		cairo_close_path(cr)
		cairo_fill(cr)
		cairo_pattern_destroy(pat)
	end

	--graph_border
	if t.fg_bd_size>0 then
    	local pts=linear_orientation_inv(t.fg_bd_orientation,t.width,t.height)
		local pat = cairo_pattern_create_linear (pts[1],pts[2],pts[3],pts[4])
		for i=1,#t.fg_bd_colour,1 do
			cairo_pattern_add_color_stop_rgba (pat, 1-t.fg_bd_colour[i][1], rgb_to_r_g_b(t.fg_bd_colour[i]))
		end
		cairo_set_source (cr, pat)
		cairo_move_to(cr,t.beg*scale_x,t.values[t.beg+1]*scale_y)
		for i=t.beg, t.nb_values-1 do
			cairo_line_to(cr,i*scale_x,t.values[i+1]*scale_y)		
		end
		cairo_set_line_width(cr,t.fg_bd_size)
		cairo_stroke(cr)
		cairo_pattern_destroy(pat)
	end
	cairo_restore(cr)

	--background border
	if t.bg_bd_size>0 then
    	local pts=linear_orientation(t.bg_bd_orientation,t.width,t.height)
		local pat = cairo_pattern_create_linear (pts[1],pts[2],pts[3],pts[4])
		for i=1, #t.bg_bd_colour do
			--print ("i",i,t.colour[i][1], rgb_to_r_g_b(t.colour[i]))
		    cairo_pattern_add_color_stop_rgba (pat, t.bg_bd_colour[i][1], rgb_to_r_g_b(t.bg_bd_colour[i]))
		end
		cairo_set_source (cr, pat)
		cairo_rectangle(cr,0,0,t.width,t.height)	
		cairo_set_line_width(cr,t.bg_bd_size)
		cairo_stroke(cr)
		cairo_pattern_destroy(pat)	
	end	

	cairo_restore(cr)

end

Je me suis juste permis une petite modification dans text.lua pour permettre l'affichage de "#!".

tous semble très bien fonctionner, mais sur mon écran sa déborde (donc je vois pas tous).

Hors ligne

#1917 Le 24/10/2012, à 14:16

kipof

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Bonjour,

J'ai un petit problème posté ici  http://forum.ubuntu-fr.org/viewtopic.php?id=1079051 avec mon conky depuis le passage à ubuntu 12.10
voici mon conky :

# Default Fonts
use_xft yes
xftfont Ubuntu:size=10
override_utf8_locale yes

# Performance Settings
update_interval 1
total_run_times 0
double_buffer yes
no_buffers yes
net_avg_samples 2
text_buffer_size 1024

# Window Settings
own_window yes
own_window_transparent yes
own_window_type override
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Window border
draw_borders no
draw_shades no

# Default Color
default_color E0DFDE

# Color Title.
color0 fce1b6

# Size and position
minimum_size 12206 192
gap_x 0
gap_y 1
alignment bottom_left

TEXT


${GOTO 220}${font technoid:bold:size=12}${color0}Systeme${font}${color}${GOTO 476}${font technoid:bold:size=12}${color0}Disks${font}${color}${GOTO 732}${font technoid:bold:size=12}${color0}Reseau${font}${color}${GOTO 988}${font technoid:bold:size=12}${color0}Temperatures${font}${color}

${GOTO 220}Kernel:${GOTO 280}${kernel}${GOTO 476}Used  ${fs_used_perc /}%${GOTO 732}Upspeed:${GOTO 816}${upspeedgraph wlan0 10,75 B7B2AD B7B2AD}${GOTO 988}CPU:${GOTO 1072}+${acpitemp} .ºC
${GOTO 220}CPU1:${GOTO 280}${cpubar cpu1 10,75} ${cpu cpu0} %${GOTO 476}Home : ${fs_free /} de disponible${GOTO 732}Downspeed:${GOTO 816}${downspeedgraph wlan0 10,75 B7B2AD B7B2AD}${GOTO 988}Hard disk:${GOTO 1072}+${hddtemp /dev/sda}. ºC
${GOTO 220}CPU2:${GOTO 280}${cpubar cpu0 10,75} ${cpu cpu1} %${GOTO 476}${GOTO 560}${fs_bar 10,100 /}${GOTO 732}Uploaded:${GOTO 816}${totalup wlan0}${GOTO 988}Carte nVidia:${GOTO 1072}+${nvidia temp}. ºC
${GOTO 220}CPU3:${GOTO 280}${cpubar cpu0 10,75} ${cpu cpu2} %${GOTO 476}Used  ${fs_used_perc /media/Data}%${GOTO 732}Download:${GOTO 816}${totaldown wlan0}
${GOTO 220}CPU4:${GOTO 280}${cpubar cpu0 10,75} ${cpu cpu3} %${GOTO 476}Data : ${fs_free /media/Data} de disponible${GOTO 732}Local IP:${GOTO 816}${addr wlan0}
${GOTO 220}RAM:${GOTO 280}${membar 10,75} ${memperc} %${GOTO 476}${GOTO 560}${fs_bar 10,100 /media/Data}

Une petite idée car il me semble être dans le bon sujet même si j'ai crée un sujet pour le problème hmm

Merci d'avance.


ASUS G53SW - Ubuntu Gnome Shell 16.04.2 LTS 64 Bits
Inspiron 15 série 3000 - Ubuntu Gnome Shell 16.04.2 LTS 64 Bits

Hors ligne

#1918 Le 24/10/2012, à 15:56

ragamatrix

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

@Didier-T
Effectivement plus de fuite, beau Boulot Msieur Didier ! Viel Danke !

Hors ligne

#1919 Le 24/10/2012, à 16:00

ragamatrix

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

kipof a écrit :

Bonjour,

J'ai un petit problème posté ici  http://forum.ubuntu-fr.org/viewtopic.php?id=1079051 avec mon conky depuis le passage à ubuntu 12.10
voici mon conky :

# Default Fonts
use_xft yes
xftfont Ubuntu:size=10
override_utf8_locale yes

# Performance Settings
update_interval 1
total_run_times 0
double_buffer yes
no_buffers yes
net_avg_samples 2
text_buffer_size 1024

# Window Settings
own_window yes
own_window_transparent yes
own_window_type override
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Window border
draw_borders no
draw_shades no

# Default Color
default_color E0DFDE

# Color Title.
color0 fce1b6

# Size and position
minimum_size 12206 192
gap_x 0
gap_y 1
alignment bottom_left

TEXT


${GOTO 220}${font technoid:bold:size=12}${color0}Systeme${font}${color}${GOTO 476}${font technoid:bold:size=12}${color0}Disks${font}${color}${GOTO 732}${font technoid:bold:size=12}${color0}Reseau${font}${color}${GOTO 988}${font technoid:bold:size=12}${color0}Temperatures${font}${color}

${GOTO 220}Kernel:${GOTO 280}${kernel}${GOTO 476}Used  ${fs_used_perc /}%${GOTO 732}Upspeed:${GOTO 816}${upspeedgraph wlan0 10,75 B7B2AD B7B2AD}${GOTO 988}CPU:${GOTO 1072}+${acpitemp} .ºC
${GOTO 220}CPU1:${GOTO 280}${cpubar cpu1 10,75} ${cpu cpu0} %${GOTO 476}Home : ${fs_free /} de disponible${GOTO 732}Downspeed:${GOTO 816}${downspeedgraph wlan0 10,75 B7B2AD B7B2AD}${GOTO 988}Hard disk:${GOTO 1072}+${hddtemp /dev/sda}. ºC
${GOTO 220}CPU2:${GOTO 280}${cpubar cpu0 10,75} ${cpu cpu1} %${GOTO 476}${GOTO 560}${fs_bar 10,100 /}${GOTO 732}Uploaded:${GOTO 816}${totalup wlan0}${GOTO 988}Carte nVidia:${GOTO 1072}+${nvidia temp}. ºC
${GOTO 220}CPU3:${GOTO 280}${cpubar cpu0 10,75} ${cpu cpu2} %${GOTO 476}Used  ${fs_used_perc /media/Data}%${GOTO 732}Download:${GOTO 816}${totaldown wlan0}
${GOTO 220}CPU4:${GOTO 280}${cpubar cpu0 10,75} ${cpu cpu3} %${GOTO 476}Data : ${fs_free /media/Data} de disponible${GOTO 732}Local IP:${GOTO 816}${addr wlan0}
${GOTO 220}RAM:${GOTO 280}${membar 10,75} ${memperc} %${GOTO 476}${GOTO 560}${fs_bar 10,100 /media/Data}

Une petite idée car il me semble être dans le bon sujet même si j'ai crée un sujet pour le problème hmm

Merci d'avance.

Salut !

Essaye ça :

  own_window_type normal 

et ça :

 background no 

(dans la section avant text Window setting)

Dernière modification par ragamatrix (Le 24/10/2012, à 16:02)

Hors ligne

#1920 Le 24/10/2012, à 17:11

kipof

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Pour le own_window_type je suis obligé de laisser sur override sinon j'ai une vilaine petite démarcation. j'ai ajouté le background mais rien cela est pareil hmm lorsque j'ouvre une fenêtre paf cela devient blanc ( GRRR )

Une autre idée ? tongue et merci d'avoir répondu smile


ASUS G53SW - Ubuntu Gnome Shell 16.04.2 LTS 64 Bits
Inspiron 15 série 3000 - Ubuntu Gnome Shell 16.04.2 LTS 64 Bits

Hors ligne

#1921 Le 24/10/2012, à 17:54

Didier-T

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

kipof a écrit :

Pour le own_window_type je suis obligé de laisser sur override sinon j'ai une vilaine petite démarcation. j'ai ajouté le background mais rien cela est pareil hmm lorsque j'ouvre une fenêtre paf cela devient blanc ( GRRR )

Une autre idée ? tongue et merci d'avoir répondu smile

Tu peut tenter ceci

feh --bg-center $(gsettings get org.gnome.desktop.background picture-uri)

bien sur il faut installer feh.

Hors ligne

#1922 Le 24/10/2012, à 18:17

kipof

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Toujours le même problème hmm je comprend vraiment pas pourquoi ca fait cela alors que sous ubuntu 12.04 j'ai jamais eu ce problème sad

Si je passe pas devant avec une fenêtre

1351099700-capture-du-2012-10-.png

et si une action passe dessus

1351019172-capture-du-2012-10-.png

Dernière modification par kipof (Le 24/10/2012, à 18:30)


ASUS G53SW - Ubuntu Gnome Shell 16.04.2 LTS 64 Bits
Inspiron 15 série 3000 - Ubuntu Gnome Shell 16.04.2 LTS 64 Bits

Hors ligne

#1923 Le 24/10/2012, à 18:45

chepioq

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Essaye en mettant

own_window_type normal 

comme l'indique ragamatrix, mais en plus ajoute

own_window_argb_visual yes

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

Hors ligne

#1924 Le 24/10/2012, à 19:00

kipof

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Il semble que own_window_argb_visual yes arrange mon problème smile je viens de reboot deux fois avec passage sur le conky et plus de blanc smile merci a vous pour votre aide.


ASUS G53SW - Ubuntu Gnome Shell 16.04.2 LTS 64 Bits
Inspiron 15 série 3000 - Ubuntu Gnome Shell 16.04.2 LTS 64 Bits

Hors ligne

#1925 Le 24/10/2012, à 22:55

Phyllinux

Re : (4) Conky : Postez vos conkyrc ou certaines parties intéressantes

Bonsoir à tous,

Je viens de finir ma migration sous Unity 12.10. Ce ne fut pas une simple affaire ! Je fais partie des heureux élus qui sont confrontés au problème des drivers ATI Radeon incompatibles avec le nouveau noyau car AMD ne les soutient plus.
Du coup, j'ai du refaire 3 fois mon install avant de trouver une solution qui tourne. Il va peut être falloir envisager de regarder du côté d'une nouvelle carte graphique (Bientôt le Pére Noël wink )
Une fois tout réinstallé, avoir remis mes logiciels habituels en complément, retrouver tous les paquets et les dépendances, j'en suis à la phase finale de mes conkys. J'au quelques petits soucis, comme kipof, mais pas sur tous... Rien de bien insurmontable a priori. Je vais voir cela tranquillement et je ferai appel à vous si je bloque sur certains points.
J'ai importé le conky control et tous mes conkys de Voyager (que je garde toujours comme distro préférée).
J'ai pour le moment 2 conkys sur lesquels je bloque complètement.
Le conky cliquable :
Il s'affiche correctement, mais la fonction du clic ne fonctionne pas. Il ne se passe rien, alors qu'il fonctionne correctement sous XFCE.
Aucun message d'erreur en console...
Une idée ?
Le conky deadbeef :
Il ne fonctionne pas.
La raison est la suivante : l'appel à l'exécutable 'deadbeef' n'est pas reconnu.
Si je lance 'deadbeef' en terminal, le retour est :'Commande introuvable'.
C'est gênant, car le script lua utilise cet appel , et comme il n'est pas reconnu, le conky ne se lance pas. Avec la modif que j'ai faite pour un affichage particulier lorsque deadbeef est arrêté, j'ai toujours droit à l'affichage de 'Deadbeef inactif', même lorsque il est en marche.
J'ai trouvé l'exécutable dans les fichiers. Si je clique dessus, le player est bien lancé, mais cela ne fonctionne pas en ligne de commande.
Une idée là aussi ?
Merci.


The ship is sinking normally...

Hors ligne