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.

#2926 Le 16/09/2010, à 12:08

chepioq

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

wlourf a écrit :

ok mais la commande "convert" qui tient sur une ligne dans le script  est équivalente au script square_to_round.lua.

a+

La raison pour laquelle je préfère ton script lua, c'est qu'avec ce script l'image est bien nette.
Avec la commande convert le rendu est moins beau, l'image est un peu estompée.


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

Hors ligne

#2927 Le 16/09/2010, à 12:10

Skubu

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

Salut à tous,

Je ne parviens pas à désactiver les couleurs des box de mon calendrier.lua... Pourtant tout semble commenté.
Et la couleur des jours fériés ne semblent pas fonctionner... même dé-commenté.

Voici le contenu du fichier :

--[[Calendar Box]]

require 'cairo'

calendar_file= "/home/damien/.conky/conky_2/Time"    

function conky_calendar_box()
       -- Retrieve current date

    cal_settings={

        {
        x=38,                --obligatoire, x du coin supérieur gauche
        y=50,                --obligatoire, y du coin supérieur gauche    
        font="CaviarDreams",        --obligatoire : police à utiliser
        font_size=13,        --obligatoire : taille de la police
        two_digits=false,    --afficher les nombres avec 2 chiffres (true/false) false par défaut
        month_format="%B %Y",--format d'affiche du mois, (défaut = %B -nom complet) http://www.lua.org/pil/22.1.html
        month_position="t",    --position de la boite mois t,b,l,r (défaut = t)
        month_offset=0,        --décalage du mois (défaut=0)
        hpadding=1,        --espace horizontal entre texte et bordure (défaut=2 pixels)
        vpadding=0,            --espace vertical entre texte et bordure (défaut=2 pixels)
        border=0,            --taille de la bordure en pixels (défaut=0 pixels)
        gap=4,                --espace entre deux boites (défaut=2 pixels)
        radius=0,            --rayon des coins (défaut=0 pixels)
        alignment="r",        --alignment des chiffres (l,c ou r) (défaut="c")
        days_position="t",   --position des jours (t/b) (défaut=t)
        days_number=2,        --nombre de lettres du jour (défaut=1)
        display_others_days=false,   --affiche les jours des autres mois (true/false) défaut=true
        
	--pour les couleurs, les paramètres du conky doivent être:
        --own_window_transparent yes
        --own_window_argb_visual yes
        --couleurs {couleur1, couleur2, alpha1,alpha2,border1,border2,alpha border1,alpha border2}
        --colBox = {0xFF0000,0x0000FF,0,0,0x0000FF,0x00FFFF,0,0}, --couleur "boite" Date (les chiffres)
        --colDays = {0xFF00FF,0x0000FF,0,0,0x0000FF,0x00FF00,0,0},      --couleur "boite" Jour (Lundi, mardi ...)
        --colMonth = {0x00FF00,0x0000FF,1,1,0x0000FF,0x00FF00,1,1},    --couleur "boite" Mois
        --colBoxTD = {0xFF0000,0xFF0000,0,0,0xFF00FF,0x00FF00,0,0},     --couleur "boite" AUJOURDHUI
        --colBoxBH  = {0xFF0000,0xFF0000,1,1,0xFF00FF,0x00FF00,1,1},     --couleur "boite" Férié
        --couleurs text {couleur1,couleur2, alpha1,alpah2}
        colBoxText = {0xCCCCCC,0xCCCCCC,1,1},                        --couleur Texte Date les chiffres)
        colBoxTextTD = {0xD21C1C,0xD21C1C,1,1},                    --couleur Texte Date Aujourd'hui
        colBoxTextBH = {0x333333,0x333333,0.5,0.5},                         --couleur Texte Date Férié
        colBoxTextOM = {0xFFFFF0,0xFFF0FF,1,1},                    --couleur Texte Date Mois Différent
        colDaysText  ={0xCCCCCC,0xCCCCCC,1,1},                        --couleur Texte Jour
        colMonthText  = {0xCCCCCC,0xCCCCCC,1,1},                    --couleur Texte Mois
        orientation ="nw", -- orientation du dégradé défaut ="nn", valeurs possibles= nn, ne,ee,se,ss,sw,ww,nw
        gradient=1,  --  défaut linear(=0) ou radial gradient (défaut=centre du cercle (0 à 1) % du côté d'un carré)
        
        display_info_box=true,                --affiche la boite info (false par défaut)
        --colInfo = {0xFF0000,0x0000FF,0,1,0x0000FF,0x00FFFF,0.5,0.5}, --couleur de la boite Info
        colInfoText = {0x188D9C,0x188D9C,1,1},                    --couleur Texte Info
        info_position="b",                   --position de la boite info (défaut=b)
        display_empty_info_box=false,        --affiche la boite info si pas d'info (true/false), (défaut= false)
        
        
        }

    }

--FIN DES PARAMETRES ------------------


    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)
    cr = cairo_create (cs)
    
    for i,v in pairs(cal_settings) do
        draw_calendar(v)
    end
    
    cairo_destroy(cr)
    cairo_surface_destroy(cs)


    
end











function draw_square(cr,x,y,width,height,radius)
    local degrees = math.pi / 180.0
    radius=tonumber(radius)

        cairo_new_sub_path (cr);
        if radius>0 then
            cairo_arc (cr, x + width - radius, y + radius, radius, -90 * degrees, 0 * degrees);
            cairo_arc (cr, x + width - radius, y + height - radius, radius, 0 * degrees, 90 * degrees);
            cairo_arc (cr, x + radius, y + height - radius, radius, 90 * degrees, 180 * degrees);
            cairo_arc (cr, x + radius, y+ radius, radius, 180 * degrees, 270 * degrees);
        else
            cairo_rectangle(cr,x,y,width,height)
        end
        cairo_close_path (cr);

    return 
end




function rgb_to_r_g_b(colour,alpha)
    return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end


function create_pattern(cr,x,y,w,h,tCol,orientation,gradient)
    if gradient~=0  then
        create_pattern_radial(cr,x,y,w,h,tCol,orientation,gradient)
    else
        create_pattern_linear(cr,x,y,w,h,tCol,orientation)
    end
end

function create_pattern_linear(cr,x,y,w,h,tCol,orientation)
    col0,col1,alpha0,alpha1=tCol[1],tCol[2],tCol[3],tCol[4]

    if orientation=="nn" then
        p={x+w/2,y,x+w/2,y+h}
    elseif orientation=="ne" then
        p={x+w,y,x,y+h}
    elseif orientation=="ee" then
        p={x+w,y+h/2,x,y+h/2}        
    elseif orientation=="se" then
        p={x+w,y+h,x,y}        
    elseif orientation=="ss" then
        p={x+w/2,y+h,x+w/2,y}
    elseif orientation=="sw" then
        p={x,y+h,x+w,y}
    elseif orientation=="ww" then
        p={x,y+h/2,x+w,y+h/2}
    else
        p={x,y,x+w,y+h}    
    end
        
    local pat = cairo_pattern_create_linear (p[1],p[2],p[3],p[4])
    cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(col0,alpha0))
    cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(col1,alpha1))
    cairo_set_source (cr, pat)
    cairo_pattern_destroy(pat)
end

function create_pattern_radial(cr,x,y,w,h,tCol,orientation,gradient)
    local col0,col1,alpha0,alpha1=tCol[1],tCol[2],tCol[3],tCol[4]
    local decn=gradient
    local dec=1-decn
    if orientation=="nn" then
        p={x+w/2,y+h*decn}
    elseif orientation=="ne" then
        p={x+w*dec,y+h*decn}
    elseif orientation=="ee" then
        p={x+w*dec,y+h/2}        
    elseif orientation=="se" then
        p={x+w*dec,y+h*dec}        
    elseif orientation=="ss" then
        p={x+w/2,y+h*dec}
    elseif orientation=="sw" then
        p={x+w*decn,y+h*dec}
    elseif orientation=="ww" then
        p={x+w*decn,y+h/2}
    else
        p={x+w*(1-dec),y+h*(1-dec)}    
    end

    local radius = w/dec 
    if h>w then radius=h/dec end
    local pat = cairo_pattern_create_radial (p[1],p[2],0,p[1],p[2],radius)
    cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(col0,alpha0))
    cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(col1,alpha1));
    cairo_set_source (cr, pat);
    cairo_pattern_destroy(pat)
end

function draw_frame (x0,y0,width,height,tCol,radius,border,orientation,gradient)

    cairo_set_operator(cr,CAIRO_OPERATOR_SOURCE)
    create_pattern(cr,x0,y0,width,height,{tCol[5],tCol[6],tCol[7],tCol[8]},orientation,gradient)
    draw_square(cr,x0,y0,width,height,radius)
    cairo_set_line_width(cr,border)
    cairo_fill (cr)

    --cairo_set_operator(cr,CAIRO_OPERATOR_CLEAR)
    create_pattern(cr,x0,y0,width,height,{tCol[1],tCol[2],tCol[3],tCol[4]},orientation,gradient)
    draw_square(cr,x0+border,y0+border,width-border*2,height-border*2,radius)
    cairo_fill (cr)
    cairo_set_operator(cr,CAIRO_OPERATOR_OVER)    
    
    
    
    if tCol[2]>0 or tCol[3]>0 then
        cairo_set_operator(cr,CAIRO_OPERATOR_OVER)
    else
        cairo_set_operator(cr,CAIRO_OPERATOR_CLEAR)
    end
    create_pattern(cr,x0,y0,width,height,{tCol[1],tCol[2],tCol[3],tCol[4]},orientation,gradient)
    draw_square(cr,x0+border,y0+border,width-border*2,height-border*2,radius)
    cairo_fill (cr)
    cairo_set_operator(cr,CAIRO_OPERATOR_OVER)
    

end

function string:split(delimiter)
--source for the split function : http://www.wellho.net/resources/ex.php4?item=u108/split
  local result = { }
  local from  = 1
  local delim_from, delim_to = string.find( self, delimiter, from  )
  while delim_from do
    table.insert( result, string.sub( self, from , delim_from-1 ) )
    from  = delim_to + 1
    delim_from, delim_to = string.find( self, delimiter, from  )
  end
  table.insert( result, string.sub( self, from  ) )
  return result
end


function draw_calendar(t)
    local te=cairo_text_extents_t:create()
    if t.font==nil or t.x==nil or t.y == nil or t.font_size == nil then
        print ("Error in settings")
        return 
    end
    
    
    x0,y0=t.x,t.y
    if t.two_digits then str_format="%02d" else str_format="%d" end
    if t.month_format==nil then t.month_format = "%B" end
    if t.hpadding==nil then t.hpadding=2 end
    if t.vpadding==nil then t.vpadding=2 end
    if t.border==nil then t.border=0 end        
    if t.month_offset==nil then t.month_offset=0 end
    if t.gap==nil then t.gap=2 end
    if t.radius==nil then t.radius=0 end
    if t.days_number==nil then t.days_number=1 end
    if t.display_others_days==nil then t.display_others_days=true end
    if t.gradient==nil then t.gradient=0 end
    if t.display_info_box == nil then t.display_info_box=false end
    if t.display_empty_info_box == nil then t.display_empty_info_box=false end

    
    local orientation="nn"
    for i,v in ipairs({"nn","ne","ee","se","ss","sw","ww","nw"}) do 
        if v==t.orientation then orientation=v end
    end
    local alignment ="c"
    for i,v in ipairs({"l","c","r"}) do 
        if v==t.alignment then alignment=v end
    end
    local month_position="t"
    for i,v in ipairs({"t","b","l","r"}) do 
        if v==t.month_position then month_position=v end
    end
    local days_position="t"
    for i,v in ipairs({"t","b","l","r"}) do 
        if v==t.days_position then days_position=v end
    end
    local info_position="b"
    for i,v in ipairs({"t","b","l","r"}) do 
        if v==t.info_position then info_position=v end
    end
    
    function table.copy(t)
      local t2 = {}
      for k,v in pairs(t) do
        t2[k] = v
      end
      return t2
    end

    if t.colBox ~= nil and #t.colBox ~=8 then t.colBox=nil end
    if t.colDays ~= nil and #t.colDays ~=8 then t.colDays=nil end    
    if t.colMonth ~= nil and#t.colMonth ~=8 then t.colMonth=nil end    
    if t.colBoxTD ~= nil and #t.colBoxTD ~=8 then t.colBoxTD=nil end
    if t.colBoxBH ~= nil and #t.colBoxBH ~=8 then t.colBoxBH=nil end
    if t.colInfo ~= nil and #t.colInfo ~=8 then t.colInfo=nil end    
    if t.colBoxText ~= nil and #t.colBoxText ~= 4 then t.colBoxText=nil end
    if t.colBoxTextOM ~= nil and #t.colBoxTextOM ~=4 then t.colBoxText=nil end
    if t.colBoxTextTD ~= nil and #t.colBoxTextTD ~= 4 then t.colBoxTextTD=nil end
        
    if t.colDaysText ~= nil and #t.colDaysText ~= 4 then t.colDaysText=nil end
    if t.colMonthText ~= nil and #t.colMonthText ~= 4 then t.colMonthText=nil end
    if t.colInfoText ~= nil and #t.colInfoText ~= 4 then t.colInfoText=nil end    
    
    if t.colBox == nil then t.colBox = {0x000000,0xFFFFFF,0,0,0xFFFFFF,0x000000,0,0} end
    if t.colDays == nil then t.colDays = table.copy(t.colBox) end
    if t.colMonth == nil then t.colMonth = table.copy(t.colBox) end
    if t.colInfo == nil then t.colInfo = t.colBox end
    if t.colBoxTD == nil then t.colBoxTD = {t.colBox[2],t.colBox[1],t.colBox[3],t.colBox[4],t.colBox[6],t.colBox[5],t.colBox[7],t.colBox[8]}end
    if t.colBoxBH == nil then t.colBoxBH = t.colBox end
    if t.colBoxText == nil    then t.colBoxText = {0x000000,0x000000,1,1} end
    if t.colBoxTextOM == nil then t.colBoxTextOM = {0x00000,0x000000,0.2,0.2} end
    if t.colBoxTextTD == nil then t.colBoxTextTD = {0xFF0000,0xFF0000,1,1} end
    if t.colBoxTextBH == nil then t.colBoxTextBH = {0xFF0000,0xFF0000,1,1} end
    if t.colDaysText == nil    then t.colDaysText = {0x999999,0x999999,1,1} end
    if t.colMonthText == nil    then t.colMonthText = {0x333333,0x333333,1,1} end
    if t.colInfoText == nil    then t.colInfoText = {0x333333,0x333333,1,1} end
    
    
--    i/m
    
    
    
    
    
    
    
    
    
    
    --calculate maximum size of a square
    local maxSide=0
    cairo_select_font_face(cr, t.font, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)
    cairo_set_font_size(cr,t.font_size)
    for d=1,31 do
        cairo_text_extents (cr,string.format(str_format,d),te)
        maxSide = math.max(maxSide,te.width+te.x_bearing+2*t.hpadding,te.height+te.y_bearing+2*t.vpadding) --te.y_bearing+
    end
    maxSide=maxSide+2*t.border


    d=0

   -- Compute what day it was the first of the month (0=Monday)
   -- from conky wiki
   dtable = os.date("*t")
   --this month table
   mtable=dtable
   mtable.month=dtable.month+t.month_offset
   mtable = os.date("*t",os.time(mtable))
   day,wday = mtable.day, mtable.wday
   first_day = wday - 2 - (day-1) % 7
   if first_day < 0 then first_day = first_day + 7 end
   
   local txt_month = os.date(t.month_format, os.time(mtable))
   txt_month = string.upper(string.sub(txt_month,1,1)) .. string.sub(txt_month,2)
   
   --last day of month
--[[   ldtable=mtable
   ldtable.month=mtable.month+1
   ldtable.day,ldtable.hour,ldtable.min,ldtable.sec=1,0,0,0
    --print ("av",ldtable.day,ldtable.month,ldtable.hour,ldtable.min,ldtable.sec)
   ldtable=os.date("*t",os.time(ldtable)-2)
   last_day=ldtable.day
]]    --print ("ap",ldtable.day,ldtable.month,ldtable.hour,ldtable.min,ldtable.sec)
    
    -- returns the number of days in a given month and year
    -- Compatible with Lua 5.0 and 5.1.
    -- from sam_lie 
    function get_days_in_month(month, year)
      local days_in_month = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }   
      local d = days_in_month[month]
       
      -- check for leap year
      if (month == 2) then
        if (math.mod(year,4) == 0) then
         if (math.mod(year,100) == 0)then                
          if (math.mod(year,400) == 0) then                    
              d = 29
          end
         else                
          d = 29
         end
        end
      end

      return d  
    end
    last_day=get_days_in_month(mtable.month, mtable.year)
    
    lpdtable=mtable
    lpdtable.month=lpdtable.month-1
    mtable = os.date("*t",os.time(lpdtable))
    if lpdtable.month==0 then lpdtable.month=12 end
    
    last_p_day=get_days_in_month(lpdtable.month,lpdtable.year)
       mtable.month=lpdtable.month+1
       mtable = os.date("*t",os.time(mtable))

    --read the calendar file
    local file = io.open(calendar_file,"r")    
    local tabcal={}    
    local idx=1
    local line,lineok="",""
    local txt_info=""
    if file ~= nil then
        while true do
             line = file:read("*l")
            if line == nil then break end
            lineok = string.split(line,";")
            if (#lineok)==3 then
                tabcal[idx]={lineok[1],lineok[2],lineok[3]}
                idx=idx+1
                if lineok[1] == os.date("%m%d", os.time()) then
                    txt_info=lineok[3]
                end
            end
        end
    end
    
    if not t.display_empty_info_box and txt_info=="" then
        t.display_info_box =false
    end
    if not t.display_info_box then     info_position="b" end
    
    local nblines=idx-1
    --for i,v in ipairs(tabcal) do print (i,v[1],v[2],v[3]) end
    io.close()
    
    
    
    --définit le texte des jours
    tdays={}
    for i=4,11 do
        table.insert(tdays,os.date("%A", os.time{year=2010, month=1, day=i}))
    end
    for i=1,7 do
        tdays[i]=string.upper(string.sub(tdays[i],1,1)) .. string.sub(tdays[i],2)
        tdays[i]=(string.sub(tdays[i],1,math.max(t.days_number,1)))
    end

    local display_day=true
    --dessine les dates (nombres)
    local flagEnd=0
    for r=0,5 do
        if flagEnd>0 then break end
        for c=0,6 do
            d=d+1
            X=x0+c*maxSide+t.gap*c
            Y=y0+r*maxSide+t.gap*r
            if month_position=="t" then    
                Y=Y+maxSide+t.gap 
            elseif month_position=="l" then
                X=X+maxSide+t.gap
            end
            if info_position=="t" then    
                Y=Y+maxSide+t.gap 
            elseif info_position=="l" then
                X=X+maxSide+t.gap
            end

            if days_position=="t" then
                Y=Y+maxSide+t.gap 
            end

            --bank holiday or not ?
            mtable.day=d-first_day
            md = os.date("%m%d", os.time(mtable))
            local flagBH = false
            for idy=1,nblines do
                if tabcal[idy][1] == md then
                    if tabcal[idy][2] == "1" then
                        flagBH = true
                    end
                    break
                end
            end
                            
            --draw frames
            local colorBox=t.colBox
            if dtable.day == d-first_day and t.month_offset==0 then
                colorBox=t.colBoxTD
            elseif flagBH then
                colorBox=t.colBoxBH
            end
            draw_frame (X,Y,maxSide,maxSide,colorBox,t.radius,t.border,orientation,t.gradient)            
            
            --format _text
            if d<=first_day  then                                      --days before
                create_pattern(cr,X,Y,maxSide*(1-t.gradient),maxSide*(1-t.gradient),t.colBoxTextOM,orientation,t.gradient)
                txt_date=last_p_day-first_day+d
                display_day=t.display_others_days
            elseif d-first_day>0 and d-first_day<=last_day then      -- days of the month
                txt_date=d-first_day
                local colorText= t.colBoxText
                if txt_date==dtable.day and t.month_offset==0 then
                    colorText=t.colBoxTextTD
                elseif flagBH then
                    colorText=t.colBoxTextBH
                end
                create_pattern(cr,X,Y,maxSide*(1-t.gradient),maxSide*(1-t.gradient),colorText,orientation,t.gradient)
                
                display_day=true
            else                                                --days after
                txt_date=d-first_day-last_day
                create_pattern(cr,X,Y,maxSide*(1-t.gradient),maxSide*(1-t.gradient),t.colBoxTextOM,orientation,t.gradient)
                display_day=t.display_others_days
            end
            
            --show text or not
            if display_day then
                cairo_text_extents (cr,string.format(str_format,txt_date),te)
                if alignment=="r" then
                    delta=maxSide-te.width-te.x_bearing-t.border-t.hpadding
                elseif alignment=="c" then
                    delta=(maxSide-te.width)/2-te.x_bearing
                else
                    delta=t.border+t.hpadding
                end
                if c==0 or d-first_day==1 then teheight= te.height end
                cairo_move_to(cr,X+delta,Y+(maxSide)/2+teheight/2)
                cairo_show_text(cr,string.format(str_format,txt_date))
            end
            
            if d-first_day>=last_day then
                flagEnd=r
            end
        end
    end
    



    --show days (monday, thuesday ...)
    if days_position=="t" then
        Y=y0
        if month_position=="t" then Y=Y+maxSide+t.gap end
        if info_position=="t" then Y=Y+maxSide+t.gap end
    else
        Y=y0+(flagEnd+1)*(maxSide+t.gap)
    end
    deltaX=0
    if month_position=="l" then    deltaX=deltaX+maxSide+t.gap end
    if info_position=="l" then    deltaX=deltaX+maxSide+t.gap end    
    flagEnd=flagEnd+1
    for c =0,6 do
        X=x0+c*maxSide+t.gap*c+deltaX
        draw_frame (X,Y,maxSide,maxSide,t.colDays,t.radius,t.border,orientation,t.gradient)
        cairo_save(cr)
        cairo_text_extents (cr,tdays[c+1],te)
        local ratio=(maxSide-2*t.border-2*t.hpadding)/(te.width+ te.x_bearing)
        if ratio>1 then ratio=1 end
--        print (tdays[c+1],(te.width+ te.x_bearing)>(maxSide-2*t.border-2*t.hpadding),ratio)
        local xm = X+(maxSide-te.width-t.hpadding)/2
--        (maxSide-te.width)/2-te.x_bearing
        local xm = X+t.hpadding+(maxSide-2*t.hpadding-te.width)/2-te.x_bearing--+t.hpadding/2
        local ym = Y+(maxSide+te.height)/2
        --if ratio<1 then ym=y0+vbox.height-t.border -t.vpadding end
        if ratio<1 then xm=X+t.border+t.hpadding end
        
        if alignment=="r" then
            delta=maxSide-te.width-te.x_bearing-t.border-t.hpadding
        elseif alignment=="c" then
            delta=(maxSide-te.width)/2-te.x_bearing
        else
            delta=t.border+t.hpadding
        end
        
        cairo_move_to(cr,xm,ym)
        create_pattern(cr,X,Y,maxSide,maxSide,t.colDaysText,orientation,t.gradient)
        cairo_save(cr)
        cairo_scale(cr,ratio,1)
        cairo_show_text(cr,tdays[c+1])
        cairo_restore(cr)    
    end

    function show_big_box(txt,box,position)
        cairo_text_extents (cr,txt,te)
        hbox={ width  = maxSide*7+t.gap*6,  height  = maxSide}
        vbox={ width  = maxSide,  height  = maxSide*(flagEnd+1)+t.gap*flagEnd}
        local deltaY = 0
        local deltaX = 0
    
        if box=="month" then
            tColor=t.colMonth
            tColorText=t.colMonthText
            if info_position=="l" or info_position=="r" then
                hbox={ width  = maxSide*8+t.gap*7,  height = maxSide}
            end
            if info_position=="l" then
                deltaX = (maxSide+t.gap)
            end 
            if info_position=="t"  and month_position=="t" then
                deltaY = (maxSide+t.gap)
            end
            if (month_position=="l" or month_position=="r") and (info_position=="t") then
                deltaY=(maxSide+t.gap)
            end
            if (month_position=="b") and (info_position=="t") then
                deltaY=(maxSide+t.gap)
            end    
        elseif box=="info" then
            tColor=t.colInfo
            tColorText=t.colInfoText
            if month_position=="l" or month_position=="r"then
                hbox={ width  = maxSide*8+t.gap*7,  height  = maxSide}
            end     
            if month_position=="r" and info_position=="r" then 
                deltaX=(maxSide+t.gap)
            end
            if (month_position=="t") and (info_position=="l" or info_position=="r") then
                deltaY=(maxSide+t.gap)
            end
            if (month_position=="t") and (info_position=="b") then
                deltaY=(maxSide+t.gap)
            end            
            if (month_position=="b") then
                vbox={ width  = maxSide,  height  = maxSide*(flagEnd)+t.gap*(flagEnd-1)}
            end
        else
            return    
        end
    
    
        if position=="b" then    
            flagEnd=flagEnd+1
            draw_frame (x0,y0+flagEnd*(maxSide+t.gap)+deltaY,hbox.width,hbox.height,tColor,t.radius,t.border,orientation,t.gradient)
        elseif position=="l" then
            draw_frame (x0+deltaX,y0+deltaY,vbox.width, vbox.height,tColor,t.radius,t.border,orientation,t.gradient)
        elseif position=="r" then
            draw_frame (x0+7*(maxSide+t.gap)+deltaX,y0+deltaY,vbox.width,vbox.height,tColor,t.radius,t.border,orientation,t.gradient)
        else
            draw_frame (x0,y0+deltaY,hbox.width,hbox.height,tColor,t.radius,t.border,orientation,t.gradient)
        end


        if position=="t" or position=="b" then
            cairo_save(cr)
            local ratio=(hbox.width-2*t.border-2*t.hpadding)/(te.width + te.x_bearing)
            if ratio>1 then ratio=1 end
        
            local xm = x0+hbox.width/2-(te.width/2 + te.x_bearing)
            local ym = y0+hbox.height/2-(te.height/2+ te.y_bearing)
            if ratio<1 then xm=x0+t.border +t.hpadding end
            if position=="b" then ym = ym + flagEnd*(maxSide+t.gap) end

            create_pattern(cr,x0,y0,hbox.width,hbox.height,tColorText,orientation,t.gradient)
            cairo_translate(cr,xm,ym+deltaY)
            cairo_scale(cr,ratio,1)
            cairo_show_text(cr,txt)
            cairo_restore(cr)
        end
    
        if position=="l" or position=="r" then
            cairo_save(cr)
            --ajuster la taille, à faire avec cairo_set_scaled_font ??
            local ratio=(vbox.height-2*t.border-2*t.hpadding)/(te.width + te.x_bearing)
            if ratio>1 then ratio=1 end
        
            local xm = x0+vbox.width/2-(te.height/2 + te.y_bearing)+deltaX
            local ym = y0+vbox.height/2+(te.width/2+ te.x_bearing)
            if ratio<1 then ym= y0 + vbox.height - t.border -t.hpadding end 
            if position=="r" then xm=xm + 7*(maxSide+t.gap) end

            --hum hum ...
            create_pattern(cr,xm-hbox.height+te.height,ym-te.width- te.x_bearing,hbox.height,te.width+ te.x_bearing,tColorText,orientation,t.gradient)
            cairo_translate(cr,xm,ym+deltaY)
            cairo_rotate(cr,-math.pi/2)
            cairo_scale(cr,ratio,1)
            cairo_show_text(cr,txt)
            cairo_restore(cr)
        end
    
    end


    --txt_info="essa s  la co gf f hgf hg ss ss ss ff r ss s"
    show_big_box(txt_month,"month",month_position)
    if t.display_info_box  then 
        if t.file_info ~= nil then
            local file = io.open(t.file_info,"r")
            if file ~= nil then txt_info = file:read("*l") end
        end
        show_big_box(txt_info,"info",info_position)
    end


end


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


    local file = io.open("/tmp/my_ip.txt","r")    
    local ip_txt
    if file ~= nil then
        ip_txt = file:read("*l")
    end
    if ip_txt~=nil then
        cairo_set_font_size (cr, 50.0);
        cairo_move_to (cr, 100.0, 100.0);
        cairo_set_source_rgba (cr, 0.325490196, 0.258823529, 0.035294118, 0.2);
        cairo_show_text (cr, ip_txt);
    end
    io.close()
    cairo_destroy(cr)
    cairo_surface_destroy(cs)

end

Et ce que ça donne à présent :

1284635296.png


Merci d'avance. wink

Dernière modification par Skubu (Le 16/09/2010, à 12:31)


Debian / Archlinux | Gnome / KDE

Hors ligne

#2928 Le 16/09/2010, à 12:54

Litteul-Korrigan

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

Salut tout le monde,

Pour mon premier post, j'vais faire original, j'vais poser une question tongue.

Le script pour voir la terre et la lune de Wlourf me plaisait bien, j'ai donc copier/coller la chose, mis dans mon repertoire de scripts (~/Scripts) et modifié un peu le code (même si je ne m'y connais pas beaucoup en script, c'était juste du changement de dossier, rien de bien compliqué me paraissais t il).

Mais voilà, j'ai du oublier une ou 2 chose parce que, quand je lance ce script avec la console, voici ce qui me reviens:

get_earth_moon.sh: 47: [[: not found
get_earth_moon.sh: 58: [[: not found
get_earth_moon.sh: 63: [[: not found
get_earth_moon.sh: 69: [[: not found
get_earth_moon.sh: 87: [[: not found
get_earth_moon.sh: 101: [[: not found
convert: unable to open image `/home/Scripts/earth/mask100.png': Aucun fichier ou dossier de ce type @ blob.c/OpenBlob/2480.
convert: unable to open file `/home/Scripts/earth/mask100.png' @ png.c/ReadPNGImage/2917.
convert: missing an image filename `/tmp/earth/earth-out.png' @ convert.c/ConvertImageCommand/2838.

C'est le début que je comprends pas.

convert: unable to open image `/home/Scripts/earth/mask100.png': Aucun fichier ou dossier de ce type @ blob.c/OpenBlob/2480.

Cette ligne là me parait me dire qu'il me faut un fichier mask100.png que je n'ai pas

J'ai tout bon? Une âme charitable pourrait m'expliquer?

Merci.


Linux: Si les Gendarmes y arrivent, tout le monde peut y arriver.

Hors ligne

#2929 Le 16/09/2010, à 13:00

chepioq

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

Pour récupérer l'image mask100.png c'esi ici http://crunchbanglinux-fr.org/forum/viewtopic.php?pid=336#p336.
Clic droit sur l'image mask.png et enregistrer sous...


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

Hors ligne

#2930 Le 16/09/2010, à 13:13

Litteul-Korrigan

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

Merci d'avoir répondu si vite.

J'avais déjà récupéré les 2 images mask.png et overlay.png.
Dans le bénéfice du doute, j'ai re récupéré les images, mask.png 2 fois:

elche@elche-desktop:~/Scripts/earth$ ls
get_earth_moon.sh  mask100.png  mask.png  overlay.png

Mais toujours pareil:

elche@elche-desktop:~/Scripts/earth$ sh get_earth_moon.sh 
get_earth_moon.sh: 47: [[: not found
get_earth_moon.sh: 58: [[: not found
get_earth_moon.sh: 63: [[: not found
get_earth_moon.sh: 69: [[: not found
get_earth_moon.sh: 87: [[: not found
get_earth_moon.sh: 101: [[: not found
convert: unable to open image `/home/Scripts/earth/mask100.png': Aucun fichier ou dossier de ce type @ blob.c/OpenBlob/2480.
convert: unable to open file `/home/Scripts/earth/mask100.png' @ png.c/ReadPNGImage/2917.
convert: missing an image filename `/tmp/earth/earth-out.png' @ convert.c/ConvertImageCommand/2838.

Linux: Si les Gendarmes y arrivent, tout le monde peut y arriver.

Hors ligne

#2931 Le 16/09/2010, à 13:21

chepioq

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

Ou est ton dossier Script?
Directement dans/home ou dans /home/ton_utilisateur ?


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

Hors ligne

#2932 Le 16/09/2010, à 13:25

Litteul-Korrigan

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

En voila une question qu'elle est bonne et qui m'a permis de voir mon erreur.....

Mon dossier Scripts est dans /home/Utilisateur/. D'où le message de l'ordi: "je trouve pas ton fichier, t'es qu'un p'tit débutant qui veut se la péter et t'as qu'à réfléchir plus avant de bidouiller des scripts".

big_smile Merki


Linux: Si les Gendarmes y arrivent, tout le monde peut y arriver.

Hors ligne

#2933 Le 16/09/2010, à 13:30

chepioq

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

C'est en faisant des erreurs que l'on apprend...
Bien que je soit depuis plus de quatre ans sous linux, j'en fait encore...


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

Hors ligne

#2934 Le 16/09/2010, à 13:32

Litteul-Korrigan

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

Voui, j'suis bien d'accord... Mais là, c'était même pas une erreur mais une enorme bourde.. C'est la base quand même, l'arborescence.
Surtout que dans l'appel du script dans le conkyrc, j'l'ai pas faite, la bourde...


Linux: Si les Gendarmes y arrivent, tout le monde peut y arriver.

Hors ligne

#2935 Le 16/09/2010, à 19:07

wlourf

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

Skubu a écrit :

Salut à tous,

Je ne parviens pas à désactiver les couleurs des box de mon calendrier.lua... Pourtant tout semble commenté.
Et la couleur des jours fériés ne semblent pas fonctionner... même dé-commenté.


Et ce que ça donne à présent :

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


Merci d'avance. wink

Salut

pour les couleurs, active le composite dans ton WM et dans ton conky ajoute la ligne

own_window_argb_visual yes

Pour les fériés, ton script modifié fonctionne chez moi, peut-être as tu un mauvais format dans /home/damien/.conky/conky_2/Time

MMJJ;X;Texte

MMJJ = mois jour, ex 1101
X=0 pour pas férié, X=1 pour férié
Texte = texte à afficher, facultatif mais le deuxième point-virgule est obligatoire

bon courage

Hors ligne

#2936 Le 16/09/2010, à 23:30

kkwete

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

lilone972 a écrit :

@kkwete
Merci pour le compliment!
Je post mes conkyrc si ca t'intéresse. Pour la police c'est "ethnocentric" dispo sur dafont.

Je cherchais depuis un moment un thème complet vert et noir, je crois avoir trouvé mon bonheur vu ta capture d'ecran!
Je vais donc commencer à modifier mon conky pour le remplacer par le tien.
Commençons par le début:
Ou puis je trouver ton wallpaper?
Deuxièmement, je ne comprends pas pourquoi utiliser plusieurs fichiers pour avoir un conky fonctionnel.
Perso, le tout est dans le même fichier .conkyrc et ca fonctionne très bien!
Peut on m'expliquer l'intérêt de la chose?
Enfin, peux tu m'expliquer comment utiliser ton système de scripts?
Une petite recherche vite fait m'indique que lua est un langage de programmation, mais je n'en sais pas plus...

Hors ligne

#2937 Le 16/09/2010, à 23:50

Skubu

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

@Wlourf : Merci, c'est pile poil ce qu'il manquait. smile

Par contre, la suite sur le format j'ai rien compris, désolé. hmm Que dois-je essayer de faire concrètement ?


Debian / Archlinux | Gnome / KDE

Hors ligne

#2938 Le 17/09/2010, à 00:07

wlourf

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

Pourtant ça me semblait clair tongue

Exemple de fichier /home/damien/.conky/conky_2/Time, (celui que tu définis au début du script Lua à la ligne calendar_file)

1101;1;Toussaint
1111;1;Armistice 1918
1201;0;Anniversaire Jean-Paul
1225;1;Noël

Toutes les dates avec ;1; seront affichées comme jours fériés, toutes les dates avec ;0; seront affichées normalement, si ça n'a aucun effet chez toi, vérifie que le chemin indiqué est le bon, que les coulerus sont différentes pour les jours fériés et sinon, poste ton fichier /home/damien/.conky/conky_2/Time, je regarderai demain.

Plus haut dans ce topic, Fenouille avait posté une commande pour afficher les jours fériés d'un pays donné, mais je l'ai oublié ...


NB : Je sais pas si tu as effacé le texte d'introduction de ce calendrier ou si tu ne l'as pas posté, mais tu peux retrouver des exemples de config ici

Hors ligne

#2939 Le 17/09/2010, à 08:22

chepioq

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

1284706266.png

Voici un petit conky qui vous affichera les saints du jour.
J'en avais déjà posté un ici, qui était basé sur calendar, mais je me suis aperçu qu'il n'était plus très fiable, la base datant un peu et ayant évolué depuis.
Avec le script saint_du_jour.sh, je récupère le nom des saints depuis le site nominis.cef.fr, au format html.
Cette page étant encodé en latin1 (iso-8859-1), les caractères accentués étaient remplacés par des points d'interrogation.
Donc dans le script il y a une partie qui transforme l'encodage en UTF-8 avec le logiciel iconv.
Je ne sais pas si il est installé d'office sur ubuntu, mais je pense que oui.

le script saint_du_jour.sh

#!/bin/bash
wget http://nominis.cef.fr/ -O ~/.conkyrc/saint.html
iconv -f ISO-8859-1 -t UTF-8 ~/.conkyrc/saint.html -o ~/.conkyrc/saint1.html
cat ~/.conkyrc/saint1.html | sed -n '/Bonne/,/Saints/ {//d;p}' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | sed '/^$/d' |sed "s/\([[:lower:]]\)\([[:upper:]]\)/\1 \2/g" | awk '{print $1}' | sed '$!N;s/\n/ /'| sed '$!N;s/\n/ /'

Le script utilise beaucoup de sed et est un peu compliqué, mais je n'ai pas trouvé mieux. Si quelqu'un ici veut des explications je suis prêt à l'expliquer...

Le conkyrc qui va avec:

background no
font 6x10
use_xft yes
xftfont MgOpen Modata L:size=7:bold
#xftalpha 0.8
update_interval 3600
total_run_times 0
own_window yes
own_window_type normal
own_window_transparent yes
own_window_argb_visual yes
#own_window_colour SteelBlue4
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 350 40
#maximum_width 600
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders yes
stippled_borders 8
border_inner_margin 4
border_width 1
default_color white
default_shade_color black
default_outline_color black
alignment top_right
gap_x 30
gap_y 222
no_buffers yes
uppercase no
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale yes
use_spacer right
text_buffer_size 1024


# Couleurs
default_color FFFFFF #blanc
default_shade_color 333333
default_outline_color black

color3 cf1c00 #rouge
color2 11B3F8 #bleu clair
color1 176e88 #bleu


TEXT
${font MgOpen Modata : pixelsize=12}${color1}Saints${font}
${color3}${voffset -5}${hr}
${color1}Aujourd'hui, bonne fête aux ${color2}${execp ~/.conkyrc/saint_du_jour.sh}

==EDIT==

Simplification du code sed....

Dernière modification par chepioq (Le 17/09/2010, à 15:11)


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

Hors ligne

#2940 Le 17/09/2010, à 12:03

lilone972

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

Je cherchais depuis un moment un thème complet vert et noir, je crois avoir trouvé mon bonheur vu ta capture d'ecran!
Je vais donc commencer à modifier mon conky pour le remplacer par le tien.
Commençons par le début:
Ou puis je trouver ton wallpaper?
Deuxièmement, je ne comprends pas pourquoi utiliser plusieurs fichiers pour avoir un conky fonctionnel.
Perso, le tout est dans le même fichier .conkyrc et ca fonctionne très bien!
Peut on m'expliquer l'intérêt de la chose?
Enfin, peux tu m'expliquer comment utiliser ton système de scripts?
Une petite recherche vite fait m'indique que lua est un langage de programmation, mais je n'en sais pas plus...

Alors pour le wallpaper:
115414949f.th.jpg

Pour les conkyrc je trouve ca plus simple pour la mise en page et si besoin pour modifier une ou plusieurs parties du conky. Après chacun fait comme il le sent ^^
Alors pour lua c'est pas bien compliqué. En faite t'as juste a appeller le fichier "ring.lua" dans ton conkyrc comme ca:

lua_load ~/Conky/ring.lua
lua_draw_hook_pre ring_stats

Après pour configurer les anneaux (position, taille, ...) tout ce passe dans "ring.lua".

{
        name='cpu', #nom de l'anneau
        arg='cpu1', #commande (ici charge du cpu1)
        max=100, #le maximum de l'anneau (ici 100%)
        bg_colour=ring_background_color,
        bg_alpha=ring_background_alpha,
        fg_colour=ring_foreground_color,
        fg_alpha=ring_foreground_alpha,
        x=100, y=80, #position
        radius=45, #taille
        thickness=6, #épaisseur
        start_angle=-90, #début de l'anneau (-180 pour un cercle complet)
        end_angle=180 #fin de l'anneau (180 pour un cercle complet)
    },

Voila je peux pas faire plus simple je crois tongue
Plus de précision sur les lua: http://forum.ubuntu-fr.org/viewtopic.ph … 7#p3535647
Pour le reste des scripts:
Google agenda http://bl4g.free.fr/dotclear/index.php? … a-et-Gnome
Conkyforecast http://doc.ubuntu-fr.org/conkyforecast
Je crois que j'ai tout dit... ^^

Dernière modification par lilone972 (Le 17/09/2010, à 12:06)

Hors ligne

#2941 Le 17/09/2010, à 14:29

kkwete

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

merci bien!!!
A mon tour de faire joujou, je posterai le résultat pour voir si on peut améliorer le truc.

Hors ligne

#2942 Le 17/09/2010, à 21:05

Fenouille84

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

wlourf a écrit :

Plus haut dans ce topic, Fenouille avait posté une commande pour afficher les jours fériés d'un pays donné, mais je l'ai oublié ...

+1

C'était l'utilitaire calendar.
Je te conseille un petit man calendar sa va bien t'aider !!

Quelques pistes et astuces :

* Il faut lui indiquer le fichier de config (plusieurs sont dispo, à toi de choisir) :

calendar -f /usr/share/calendar/fr_FR/fichier_voulu

* Pour obtenir que les infos du jour, ajoute l'argument -A0.
Par exemple, pour les fêtes du jour :

calendar -f /usr/share/calendar/fr_FR/calendar.fetes -A0

Je sais pas si sa correspond à ta demande de jours fériés mais bon... Je pense que sa va bien t'aider en tout cas.
Je ne me souviens plus exactement, mais je crois que si le jour est férié, c'est indiqué.

Bon courage en tout cas.

Dernière modification par Fenouille84 (Le 17/09/2010, à 21:05)


Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --

Hors ligne

#2943 Le 18/09/2010, à 10:06

Fenouille84

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

Salut tout le monde ! Voici mon nouveau bureau.
OB Spirit, donc épuration maximum big_smile

Screen :
obzenstones.th.png

conkyrc1 (barre supérieure)

#Fonctionnement de conky 
  total_run_times 0            #Temps en secondes ; 0 = toujours actif
  background yes                #Pour que conky tourne en arrière plan ; no = pour les tests

#Réglages système
  cpu_avg_samples 1            #Nb d'échantillons pour calculer la moyenne d'utilisation CPU
  net_avg_samples 2            #Nb d'échantillons pour calculer la moyenne d'utilisation CPU

#Mémoire
  double_buffer yes            #Éviter le clignotement
  no_buffers yes                #Soustraire les mémoires tampons de la mémoire utilisée
  text_buffer_size 1024            #Taille du cache pour le texte

#Affichage
  out_to_console no            #Affiche le texte sur la sortie standard
  update_interval 1            #Taux de rafraîchissement de la fenêtre (s)

#Fenêtre conky
  alignment top_left            #Alignement
 #---
  minimum_size 770 10            #Taille minimum (px) ; largeur / hauteur
  maximum_width 770            #Largeur maximum (px)
 #---
  gap_x 355                    #Écart avec le bord gauche / droit
  gap_y 2                    #Écart avec le bord haut / bas
 #---
  draw_shades no                #Afficher les ombres
  draw_outline no                #Afficher les contours de fenêtre
  draw_borders no                #Afficher des contours autour des blocs de texte
  border_width 1                #Largeur du contour
  border_inner_margin 1            #Largeur des marges
 #---
  own_window yes                #Utiliser sa propre fenêtre
  own_window_type override         #Type de fenêtre ; normal / override / desktop
  own_window_transparent yes        #Pseudo transparence

#Mise en forme
  use_xft yes                #Utiliser Xft (polices lissées etc)
  xftalpha .1                #Utiliser Xft
  override_utf8_locale yes         #Force l'UTF8
  uppercase no                #Tout le texte en majuscule
  use_spacer right            #Ajoute des espaces après certains objets (qu'avec des polices fixes)
 #---
  xftfont saxMono:size=9         #Police par défaut
 #---
  default_bar_size 79 3            #Barre par défaut (longeur hauteur)
  stippled_borders 5            #Taille des pointillés

#Couleurs
  default_color FFFFFF             #Couleur par défaut
  default_shade_color 333333        #Couleur des ombres
  default_outline_color black        #Couleur des contours
 #---
  color1 606060                #Gris
 #---
  short_units yes                #Unités courtes
  pad_percents 2                #Unité à 2 décimales


TEXT
${color1}${time %T} | Krnl:${exec uname -r | cut -c 1-9} | Cpu:${cpu cpu}% | Mem:${memperc}% | ${execbar $HOME/Script/Volume} | Net:${if_existing /proc/net/route wlan0}WFi${else}${if_existing /proc/net/route eth0}Lnk${else}off${endif}${endif} | root:${fs_free /} | home:${fs_free /home} | ${uptime}

conkyrc2 (n'apparait que si VLC joue / si les clés USB sont montées).

#Fonctionnement de conky 
  total_run_times 0            #Temps en secondes ; 0 = toujours actif
  background yes                #Pour que conky tourne en arrière plan ; no = pour les tests

#Réglages système
  cpu_avg_samples 1            #Nb d'échantillons pour calculer la moyenne d'utilisation CPU
  net_avg_samples 2            #Nb d'échantillons pour calculer la moyenne d'utilisation CPU

#Mémoire
  double_buffer yes            #Éviter le clignotement
  no_buffers yes                #Soustraire les mémoires tampons de la mémoire utilisée
  text_buffer_size 1024            #Taille du cache pour le texte

#Affichage
  out_to_console no            #Affiche le texte sur la sortie standard
  update_interval 1            #Taux de rafraîchissement de la fenêtre (s)

#Fenêtre conky
  alignment top_left            #Alignement
 #---
  minimum_size 200 10            #Taille minimum (px) ; largeur / hauteur
  maximum_width 200            #Largeur maximum (px)
 #---
  gap_x 5                    #Écart avec le bord gauche / droit
  gap_y 10                    #Écart avec le bord haut / bas
 #---
  draw_shades no                #Afficher les ombres
  draw_outline no                #Afficher les contours de fenêtre
  draw_borders no                #Afficher des contours autour des blocs de texte
  border_width 1                #Largeur du contour
  border_inner_margin 1            #Largeur des marges
 #---
  own_window yes                #Utiliser sa propre fenêtre
  own_window_type override         #Type de fenêtre ; normal / override / desktop
  own_window_transparent yes        #Pseudo transparence

#Mise en forme
  use_xft yes                #Utiliser Xft (polices lissées etc)
  xftalpha .1                #Utiliser Xft
  override_utf8_locale yes         #Force l'UTF8
  uppercase no                #Tout le texte en majuscule
  use_spacer right            #Ajoute des espaces après certains objets (qu'avec des polices fixes)
 #---
  xftfont saxMono:size=9         #Police par défaut
 #---
  default_bar_size 79 3            #Barre par défaut (longeur hauteur)
  stippled_borders 5            #Taille des pointillés

#Couleurs
  default_color FFFFFF             #Couleur par défaut
  default_shade_color 333333        #Couleur des ombres
  default_outline_color black        #Couleur des contours
 #---
  color1 606060                #Gris
 #---
  short_units yes                #Unités courtes
  pad_percents 2                #Unité à 2 décimales


TEXT
${color1}${if_running vlc}${voffset -10}${hr}
${execi 2 $HOME/Script/httpvlc}${voffset 5}
${else}${endif}${if_match ${exec ls /media | wc -l} >0}${voffset -10}${hr}${else}${endif}${if_mounted /media/LEXAR}
Lexar:${fs_used_perc /media/LEXAR}% ${fs_bar /media/LEXAR} ${fs_free /media/LEXAR}${else}${endif}${if_mounted /media/Linux}
Linux:${fs_used_perc /media/Linux}% ${fs_bar /media/Linux} ${fs_free /media/Linux}${else}${endif}${if_mounted /media/LaCie_PC}
LaCie:${fs_used_perc /media/LaCie_PC}% ${fs_bar /media/LaCie_PC} ${fs_free /media/LaCie_PC}${else}${endif}${if_mounted /media/ZMATH}
ZMath:${fs_used_perc /media/ZMATH}% ${fs_bar /media/ZMATH} ${fs_free /media/ZMATH}${else}${endif}

Bon je l'avoue, je suis assez fier de ce 2° conky ^^ Surtout pour la mise en page !
Edit : pour les screens c'est par là.

Le script pour vlc (httpvlc) : je l'ai modifié pour qu'il supprime les lignes vides

#!/bin/bash
#Script pour récupérer les infos VLC.
#Version 2.0

#Fichier temporaire pour enregistrer les infos
tmp="/tmp/get-vlc.txt"

#Récupère les infos et les enregistre
GET http://localhost:8080/Lvlc.html > $tmp

#Lit le fichier temporaire
while read line
do
  sed '/./!d' <<< $line
done < $tmp

exit 0

Voilà voilà.
S'il manque des infos, ou si quelque chose n'est pas clair, n'hésitez pas à demander.
Bon conky à tous wink

Dernière modification par Fenouille84 (Le 19/09/2010, à 16:47)


Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --

Hors ligne

#2944 Le 18/09/2010, à 12:04

Leyna

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

Fenouille84, je te décrète maître ès noir & blanc tongue
C'est magnifique, y a de quoi en être fier en effet!

Hors ligne

#2945 Le 18/09/2010, à 13:06

Fenouille84

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

Leyna a écrit :

Fenouille84, je te décrète maître ès noir & blanc tongue
C'est magnifique, y a de quoi en être fier en effet!

En fait, c'est de mon 2° conky que je suis fier lol (j'ai modifié mon post précédent pour qu'il soit plus clair)
Mais merci pour le compliment. smile

Le conky dont je suis le plus fier, est celui là. Enjoy wink

Dernière modification par Fenouille84 (Le 18/09/2010, à 13:11)


Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --

Hors ligne

#2946 Le 18/09/2010, à 13:42

wlourf

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

ça va pas du tout Fenouille wink sur mon écran je vois distinctement la différence de blanc entre le rectangle blanc derrière les pierres et le reste du bureau !

Hors ligne

#2947 Le 18/09/2010, à 13:48

Fenouille84

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

wlourf a écrit :

ça va pas du tout Fenouille wink sur mon écran je vois distinctement la différence de blanc entre le rectangle blanc derrière les pierres et le reste du bureau !

Ah ben c'est pas de bol sa !! tongue
Sur mon écran de laptop (1440x900) tout va bien. Lol

Sa vient certainement du fait que j'ai été obligé de "bidouiller" ce fond d'écran.
En effet, l'image d'origine était une toute petite image à fond blanc. Ensuite, je l'ai prise, assombrie un peu, et tenté de la coller sur un fond assez uniforme et homogène de la même couleur qui fait tout pareil. (:P)

Et oui, ma vie regorge de péripéties !! big_smile lol


Ma page Deviant Art : conky inside ;-)
.
-- DropBox (online backup) : 2Go + 250 Mo pour vous et moi par parrainage --

Hors ligne

#2948 Le 18/09/2010, à 15:05

Skubu

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

@Wlourf : C'est bon, j'ai réussi. Merci. smile
Je m'entêtai sur le lua.

@Others : Merci pour les infos supplémentaires et la découverte de /usr/share/calendar/fr_FR/ que j'ignorai totalement. wink
Je sais pas encore si je vais m'en servir, à la base je voulais juste connaître le fonctionnement.

@Fenouille : Félicitation pour ton nouveau bébé. big_smile


Debian / Archlinux | Gnome / KDE

Hors ligne

#2949 Le 18/09/2010, à 15:22

Leyna

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

Fenouille84 a écrit :
Leyna a écrit :

Fenouille84, je te décrète maître ès noir & blanc tongue
C'est magnifique, y a de quoi en être fier en effet!

En fait, c'est de mon 2° conky que je suis fier lol (j'ai modifié mon post précédent pour qu'il soit plus clair)
Mais merci pour le compliment. smile

Je comprends pas... Sur la capture d'écran je ne vois qu'un seul conky, la ligne en haut. Il est où le deuxième?

Hors ligne

#2950 Le 18/09/2010, à 15:31

Skubu

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

Si l'on relis le post de Fenouille, il y a ça :

Fenouille a écrit :

conkyrc2 (n'apparait que si VLC joue / si les clés USB sont montées)

...


Debian / Archlinux | Gnome / KDE

Hors ligne