Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

nombre réponses : 25

#0 Re : -1 »  Copy control = CD audio illisible sur un PC » Le 11/04/2011, à 10:22

Satchmo
Réponses : 11

Salut,
J'ai effectivement un CD super-protégé. Il est lisible sur un pc, mais seulement après l'installation d'un soft spécial que le cd propose d'installer. Je n'ai pas refait d'essai depuis que je suis passé sur Ubuntu, mais le soft en question est probablement Win only.
Evidemment, même avec le soft installé, ce n'est même pas la peine d'envisager de nourrir son lecteur MP3.
A+

#1 Re : -1 »  Copy control = CD audio illisible sur un PC » Le 11/04/2011, à 14:12

Satchmo
Réponses : 11

Dans mon cas, le CD était un cadeau.... Et je suppose que tu n'as pas non plus de platine DVD de salon ? Ben là, je vois pas trop.
(NB: pas de sous-entendu dans mon précédent post, dernière ligne. Je voyage beaucoup, j'ai rippé une grande partie de mes CD pour pouvoir les emmener partout avec moi, des vrais CD d'origine, payés avec mes sous.)

#2 Re : -1 »  (4) Conky : Postez vos conkyrc ou certaines parties intéressantes » Le 02/10/2011, à 21:32

Satchmo
Réponses : 2375

Salut tous,
J'ai eu un paquet de mises a jour hier, et depuis, j'ai un petit problème avec le conkyforecast, qui marchait exactement comme je voulais juste avant.... Ca se situe en bas à gauche de mon écran.
1317586947.png
Normalement, le texte "calme - CALM" devrait être aligné avec le texte du dessous. C'était comme ça avant les MaJ....
Ci-dessous mon conkyforecast d'origine, qui marchait au poil:

${color2}${font Arial:style=Bold:size=10}
${image [--datatype=WI] -p 20,100 -s 55x55}
${image [--datatype=WI --startday=1] -p 120,100 -s 55x55}
${image [--datatype=BI] -p 20,180 -s 50x50}
${image [--datatype=MI] -p 120,180 -s 50x50}
${voffset 60}${goto 15}[--datatype=DW --shortweekday --startday=0] [--datatype=LT --hideunits]${goto 110}[--datatype=DW --shortweekday --startday=1] [--datatype=LT --startday=1 --hideunits]/[--datatype=HT --startday=1 --hideunits]
${voffset 60}${goto 15}[--datatype=WS] - [--datatype=WD]
${voffset 5}${goto 15}MaJ: [--datatype=LU]

J'ai essayé de changer la valeur du goto, avec 5 au lieu de 15, le texte se déplace à droite ????? Avec 50 au lieu de 15, c'est le texte d'en dessous qui se déplace à droite ????? Bref, comprends pus rien !!!!
Après ces MaJ, il a fallu que je mette un "gap_y -200", car le conky était remonté vers le haut....
Je suis en LMDE avec openbox, conky est le 1.8.1.
Merci!

Le fond d'écran, c'est Lyon.... trouvé ici : http://www.olivewhite.com/

Edit: J'oubliais...... j'ai longtemps bavé devant vos créations, j'ai pas mal bidouillé dans mon coin grace à vos infos. Ce bug me donne la possibilité de vous montrer un bout de ce que vous m'avez aidé à faire. Merci et encore bravo à tous.

#3 Re : -1 »  (4) Conky : Postez vos conkyrc ou certaines parties intéressantes » Le 04/10/2011, à 19:00

Satchmo
Réponses : 2375

Salut,
Le conky est vraiment tout bête, j'ai repiqué ça quelque part et fait très peu de modif. Pas de LUA du coté gauche, juste le conkyforecast.
Comme je suis pas trop du genre à me tourner les pouces pendant que les autres réfléchissent cool, j'ai fait quelques modifs et j'ai mis le conky en haut. Et là, tout marche .... Mais j'ai pas compris l'origine du pb, et ça c'est pénible....
Le conky

# conky configuration
# edited by Mark Buck (Kaivalagi) <m_buck@hotmail.com>

# set to yes if you want Conky to be forked in the background
background no

# Use Xft?
use_xft yes

# Xft font when Xft is enabled
xftfont Bitstream Vera Sans Mono:size=9

# Text alpha when using Xft
xftalpha 0.8

# Update interval in seconds
update_interval 600

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 300 0
maximum_width 300

# Draw shades?
draw_shades yes

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no
draw_graph_borders yes

# Stippled borders?
stippled_borders 8

# border margins
#border_margin 4

# border width
border_width 1

# Default colors and also border colors
default_color white
default_shade_color black
default_outline_color white

# own window options
own_window        yes
own_window_transparent    yes
own_window_type        override
own_window_hints    undecorated,below,sticky,skip_taskbar,skip_pager

# Text alignment, other possible values are commented
alignment top_left
#alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 20
gap_y -80

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about?  This only affects certain objects.
use_spacer right

# colours
color1 white
# light blue
# color2 6892C6
# yellow
color2 ab8f0b
# orange
#E77320
#color3 FC8820
# green
#color4 78BF39
# red
#color5 CC0000

text_buffer_size 2048

TEXT
${execpi 1800 conkyForecast --location=FRXX2334 --template=~/conky/Meteo/conkyForecast.template}

Le forecast, nouvelle mouture

${color2}${font Arial:style=Bold:size=10}
${image [--datatype=WI] -p 10,100 -s 55x55}
${image [--datatype=WI --startday=1] -p 110,100 -s 55x55}
${voffset 95}[--datatype=DW --shortweekday --startday=0] [--datatype=LT --hideunits]${goto 110}[--datatype=DW --shortweekday --startday=1] [--datatype=LT --startday=1 --hideunits]/[--datatype=HT --startday=1 --hideunits]
${image [--datatype=BI] -p 10,180 -s 50x50}
${image [--datatype=MI] -p 110,180 -s 50x50}
${voffset 30}[--datatype=WS] - [--datatype=WD]
${voffset 5}MaJ: [--datatype=LU]

Je peux tout remettre comme c'était avant, mais bon, en haut finalement, c'est pas mal!
A+

Edit : @spinoziste: euh.... tu voulais peut-être le conky de droite.....? big_smile

#4 Re : -1 »  (4) Conky : Postez vos conkyrc ou certaines parties intéressantes » Le 09/10/2011, à 12:27

Satchmo
Réponses : 2375

Salut,
Ce sont des fichiers que j'ai copié moi-même ! Les LUA sont des incontournables de l'excellent wlourf, dont on peut apprécier le travail un peu plus haut (très chouette ces petits panels, ça me fait bien envie).
Ces LUA sont maintenant célèbres et il doit bien y avoir un moyen de récupérer les derniéres versions, genre ici mais bon, pour faire court, je colle tout.
Voilà donc la partie droite
Le conkyrc

# -- Conky settings -- #
background no
update_interval 1

cpu_avg_samples 2
net_avg_samples 2

override_utf8_locale yes

double_buffer yes
no_buffers yes

text_buffer_size 2048
imlib_cache_size 0

# Use Xft?
use_xft yes

# own_window_type desktop
# own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
own_window yes
own_window_type override
own_window_transparent yes
# own_window_argb_visual yes
# own_window_title rings + text widgets

border_inner_margin 0
border_outer_margin 0

alignment middle_right
minimum_size 350 900
#gap_x -100

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

# yellow
color2 ab8f0b

# -- Lua load -- #
lua_load ~/conky/rings.lua
lua_load ~/conky/text.lua

lua_draw_hook_pre main_rings
lua_draw_hook_post draw_text

#at least one line (empty or not) after TEXT
TEXT

Le LUA rings

--[[ RINGS with SECTORS widget
    v1.0 by wlourf (08.08.2010)
    this widget draws a ring with differents effects 
    http://u-scripts.blogspot.com/2010/08/rings-sectors-widgets.html
    
To call the script in a conky, use, before TEXT
    lua_load /path/to/the/script/rings.lua
    lua_draw_hook_pre main_rings
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 cpu0}, just write arg="cpu0"
                arg can be a numerical value if name=""
max            - the maximum value the above variable can reach,
              for example for {$cpu cpu0}, just write max=100
    
Optional parameters:
xc,yc        - coordinates of the center of the ring,
              default = middle of the conky window
radius        - external radius of the ring, in pixels,
              default = quarter of the width of the conky window
thickness    - thickness of the ring, in pixels, default = 10 pixels
start_angle    - starting angle of the ring, in degrees, value can be negative,
              default = 0 degree
end_angle    - ending angle of the ring, in degrees,
              value must be greater than start_angle, default = 360 degrees
sectors        - number of sectors in the ring, default = 10
gap_sectors - gap between two sectors, in pixels, default = 1 pixel
cap            - the way to close a sector, available values are
                "p" for parallel , default value 
                "r" for radial (follow the radius)
inverse_arc    - if set to true, arc will be anticlockwise, default=false
border_size    - size of the border, in pixels, default = 0 pixel i.e. no border
fill_sector    - if set to true, each sector will be completely filled,
              default=false, this parameter is inoperate if sectors=1
background    - if set to false, background will not be drawn, default=true
foreground    - if set to false, foreground will not be drawn, default=true

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_colour1    - colour table for background,
              default = {{0,0x00ffff,0.1},{0.5,0x00FFFF,0.5},{1,0x00FFFF,0.1}}
fg_colour1    - colour table for foreground,
              default = {{0,0x00FF00,0.1},{0.5,0x00FF00,1},{1,0x00FF00,0.1}}
bd_colour1    - colour table for border,
              default = {{0,0xFFFF00,0.5},{0.5,0xFFFF00,1},{1,0xFFFF00,0.5}}              

Seconds tables for radials gradients :
bg_colour2    - second colour table for background, default = no second colour
fg_colour2    - second colour table for foreground, default = no second colour
bd_colour2    - second colour table for border, default = no second colour

v1.0 (08 Aug. 2010) original release

]]


require 'cairo'
function conky_main_rings()
-- START PARAMETERS HERE
rings_settings={

    {
    --ring 2-1 :cpu0
    name="cpu",
    arg="cpu",
    max=100,
    xc=50,
    yc=50,
    radius=40,
    thickness=10,
    start_angle=-120,
    end_angle=120,
    sectors=20,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    fg_colour1={{0,0XFFFF00,0},{0.5,0xFFFF00,1}, {1,0xFFFF00,0}},
    fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
    bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
    },
    
    {
    --ring 2-2 :cpu1
    name="freq_g",
    arg="freq_g",
    max=3.4,
    xc=50,
    yc=50,
    radius=30,
    thickness=10,
    start_angle=-120,
    end_angle=120,
    sectors=20,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    fg_colour1={{0,0XFFFF00,0},{0.5,0xFFFF00,1}, {1,0xFFFF00,0}},
    fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
    bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
    },
    {
    --ring 3 : memory
    name="memperc",
    arg="",
    max=100,
    xc=150,
    yc=110,
    radius=40,
    thickness=10,
    start_angle=-120,
    end_angle=120,
    sectors=20,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    fg_colour1={{0,0XFFFF00,0},{0.5,0xFFFF00,1}, {1,0xFFFF00,0}},
    fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
    bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
    },

    {
    --ring 4-1 : file system usage for /home
    name="fs_used_perc",
    arg="/home",
    max=100,
    xc=230,
    yc=180,
    radius=40,
    thickness=10,
    start_angle=-120,
    end_angle=120,
    sectors=20,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    fg_colour1={{0,0XFFFF00,0},{0.5,0xFFFF00,1}, {1,0xFFFF00,0}},
    fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
    bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
    },    
    
    {
    --ring 4-2 : file system usage for /data partition
    name="fs_used_perc",
    arg="/",
    max=100,
    xc=230,
    yc=180,
    radius=30,
    thickness=10,
    start_angle=-120,
    end_angle=120,
    sectors=20,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    fg_colour1={{0,0XFFFF00,0},{0.5,0xFFFF00,1}, {1,0xFFFF00,0}},
    fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
    bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
    },
    {
    --ring 5-1 : temperature
    name="exec",
    arg="sensors | grep 'MB Temperature' | cut -c22-23",
    max=100,
    xc=265,
    yc=275,
    radius=40,
    thickness=10,
    start_angle=-120,
    end_angle=120,
    border_size=0,
    sectors=12,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    fg_colour1={{0,0XffFF00,0},{0.5,0xffFF00,1}, {1,0xffFF00,0}},
    fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
    bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
    },    
        
    {
    --ring 5-2 : fan speed
    name="exec",
    arg="sensors | grep 'Chassis FAN' | cut -c20-23",
    max=3000,
    xc=265,
    yc=275,
    radius=30,
    thickness=10,
    start_angle=-120,
    end_angle=120,
    sectors=12,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    fg_colour1={{0,0XFFFF00,0},{0.5,0xFFFF00,1}, {1,0xFFFF00,0}},
    fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
    bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
    },            

    {
    --ring 6-1 : cpu temp
    name="exec",
    arg="sensors | grep 'CPU Temp' | cut -c22-23",
    max=100,
    xc=295,
    yc=370,
    radius=40,
    thickness=10,
    start_angle=-120, 
    end_angle=120,
    sectors=12,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    fg_colour1={{0,0XffFF00,0},{0.5,0xffFF00,1}, {1,0xffFF00,0}},
    fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
    },    

    {
    --ring 6-2 : cpu fan
    name="exec",
    arg="sensors | grep 'CPU FAN' | cut -c20-23",
    max=3000,
    xc=295,
    yc=370,
    radius=30,
    thickness=10,
    start_angle=-120,       
    end_angle=120,
    sectors=12,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    fg_colour1={{0,0XFFFF00,0},{0.5,0xFFFF00,1}, {1,0xFFFF00,0}},
    fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
    bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
    },    

    {
    --ring 7 : gpu temp
    name="exec",
    arg="aticonfig --od-gettemperature | grep Temperature | cut -c42-46",
    max=100,
    xc=295,
    yc=475,
    radius=40,
    thickness=10,
    start_angle=-120,
    end_angle=120,
    sectors=20,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    fg_colour1={{0,0XFFFF00,0},{0.5,0xFFFF00,1}, {1,0xFFFF00,0}},
    fg_colour2={{0,0XFF0000,0},{0.5,0xFF0000,1}, {1,0xFF0000,0}},
    bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
    },    

    {
    --right half ring 8 : download speed
    name="downspeedf",
    arg="eth0",
    max=2000,
    xc=295,
    yc=580,
    radius=40,
    thickness=10,
    start_angle=1,
    end_angle=179,
    sectors=30,
    fill_sector=true,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    --bg_colour2={{0,0X999999,1},{0.5,0x999999,1}, {1,0x111111,1}},
    fg_colour1={{0,0XFF4500,1},{0.5,0xFF4500,1}, {1,0xFFFFFF,1}},
    fg_colour2={{0,0XFFFFFF,1},{0.5,0xFFFFFF,1}, {1,0xFF4500,1}},
    bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
    },
    
    {
    --left half ring 9 : upload speed
    name="upspeedf",
    arg="eth0",
    max=100,
    xc=295,
    yc=580,
    radius=40,
    thickness=10,
    start_angle=359,
    end_angle=181,
    inverse_arc=true,
    sectors=30,
    fill_sector=true,
    gap_sectors=0,
    bg_colour1={{0,0xa23516,0},{0.5,0xa23516,1}, {1,0xa23516,0}},
    --bg_colour2={{0,0X999999,1},{0.5,0x999999,1}, {1,0x111111,1}},
    fg_colour1={{0,0xFFC125,1},{0.5,0xFFC125,1}, {1,0xFFFFFF,1}},
    fg_colour2={{0,0XFFFFFF,1},{0.5,0xFFFFFF,1}, {1,0xFFC125,1}},
    bd_colour1={{0,0X00FF00,1},{0.5,0x00FF00,1}, {1,0x00FF00,1}},
    },
                        
}
--END OF PARAMETERS HERE

--main function

    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)

    if tonumber(conky_parse('${updates}'))>3 then
        for i in pairs(rings_settings) do
            draw_ring(rings_settings[i])
        end
    end

    cairo_destroy(cr)

end




function draw_ring(t)

    local function rgba_to_r_g_b_a(tcolour)
        colour,alpha=tcolour[2],tcolour[3]
        return ((colour / 0x10000) % 0x100) / 255., 
            ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
    end
            
            
    local function calc_delta(tcol1,tcol2)
        --calculate deltas P R G B A to table_colour 1

        for x = 1, #tcol1 do
            tcol1[x].dA    = 0
            tcol1[x].dP = 0
             tcol1[x].dR = 0
            tcol1[x].dG = 0
            tcol1[x].dB = 0
            if tcol2~=nil and #tcol1 == #tcol2 then
                local r1,g1,b1,a1 = rgba_to_r_g_b_a(tcol1[x])
                local r2,g2,b2,a2 = rgba_to_r_g_b_a(tcol2[x])
                tcol1[x].dP = (tcol2[x][1]-tcol1[x][1])/t.sectors
                 tcol1[x].dR = (r2-r1)/t.sectors
                tcol1[x].dG = (g2-g1)/t.sectors
                tcol1[x].dB = (b2-b1)/t.sectors
                tcol1[x].dA = (a2-a1)/t.sectors        
                
            end
        end
        
        return tcol1
    end

    --check values
    local function setup(t)
        if t.name==nil and t.arg==nil then 
            print ("No input values ... use parameters 'name'" +
                " with 'arg' or only parameter 'arg' ") 
            return
        end

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

        if t.xc==nil then t.xc=conky_window.width/2 end
        if t.yc==nil then t.yc=conky_window.height/2 end
        if t.thickness ==nil then t.thickness = 10 end
        if t.radius ==nil then t.radius =conky_window.width/4 end
        if t.start_angle==nil then t.start_angle =0 end
        if t.end_angle==nil then t.end_angle=360 end
        if t.bg_colour1==nil then 
            t.bg_colour1={{0,0x00ffff,0.1},{0.5,0x00FFFF,0.5},{1,0x00FFFF,0.1}}
        end
        if t.fg_colour1==nil then
            t.fg_colour1={{0,0x00FF00,0.1},{0.5,0x00FF00,1},{1,0x00FF00,0.1}}
        end
        if t.bd_colour1==nil then
            t.bd_colour1={{0,0xFFFF00,0.5},{0.5,0xFFFF00,1},{1,0xFFFF00,0.5}}
        end
        if t.sectors==nil then t.sectors=10 end
        if t.gap_sectors==nil then t.gap_sectors=1 end 
        if t.fill_sector==nil then t.fill_sector=false end
        if t.sectors==1 then t.fill_sector=false end
        if t.border_size==nil then t.border_size=0 end
        if t.cap==nil then t.cap="p" end
        --some checks
        if t.thickness>t.radius then t.thickness=t.radius*0.1 end
        t.int_radius = t.radius-t.thickness

        --check colors tables 
        for i=1, #t.bg_colour1 do 
            if #t.bg_colour1[i]~=3 then t.bg_colour1[i]={1,0xFFFFFF,0.5} end
        end
        for i=1, #t.fg_colour1 do 
            if #t.fg_colour1[i]~=3 then t.fg_colour1[i]={1,0xFF0000,1} end
        end
        for i=1, #t.bd_colour1 do 
            if #t.bd_colour1[i]~=3 then t.bd_colour1[i]={1,0xFFFF00,1} end
        end
    
        if t.bg_colour2~=nil then
            for i=1, #t.bg_colour2 do 
                if #t.bg_colour2[i]~=3 then t.bg_colour2[i]={1,0xFFFFFF,0.5} end
            end
        end
        if t.fg_colour2~=nil then
            for i=1, #t.fg_colour2 do 
                if #t.fg_colour2[i]~=3 then t.fg_colour2[i]={1,0xFF0000,1} end
            end
        end
        if t.bd_colour2~=nil then
            for i=1, #t.bd_colour2 do 
                if #t.bd_colour2[i]~=3 then t.bd_colour2[i]={1,0xFFFF00,1} end
            end
        end     
        
        if t.start_angle>=t.end_angle then
         local tmp_angle=t.end_angle
         t.end_angle= t.start_angle
         t.start_angle = tmp_angle
         -- print ("inversed angles")
            if t.end_angle-t.start_angle>360 and t.start_angle>0 then
                t.end_angle=360+t.start_angle
                print ("reduce angles")
            end
        
            if t.end_angle+t.start_angle>360 and t.start_angle<=0 then
                t.end_angle=360+t.start_angle
                print ("reduce angles")
            end
        
            if t.int_radius<0 then t.int_radius =0 end
            if t.int_radius>t.radius then
                local tmp_radius=t.radius
                t.radius=t.int_radius
                t.int_radius=tmp_radius
                print ("inversed radius")
            end
            if t.int_radius==t.radius then
                t.int_radius=0
                print ("int radius set to 0")
            end 
        end
        
        t.fg_colour1 = calc_delta(t.fg_colour1,t.fg_colour2)
        t.bg_colour1 = calc_delta(t.bg_colour1,t.bg_colour2)
        t.bd_colour1 = calc_delta(t.bd_colour1,t.bd_colour2)
    end
    
    --initialize table
    setup(t)
    --[[grid
    h=conky_window.height
    w=conky_window.width
    cairo_set_source_rgba(cr,1,1,1,1)
    cairo_set_line_width(cr,0.5)
    cairo_move_to(cr,0,t.yc)
    cairo_line_to(cr,w,t.yc)
    cairo_stroke(cr)
    cairo_move_to(cr,t.xc,0)
    cairo_line_to(cr,t.xc,h)
    cairo_stroke(cr)
    cairo_move_to(cr,t.xc,t.yc)
    cairo_line_to(cr,t.xc+200*math.sin(math.pi/4),t.yc-200*math.cos(math.pi/4))
    cairo_stroke(cr)
    cairo_move_to(cr,0,t.yc-t.radius)
    cairo_line_to(cr,w,t.yc-t.radius)
    cairo_stroke(cr)
    cairo_move_to(cr,0,t.yc-t.int_radius)
    cairo_line_to(cr,w,t.yc-t.int_radius)
    cairo_stroke(cr)
    cairo_move_to(cr,0,t.yc-t.gap_sectors)
    cairo_line_to(cr,w,t.yc-t.gap_sectors)
    cairo_stroke(cr)
    cairo_set_source_rgba(cr,1,0,0,0.5)
    cairo_arc(cr,t.xc,t.yc,t.radius,0,2*math.pi)
    cairo_stroke(cr)
    cairo_arc(cr,t.xc,t.yc,t.int_radius,0,2*math.pi)    
    cairo_stroke(cr)    
    cairo_set_source_rgba(cr,0,1,0,1)    
    cairo_move_to(cr,t.xc+t.gap_sectors,t.yc-t.gap_sectors)
    cairo_line_to(cr,t.xc+400*math.sin(math.pi/4),t.yc-400*math.cos(math.pi/4))
    cairo_stroke(cr)
    --END GRID
    ]]
    
    --initialize cairo context
    cairo_save(cr)
    cairo_translate(cr,t.xc,t.yc)
    cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND)
    cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND)

    --get value
    local value = 0
    if t.name ~="" then
        value = tonumber(conky_parse(string.format('${%s %s}', t.name, t.arg)))
    else
        value = tonumber(t.arg)
    end
    if value==nil then value =0 end

    --initialize sectors
    --angle of a sector :
    angleA = ((t.end_angle-t.start_angle)/t.sectors)*math.pi/180
    --value of a sector : 
    valueA = t.max/t.sectors
    --first angle of a sector : 
    lastAngle = t.start_angle*math.pi/180


    local function draw_sector(type_arc,angle0,angle,valpc, idx)
     
        --this function draws a portion of arc
         --type of arc, angle0 = strating angle, angle= angle of sector,
         --valpc = percentage inside the sector, idx = sctor number #
         if type_arc=="bg" then         --background
             if valpc==1 then return end
             tcolor=t.bg_colour1
         elseif type_arc=="fg" then    --foreground
             if valpc==0 then return end
             tcolor=t.fg_colour1
         elseif type_arc=="bd" then    --border
             tcolor=t.bd_colour1
         end 

        --angles equivalents to gap_sector
        local ext_delta=math.atan(t.gap_sectors/(2*t.radius))
        local int_delta=math.atan(t.gap_sectors/(2*t.int_radius))

        --angles of arcs
        local ext_angle=(angle-ext_delta*2)*valpc
        local int_angle=(angle-int_delta*2)*valpc

        --define colours to use for this sector
        if #tcolor==1 then 
            --plain color
            local vR,vG,vB,vA = rgba_to_r_g_b_a(tcolor[1])
            cairo_set_source_rgba(cr,vR+tcolor[1].dR*idx,
                                    vG+tcolor[1].dG*idx,
                                    vB+tcolor[1].dB*idx,
                                    vA+tcolor[1].dA*idx    )
        else
            --radient color
            local pat=cairo_pattern_create_radial(0,0,t.int_radius,0,0,t.radius)
            for i=1, #tcolor do
                local vP,vR,vG,vB,vA = tcolor[i][1], rgba_to_r_g_b_a(tcolor[i])
                cairo_pattern_add_color_stop_rgba (pat, 
                                    vP+tcolor[i].dP*idx,
                                    vR+tcolor[i].dR*idx,
                                    vG+tcolor[i].dG*idx,
                                    vB+tcolor[i].dB*idx,
                                    vA+tcolor[i].dA*idx    )
            end
            cairo_set_source (cr, pat)
            cairo_pattern_destroy(pat)
        end

        --start drawing
         cairo_save(cr)
        --x axis is parrallel to start of sector
        cairo_rotate(cr,angle0-math.pi/2)

        local ri,re = t.int_radius ,t.radius

        --point A 
        local angle_a
    
        if t.cap == "p" then 
            angle_a = int_delta
            if t.inverse_arc and type_arc ~="bg" then
                angle_a = angle-int_angle-int_delta
            end
            if not(t.inverse_arc) and type_arc =="bg" then
                angle_a = int_delta+int_angle
            end
        else --t.cap=="r"
            angle_a = ext_delta
            if t.inverse_arc and type_arc~="bg" then
                angle_a = angle-ext_angle-ext_delta
            end
            if not(t.inverse_arc) and type_arc=="bg" then
                angle_a = ext_delta+ext_angle
            end
        end
        local ax,ay = ri*math.cos(angle_a),ri*math.sin(angle_a)


        --point B
        local angle_b = ext_delta
        if t.cap == "p" then 
            if t.inverse_arc and type_arc ~="bg" then
                angle_b = angle-ext_angle-ext_delta
            end
            if not(t.inverse_arc) and type_arc=="bg" then
                angle_b = ext_delta+ext_angle
            end
        else
            if t.inverse_arc and type_arc ~="bg" then
                angle_b = angle-ext_angle-ext_delta
            end
            if not(t.inverse_arc) and type_arc=="bg" then
                angle_b = ext_delta+ext_angle
            end
        end
        local bx,by = re*math.cos(angle_b),re*math.sin(angle_b)

        -- EXTERNAL ARC B --> C
        if t.inverse_arc then
            if type_arc=="bg" then
                b0,b1= ext_delta, angle-ext_delta-ext_angle
            else
                b0,b1= angle-ext_angle-ext_delta, angle-ext_delta
            end
        else
            if type_arc=="bg" then
                b0,b1= ext_delta+ext_angle, angle-ext_delta
            else
                b0,b1= ext_delta, ext_angle+ext_delta
            end
        end
        
        ---POINT D
        local angle_c 
        if t.cap == "p" then 
            angle_d = angle-int_delta
            if t.inverse_arc and type_arc=="bg" then
                angle_d = angle-int_delta-int_angle    
            end
            if not(t.inverse_arc) and type_arc~="bg" then
                angle_d=int_delta+int_angle
            end
        else
            angle_d = angle-ext_delta
            if t.inverse_arc and type_arc=="bg" then
                angle_d =angle-ext_delta-ext_angle
            end
            if not(t.inverse_arc) and type_arc~="bg" then
                angle_d = ext_angle+ext_delta
            end
        end
        local dx,dy = ri*math.cos(angle_d),ri*math.sin(angle_d)
        
        -- INTERNAL ARC D --> A
        if t.cap=="p" then    
            if t.inverse_arc then    
                if type_arc=="bg" then
                    d0,d1= angle-int_delta-int_angle,int_delta
                else
                    d0,d1= angle-int_delta, angle- int_angle-int_delta
                end
            else
                if type_arc=="bg" then
                    d0,d1= angle-int_delta, int_delta+int_angle
                else
                    d0,d1= int_delta+int_angle, int_delta
                end
            end
        else
            if t.inverse_arc then    
                if type_arc=="bg" then    
                    d0,d1= angle-ext_delta-ext_angle,ext_delta
                else
                    d0,d1= angle-ext_delta, angle- ext_angle-ext_delta
                end
            else
                if type_arc=="bg" then    
                    d0,d1= angle-ext_delta,ext_delta+ext_angle
                else    
                    d0,d1= ext_angle+ext_delta, ext_delta
                end
            end            
        end
            
        --draw sector
        cairo_move_to(cr,ax,ay)
        cairo_line_to(cr,bx,by)
        cairo_arc(cr,0,0,re,b0,b1)
        cairo_line_to(cr,dx,dy) 
        cairo_arc_negative(cr,0,0,ri,d0,d1)
         cairo_close_path (cr);

        --stroke or fill sector
         if type_arc=="bd" then
             cairo_set_line_width(cr,t.border_size)
             cairo_stroke(cr)
         else
             cairo_fill(cr)
         end

         cairo_restore(cr)

     end
    --draw sectors
    local n0,n1,n2 = 1,t.sectors,1
    if t.inverse_arc then n0,n1,n2 = t.sectors,1,-1 end
    local index = 0
    for i = n0,n1,n2 do 
        index = index +1
        local valueZ=1
        local cstA, cstB = (i-1),i
        if t.inverse_arc then cstA,cstB = (t.sectors-i), (t.sectors-i+1) end
        
        if value>valueA *cstA and value<valueA*cstB then
            if not t.fill_sector then
                valueZ = (value-valueA*cstA)/valueA
            end
        else
            if value<valueA*cstB then valueZ=0 end
        end
        
        local start_angle= lastAngle+(i-1)*angleA
        if t.foreground ~= false then 
            draw_sector("fg",start_angle,angleA,valueZ, index)
        end
        if t.background ~= false then 
            draw_sector("bg",start_angle,angleA,valueZ, i)
        end
        if t.border_size>0 then draw_sector("bd",start_angle,angleA,1, i) end
    end

    cairo_restore(cr)
end


--[[END OF RING-SECTORS WIDGET]]


function axis(ctx,alpha)
    cairo_set_line_width(ctx,1)
    cairo_set_source_rgba(ctx,1,0,0,alpha)
    cairo_move_to(ctx,0,0)
    cairo_line_to(ctx,150,0)
    cairo_stroke(ctx)
    cairo_set_source_rgba(ctx,0,1,0,alpha)
    cairo_move_to(ctx,0,0)
    cairo_line_to(ctx,0,150)
    cairo_stroke(ctx)
end

Le LUA Text

--[[TEXT WIDGET v1.3 by Wlourf 25/06/2010
This widget can drawn texts set in the "text_settings" table with some parameters
http://u-scripts.blogspot.com/2010/06/text-widget.html

The parameters (all optionals) are :
text        - text to display, default = "Conky is good for you"
              use conky_parse to display conky value ie text=conly_parse("${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
              

Needs conky 1.8.0 

To call this script in the conkyrc, in before-TEXT section:
    lua_load /path/to/the/lua/script/text.lua
    lua_draw_hook_pre draw_text
 
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"


]]
require 'cairo'

function conky_draw_text()
    --BEGIN OF PARAMETRES
    text_settings={

        {
            text=conky_parse("${cpu cpu0} - ${cpu cpu1} - ${cpu cpu2} - ${cpu cpu3} %"),
            font_name="arial",
            font_size=12,
            h_align="c",
            bold=true,
            x=55,
            y=82,
            colour={{0,0Xab8f0b,0.5},{0.5,0xab8f0b,1}, {1,0xab8f0b,0.5}},
        },

        {
            text=conky_parse("${freq_g} GHz "),
            font_name="arial",
            font_size=12,
            h_align="c",
            bold=true,
            x=55,
            y=95,
            colour={{0,0Xab8f0b,0.5},{0.5,0xab8f0b,1}, {1,0xab8f0b,0.5}},
        },
        
        {
            text=conky_parse("${memperc}%"),
            font_name="arial",
            font_size=12,
            h_align="c",
            bold=true,
            x=150,
            y=140,
            colour={{0,0Xab8f0b,0.5},{0.5,0xab8f0b,1}, {1,0xab8f0b,0.5}},
        },

        {
            text=conky_parse("${fs_used_perc /home}% - ${fs_used_perc /}%"),
            font_name="arial",
            font_size=12,
            h_align="c",
            bold=true,
            x=230,
            y=215,
            colour={{0,0Xab8f0b,0.5},{0.5,0xab8f0b,1}, {1,0xab8f0b,0.5}},
        },                

        {
            text=conky_parse("${exec sensors | grep 'MB Temperature' | cut -c22-23}°C - ${exec sensors | grep 'Chassis FAN' | cut -c20-23} rpm"),
            font_name="arial",
            font_size=12,
            h_align="c",
            bold=true,
            x=265,
            y=310,
            colour={{0,0Xab8f0b,0.5},{0.5,0xab8f0b,1}, {1,0xab8f0b,0.5}},
        },
                                
        {
            text=conky_parse("${exec sensors | grep 'CPU Temp' | cut -c22-23}°C - ${exec sensors | grep 'CPU FAN' | cut -c20-23} rpm"),
            font_name="arial",
            font_size=12,
            h_align="c",
            bold=true,
            x=295,
            y=405,
            colour={{0,0Xab8f0b,0.5},{0.5,0xab8f0b,1}, {1,0xab8f0b,0.5}},
        },

        {
            text=conky_parse("${execi 60 aticonfig --od-gettemperature | grep Temperature | cut -c42-46}°C"),
            font_name="arial",
            font_size=12,
            h_align="c",
            bold=true,
            x=295,
            y=510,
            colour={{0,0Xab8f0b,0.5},{0.5,0xab8f0b,1}, {1,0xab8f0b,0.5}},
        },
--[[                
        
        {
            text=conky_parse("${exec dcop amarok player artist}"),
            font_name="arial",
            font_size=10,
            h_align="c",
            bold=true,
            x=850,
            y=150,
            colour={{0,0X999999,0.5},{0.5,0x999999,1}, {1,0x999999,0.5}},
        },            
        {
            text=conky_parse("${exec dcop amarok player title}"),
            font_name="arial",
            font_size=10,
            h_align="c",
            x=850,
            y=160,
            colour={{0,0X999999,0.5},{0.5,0x999999,1}, {1,0x999999,0.5}},
        },            
]]        
    }
    
 
           
    
    
--------------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)
    end
    
    cairo_surface_destroy(cs)
    


end

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

function display_text(t)

    local function set_pattern()
        --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)
        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()
    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)
    te=cairo_text_extents_t:create()
    cairo_text_extents (cr,t.text,te)
    
    set_pattern()


            
    mx,my=0,0
    
    if t.h_align=="c" then
        mx=-te.width/2
    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()
        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=cairo_text_extents_t:create()
        cairo_text_extents (cr,t.text,te)
        
                
        cairo_transform(cr,matrix1)
        set_pattern()
        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)    
        
        
        cairo_set_line_width(cr,1)
        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)
    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    
       
    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 vorientation=="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

Et voilà, à+

#5 Re : -1 »  installer firefox 5?? » Le 24/06/2011, à 18:23

Satchmo
Réponses : 32

Salut,
Sur Lucid 64bits, même problème. Sans faire la mise à jour partielle, FF reste en 4, mais passe en anglais... En la faisant, je récupère FF 5, et en français. Cette mise à jour partielle ne semble porter que sur les paquets Firefox et Ubufox, devrait pas y avoir de problème pour le système. Tout va bien pour le peu de plugins que j'ai. Peut-être Flash qui ne marche plus très bien, mais bon, c'est pas une nouveauté en 64 bits big_smile
Effectivement, dans le gestionnaire de mise à jour, j'ai celle du paquet "language-pack-gnome-fr", mais le texte est grisé, non accessible.
A+

RECTIF : Fox Tab ne marche plus en FF 5. Faut attendre la mise à jour...

#6 Re : -1 »  installer firefox 5?? » Le 21/07/2011, à 18:42

Satchmo
Réponses : 32

Salut,
Je suis en 10.04 aussi. Le dépôt que j'ai ajouté est "http://ppa.launchpad.net/mozillateam/fi … ble/ubuntu". Avec ça, j'ai bien FF5 dans le dépôt (recherche rapide avec firefox 5). Le dépôt est à installer comme expliqué, sans oublier de faire l'update.
Sauf erreur, FF6 est en béta.
Je n'ai pas encore testé le dépôt sécurité proposé plus haut.
A+

#7 Re : -1 »  Flash player 64 bits ubuntu natty 64 bits » Le 16/06/2011, à 18:40

Satchmo
Réponses : 17

Salut,
@jnq, je ne connais pas la nature de tes problèmes avec Flash, et tu as du faire le tour du truc, mais au cas où, chez moi en 10.4 64 bits, flash fonctionne bien sous FF4 avec la solution "square" donnée dans ce sujet.
A+

#8 Re : -1 »  HD 4850 & 11.04 réglage du ventilateur » Le 13/06/2011, à 11:37

Satchmo
Réponses : 15

Salut,
Il me semble bien qu'on ne peut toujours pas contrôler le ventilo avec les pilotes libres. C'est possible avec les pilotes proprios. Il y a plein d'infos sur le forum à ce sujet, ainsi que sur Catalyst et 11.04 (je suis toujours en 10.04).
A+

#9 Re : -1 »  HD 4850 & 11.04 réglage du ventilateur » Le 13/06/2011, à 18:42

Satchmo
Réponses : 15

Salut,
Je pense que tu devrais :
- ouvrir un nouveau sujet
- chercher un peu sur le forum
- et surtout jeter un œil sur ça, sur ça et sur ça aussi.
A toi de voir si tu veux les pilotes libres ou proprios
A+

#10 Re : -1 »  HD 4850 & 11.04 réglage du ventilateur » Le 16/06/2011, à 09:58

Satchmo
Réponses : 15

Salut,
J'avais un peu lâché l'affaire.....

Est-ce que tu as fait un

sudo aticonfig --initial -f

il faut redémarrer la machine ensuite.
A+

#11 Re : -1 »  [résolu]Dual boot winXP ubuntu 10.04 lts » Le 19/05/2011, à 22:49

Satchmo
Réponses : 27

Salut,
J'arrive peut-être un peu tard, mais si Win marche, et que Ubuntu a été installé correctement, j'aurais commencé par un

sudo dpkg-reconfigure grub-pc

Ce qui permet de remettre le grub au bon endroit.
La sauvegarde préalable reste de bon aloi, bien sur.
A+

EDIT : en démarrant depuis un live CD.......

#12 Re : -1 »  Comment faire apparaitre des données (météo...) sur le bureau ? » Le 12/05/2011, à 21:39

Satchmo
Réponses : 5

Salut,
C'est un programme qui s'appelle Conky. Y'a plein de choses dans la doc et dans le forum, et plein de gens très calés qui donnent de très bons coups de main.
Ca se passe ici et
C'est vachement sympa de s'amuser avec ce truc.... bon courage
A+

#13 Re : -1 »  [Résolu] Problème carte graphique ATI - Mise à jour » Le 26/04/2011, à 11:39

Satchmo
Réponses : 19

Salut,
Ca ressemble assez à un grand classique. Pilote propriétaire ? Installé depuis les dépôts ou à partir du fichier téléchargé depuis le site AMD ?
A+

#14 Re : -1 »  [Résolu] Problème carte graphique ATI - Mise à jour » Le 26/04/2011, à 23:43

Satchmo
Réponses : 19

Salut,
Alors, dans un premier temps, je supprimerais le pilote proprio, par un apt ou depuis synaptic, un redémarrage, et réinstallation des pilotes.
Ca m'a fait ça souvent après des mises à jour de noyau.
Depuis, j'ai installé suivant cette méthode, je n'ai pas eu de pb à la dernière mise à jour (pourvu que ça dure !)
A+

#15 Re : -1 »  [Résolu] Problème carte graphique ATI - Mise à jour » Le 27/04/2011, à 12:55

Satchmo
Réponses : 19

@ r0x67
Tu as bien commencé par désinstaller les pilotes ?
Après l'installation, as-tu lancé "sudo aticonfig --initial -f" dans un terminal ?
Ca donne quoi si tu tapes "fgl_glxgears" dans un terminal ?
Sinon, il y a ça. Ceci dit, la lecture de la page complète est recommandée.

@ xprophete
Je n'ai pas de Nvidia, je n'ai donc jamais regardé ce qu'il y avait comme info à ce sujet. Je pense qu'une recherche sur la doc et sur le forum devrait te donner des résultats

A+

#16 Re : -1 »  [Résolu] Problème carte graphique ATI - Mise à jour » Le 27/04/2011, à 22:57

Satchmo
Réponses : 19

Euh.....bon.
Compiz est démarré ?
A=

#17 Re : -1 »  [Résolu] Problème carte graphique ATI - Mise à jour » Le 28/04/2011, à 12:02

Satchmo
Réponses : 19

Est-ce que tu as installé le plugin "compiz-fusion-plugins-extra" ?

#18 Re : -1 »  [Résolu] Problème carte graphique ATI - Mise à jour » Le 28/04/2011, à 22:28

Satchmo
Réponses : 19

Salut,
Je ne sais pas bien ce que c'est que ce "compiz-core-abiversion", pas de ça chez moi.....
Avec une petite recherche rapide sur le forum, je pense que tu devrais désinstaller/réinstaller Compiz
Il faut supprimer tous les paquets compiz depuis synaptic, en choisissant suppression complète, et supprimer ensuite le dossier caché .compiz de ton dossier perso et  le dossier compiz du dossier caché .config. Réinstaller ensuite, avec le paquet plugins extra.
J'ai déjà expliqué ça ailleurs.
A+

#19 Re : -1 »  mise à jour ou réinstallation? » Le 27/04/2011, à 13:04

Satchmo
Réponses : 8

Salut,
Avec mes maigres compétences, je ne suis pas forcément une référence.... J'ai changé de version par mise à jour 2 fois, et 2 fois, ça s'est soldé par une réinstallation complète. La réinstallation peut se faire en conservant le partitionnement existant et surtout le contenu du home. On l'a dit et répété, mais dans ce cas, il faut respecter les 3 règles suivantes:
1 - faire une sauvegarde
2 - faire une sauvegarde
3 - faire une sauvegarde
A+

#20 Re : -1 »  Firefox 4 : Problèmes affichage contrôles Daylimotion clignotements » Le 09/04/2011, à 11:12

Satchmo
Réponses : 8

Salut,
J'ai cherché un peu aussi pour le même problème (10.04 64 bits). La solution de dropforged fonctionne bien. J'avais désinstallé le paquet flashplugin-installer avant. Je n'ai pas de libflashplayer dans synaptic ?
A+

#21 Re : -1 »  Problèmes flash 10.2 r152 sous Maverick » Le 14/04/2011, à 14:16

Satchmo
Réponses : 7

Salut,
Peut-être une autre piste si vous êtes en 64 bits dans ce sujet
A+

#22 Re : -1 »  compiz ne demarre pas » Le 07/04/2011, à 19:10

Satchmo
Réponses : 11

Et pis aussi, répondre à la question de kamul57 en disant ce que retourne la commande dans le terminal, ça peut aider à comprendre ce qui se passe.
A re+

#23 Re : -1 »  compiz ne demarre pas » Le 07/04/2011, à 21:43

Satchmo
Réponses : 11

Bon ben c'est tout plein de bonnes nouvelles ! Et tu as essayé de modifier la config, genre activer le cube de bureau ou autre ?
A+

#24 Re : -1 »  compiz ne demarre pas » Le 08/04/2011, à 10:42

Satchmo
Réponses : 11

Salut,
Quand je parle de config, en fait je parle des réglages de Compiz. Suffit d'aller dans "Préférences", "Gestionnaire de Configuration Compiz", et changer les paramètres en fonction des effets que tu veux.
A+