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.

#251 Le 30/04/2012, à 12:20

Ex0artefact

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Livarp, avec Wmfs2 :

Vide :
1335784434.jpg

Plein :
1335784715.jpg


Bizarre, vous avez dit bizarre ?

Hors ligne

#252 Le 06/05/2012, à 18:57

Leo 7

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Hors ligne

#253 Le 07/05/2012, à 21:42

RegisBurin

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Ex0artefact a écrit :

Livarp, avec Wmfs2...

Gros merci pour Livarp (que je ne connaissais pas), je me cherchais une distro compiz-standalone sans trop de blobs et de bordel dedans... je l'ai trouvé là-bas smile
(et j'en ai profité pour -enfin- tester dwm aussi)

@+


Config (M-AUDIO Delta44/Wacom CTH661-Phone ZTE OpenC-FFOS2.1) | BabyBox[WIP]
Moi sur le web / Moi, IRL mais sur le web / Ma maison sur le web

Hors ligne

#254 Le 17/05/2012, à 20:43

fredr

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Mon environnement du moment: gnome-classic-2D avec Awesome comme gestionnaire.

6737be3557f1e53a554c637de0477t.jpg

c271118b3b4237b584e001b3c7144t.jpg

En dual screen.

Fred


ArcoLinuxD Awesome
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.

Hors ligne

#255 Le 18/05/2012, à 01:48

lei00

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Tres joli "fredr" , pourrais savoir quel est le theme d'icone stp ?


FredBezies : Sites d'information sur l'actualité GNU/Linux.
Mon DeviantArt : Site d'une communauté artistique en ligne qui partage ses travaux.

Hors ligne

#256 Le 18/05/2012, à 08:09

fredr

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Salut,

Le thème d'icones est humanity-colors-dark-blue et le gtk classic-ambiance-blue

Ce sont les thèmes de base de Ubuntu recolorisés.

Le ppa

sudo add-apt-repository ppa:ravefinity-project/ppa
sudo apt-get update
sudo apt-get install ambiance-colors radiance-colors humanity-colors

Fredr

Dernière modification par fredr (Le 18/05/2012, à 15:41)


ArcoLinuxD Awesome
L'optimiste pense que nous vivons dans le meilleur des mondes. Et le pessimiste craint que ce ne soit exact.

Hors ligne

#257 Le 24/05/2012, à 03:02

demobox

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Hors ligne

#258 Le 24/05/2012, à 09:26

kleim

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

C'est le programme conky !

Dernière modification par kleim (Le 24/05/2012, à 09:27)


Asus G51VX , LDLC Vulcain SM1-1-H25, BeagleBoard-xM sous Arch Linux.
Un ordinateur sans Windows, c'est comme un gâteau au chocolat sans moutarde.

Hors ligne

#259 Le 03/06/2012, à 17:11

syruss2009

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Voici mon bureau sous Xubuntu Voyager 12.10 LTS smile

Mon bureau vide:

1338739322.png


Lorsqu'il est plein:

1338739583.png

Dernière modification par syruss2009 (Le 03/06/2012, à 17:12)


Jeune linuxien gabonais
UBUNTU Lucid Lynx
Gateway LT20 Netbook/ Double cœur Intel® Atom™ processor N280-Intel® Atom™ processor N270 - 1 GB of DDR2 -160 GB hard disk drive

Hors ligne

#260 Le 19/06/2012, à 10:38

Leo 7

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Très beau smile
Tu peux me filer le lien du conky stp ? je le trouve magnifique big_smile

Merci d'avance

A+

Hors ligne

#261 Le 19/06/2012, à 10:55

syruss2009

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Leo 7 a écrit :

Très beau smile
Tu peux me filer le lien du conky stp ? je le trouve magnifique big_smile

Merci d'avance

A+

Salut et merci, lequel des conky ? celui avec l'heure ou celui avec les indicateurs sur l'état de la consommation des ressources ou le conky pour la pochette de l'album lorsque Clémentine joue ?

Dernière modification par syruss2009 (Le 19/06/2012, à 10:57)


Jeune linuxien gabonais
UBUNTU Lucid Lynx
Gateway LT20 Netbook/ Double cœur Intel® Atom™ processor N280-Intel® Atom™ processor N270 - 1 GB of DDR2 -160 GB hard disk drive

Hors ligne

#262 Le 20/06/2012, à 12:36

Leo 7

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Celui avec les ressources système stp smile
Désolé j'avais pas vu que les autres étaient des conky je croyais que c'était des widgets.

A+

Hors ligne

#263 Le 20/06/2012, à 13:15

syruss2009

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Ok !!! le voici :

Le code du conky. Tu devras le nommer conkyrc_3. Fait attention à la ligne 53 de ce code. Tu dois changer la localisation du fichier lua  à la ligne 53 (lua_load ~/.conky/conky21/conky_3.lua)

#==============================================================================
#                                  conkyrc_3
#
#  author  : CAYMUS
#  version : v20120420-02
#  license : Distributed under the terms of GNU GPL version 2 or later
#
#==============================================================================

background yes
update_interval 1

cpu_avg_samples 2
net_avg_samples 2
temperature_unit celsius

double_buffer yes
no_buffers yes
text_buffer_size 2048

alignment top_middle
gap_x 10
gap_y 30
minimum_size 800 30
#maximum_width 190
own_window yes
own_window_type desktop
own_window_transparent yes
own_window_argb_visual
own_window_argb_visual yes
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
border_inner_margin 0
border_outer_margin 0
alignment top_middle

draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no

override_utf8_locale yes
use_xft yes
xftfont caviar dreams:size=8
xftalpha 0.5
uppercase no

default_color 666666
color1 888888
color2 AAAAAA
color3 DDDDDD
color4 CC3333

lua_load ~/.conky/conky21/conky_3.lua
lua_draw_hook_pre main_box
lua_draw_hook_post main_bars

TEXT
${voffset -5}
${goto 5}${font caviar dreams:size=12,weight:bold}${color}CPU
${voffset -45}
${goto 50}${font caviar dreams:size=7,weight:normal}${color}core 1:${goto 90}${cpu cpu1}%
${goto 50}${font caviar dreams:size=7,weight:normal}${color}core 2:${goto 90}${cpu cpu2}%

${voffset -49}
${goto 150}${font caviar dreams:size=12,weight:bold}${color}MEM
${voffset -43}
${goto 200}${font caviar dreams:size=7,weight:normal}${color}RAM ${goto 235}$mem
${goto 200}${font caviar dreams:size=7,weight:normal}${color}SWAP ${goto 235}$swap

${voffset -49}
${goto 315}${font caviar dreams:size=12,weight:bold}${color}DISKS
${voffset -43}
${goto 375}${font caviar dreams:size=7,weight:normal}${color}/home${goto 415}${fs_used /home}
${goto 375}${font caviar dreams:size=7,weight:normal}${color}/${goto 415}${fs_used /}

${voffset -49}
${goto 600}${font caviar dreams:size=12,weight:bold}${color}NET
${voffset -43}
${goto 650}${color1}${font caviar dreams:size=7,weight:bold}${if_existing /proc/net/route eth0}eth0 ${addr eth0}
${goto 650}${color}${font caviar dreams:size=7,weight:normal}Down: ${downspeed eth0}
${goto 650}${color}${font caviar dreams:size=7,weight:normal}Up: ${upspeed eth0}

${goto 650}${color1}${font caviar dreams:size=7,weight:bold}${else}${if_existing /proc/net/route wlan0}wifi ${addr wlan0}
${goto 650}${color}${font caviar dreams:size=7,weight:normal}AP: ${wireless_essid wlan0} ${goto 730}Speed: ${wireless_bitrate wlan0}
${goto 650}Mode: ${wireless_mode wlan0} ${goto 730}Quality: ${wireless_link_qual_perc wlan0}%

Le fichier lua qui est aussi important. Tu devras le nommé conky_3.lua


--[[ BARGRAPH WIDGET
    v2.1 by wlourf (07 Jan. 2011)
    edited by Caymus
    this widget draws a bargraph with different effects 
    http://u-scripts.blogspot.com/2010/07/bargraph-widget.html
    
To call the script in a conky, use, before TEXT
    lua_load /path/to/the/script/bargraph.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:
x,y        - coordinates of the starting point of the bar, default = middle of the conky window
cap        - end of cap line, ossibles values are r,b,s (for round, butt, square), default="b"
          http://www.cairographics.org/samples/set_line_cap/
angle    - angle of rotation of the bar in degress, default = 0 (i.e. a vertical bar)
          set to 90 for an horizontal bar
skew_x    - skew bar around x axis, default = 0
skew_y    - skew bar around y axis, default = 0
blocks  - number of blocks to display for a bar (values >0) , default= 10
height    - height of a block, default=10 pixels
width    - width of a block, default=20 pixels
space    - space between 2 blocks, default=2 pixels
angle_bar    - this angle is used to draw a bar on a circular way (ok, this is no more a bar !) default=0
radius        - for cicular bars, internal radius, default=0
              with radius, parameter width has no more effect.

Colours below are defined into braces {colour in hexadecimal, alpha}
fg_colour    - colour of a block ON, default= {0x00FF00,1}
bg_colour    - colour of a block OFF, default = {0x00FF00,0.5}
alarm        - threshold, values after this threshold will use alarm_colour colour , default=max
alarm_colour - colour of a block greater than alarm, default=fg_colour
smooth        - (true or false), create a gradient from fg_colour to bg_colour, default=false 
mid_colour    - colours to add to gradient, with this syntax {position into the gradient (0 to1), colour hexa, alpha}
              for example, this table {{0.25,0xff0000,1},{0.5,0x00ff00,1},{0.75,0x0000ff,1}} will add
              3 colurs to gradient created by fg_colour and alarm_colour, default=no mid_colour
led_effect    - add LED effects to each block, default=no led_effect
              if smooth=true, led_effect is not used
              possibles values : "r","a","e" for radial, parallelel, perdendicular to the bar (just try!)
              led_effect has to be used with theses colours :
fg_led        - middle colour of a block ON, default = fg_colour
bg_led        - middle colour of a block OFF, default = bg_colour
alarm_led    - middle colour of a block > ALARM,  default = alarm_colour

reflection parameters, not avaimable for circular bars
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
reflection            - position of reflection, relative to a vertical bar, default="b"
                      possibles values are : "b","t","l","r" for bottom, top, left, right
draw_me     - if set to false, text is not drawn (default = true or 1)
              it can be used with a conky string, if the string returns 1, the text is drawn :
              example : "${if_empty ${wireless_essid wlan0}}${else}1$endif",

v1.0 (10 Feb. 2010) original release
v1.1 (13 Feb. 2010) numeric values can be passed instead conky stats with parameters name="", arg = numeric_value    
v1.2 (28 Feb. 2010) just renamed the widget to bargraph
v1.3 (03 Mar. 2010) added parameters radius & angle_bar to draw the bar in a circular way
v2.0 (12 Jul. 2010) rewrite script + add reflection effects and parameters are now set into tables
v2.1 (07 Jan. 2011) Add draw_me parameter and correct memory leaks, thanks to "Creamy Goodness"

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

]]

require 'cairo'

----------------START OF PARAMETERS ----------
function conky_main_bars()
    local bars_settings={
        {
            name="cpu",
            arg="cpu1",
            max=100,
            alarm=80,
            bg_colour={0x00ff00,0.25},
            fg_colour={0x00ff00,1},
            alarm_colour={0xff0000,1},
            x=120,y=13,
            blocks=5,
            height=3,width=6,
            angle=90,
            smooth=true,
            cap="e",
            skew_y=15,
            mid_colour={{0.5,0xffff00,1}}
        },
        {
            name="cpu",
            arg="cpu2",
            max=100,
            alarm=80,
            bg_colour={0x00ff00,0.25},
            fg_colour={0x00ff00,1},
            alarm_colour={0xff0000,1},
            x=120,y=23,
            blocks=5,
            height=3,width=6,
            angle=90,
            smooth=true,
            cap="e",
            skew_y=15,
            mid_colour={{0.5,0xffff00,1}}
        },
        {
            name="memperc",
            arg="",
            max=100,
            alarm=80,
            bg_colour={0x00ff00,0.25},
            fg_colour={0x00ff00,1},
            alarm_colour={0xff0000,1},
            x=280,y=13,
            blocks=5,
            height=3,width=6,
            angle=90,
            smooth=true,
            cap="e",
            skew_y=15,
            mid_colour={{0.5,0xffff00,1}}
        },
        {
            name="swapperc",
            arg="",
            max=100,
            alarm=80,
            bg_colour={0x00ff00,0.25},
            fg_colour={0x00ff00,1},
            alarm_colour={0xff0000,1},
            x=280,y=23,
            blocks=5,
            height=3,width=6,
            angle=90,
            smooth=true,
            cap="e",
            skew_y=15,
            mid_colour={{0.5,0xffff00,1}}
        },
        {
            name="fs_used_perc",
            arg="/home",
            max=100,
            alarm=80,
            bg_colour={0x00ff00,0.25},
            fg_colour={0x00ff00,1},
            alarm_colour={0xff0000,1},
            x=460,y=13,
            blocks=5,
            height=3,width=6,
            angle=90,
            smooth=true,
            cap="e",
            skew_y=15,
            mid_colour={{0.5,0xffff00,1}}
        },
        {
            name="fs_used_perc",
            arg="/",
            max=100,
            alarm=80,
            bg_colour={0x00ff00,0.25},
            fg_colour={0x00ff00,1},
            alarm_colour={0xff0000,1},
            x=460,y=23,
            blocks=5,
            height=3,width=6,
            angle=90,
            smooth=true,
            cap="e",
            skew_y=15,
            mid_colour={{0.5,0xffff00,1}}
        },
        {
            name="downspeedf",
            arg="eth0",
            max=100,
            alarm=80,
            bg_colour={0x00ff00,0.25},
            fg_colour={0x00ff00,1},
            alarm_colour={0xff0000,1},
            x=95,y=450,
            blocks=5,
            height=3,width=6,
            angle=90,
            smooth=true,
            cap="e",
            skew_y=15,
            mid_colour={{0.5,0xffff00,1}}
        },
        {
            name="upspeedf",
            arg="eth0",
            max=100,
            alarm=80,
            bg_colour={0x00ff00,0.25},
            fg_colour={0x00ff00,1},
            alarm_colour={0xff0000,1},
            x=95,y=460,
            blocks=5,
            height=3,width=6,
            angle=90,
            smooth=true,
            cap="e",
            skew_y=15,
            mid_colour={{0.5,0xffff00,1}}
        },
        {
            name="downspeedf",
            arg="wlan0",
            max=100,
            alarm=80,
            bg_colour={0x00ff00,0.25},
            fg_colour={0x00ff00,1},
            alarm_colour={0xff0000,1},
            x=95,y=560,
            blocks=5,
            height=3,width=6,
            angle=90,
            smooth=true,
            cap="e",
            skew_y=15,
            mid_colour={{0.5,0xffff00,1}}
        },
        {
            name="upspeedf",
            arg="wlan0",
            max=100,
            alarm=80,
            bg_colour={0x00ff00,0.25},
            fg_colour={0x00ff00,1},
            alarm_colour={0xff0000,1},
            x=95,y=570,
            blocks=5,
            height=3,width=6,
            angle=90,
            smooth=true,
            cap="e",
            skew_y=15,
            mid_colour={{0.5,0xffff00,1}}
        },
                        
    }
    
-----------END OF PARAMETERS--------------


    
    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)    
    --prevent segmentation error when reading cpu state
    if tonumber(conky_parse('${updates}'))>3 then
        for i in pairs(bars_settings) do
            
            draw_multi_bar_graph(bars_settings[i])
            
        end
    end
    cairo_destroy(cr)
    cairo_surface_destroy(cs)
    cr=nil

end



function draw_multi_bar_graph(t)
    cairo_save(cr)
    --check values
    if t.draw_me == true then t.draw_me = nil end
    if t.draw_me ~= nil and conky_parse(tostring(t.draw_me)) ~= "1" then return end    
    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'")
        return
    end
    if t.name==nil then t.name="" end
    if t.arg==nil then t.arg="" end

    --set default values    
    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.blocks == nil    then t.blocks=10 end
    if t.height == nil    then t.height=10 end
    if t.angle == nil     then t.angle=0 end
    t.angle = t.angle*math.pi/180
    --line cap style
    if t.cap==nil        then t.cap = "b" end
    local cap="b"
    for i,v in ipairs({"s","r","b"}) do 
        if v==t.cap then cap=v end
    end
    local delta=0
    if t.cap=="r" or t.cap=="s" then delta = t.height end
    if cap=="s" then     cap = CAIRO_LINE_CAP_SQUARE
    elseif cap=="r" then
        cap = CAIRO_LINE_CAP_ROUND
    elseif cap=="b" then
        cap = CAIRO_LINE_CAP_BUTT
    end
    --end line cap style
    --if t.led_effect == nil    then t.led_effect="r" end
    if t.width == nil    then t.width=20 end
    if t.space == nil    then t.space=2 end
    if t.radius == nil    then t.radius=0 end
    if t.angle_bar == nil    then t.angle_bar=0 end
    t.angle_bar = t.angle_bar*math.pi/360 --halt angle
    
    --colours
    if t.bg_colour == nil     then t.bg_colour = {0x00FF00,0.5} end
    if #t.bg_colour~=2         then t.bg_colour = {0x00FF00,0.5} end
    if t.fg_colour == nil     then t.fg_colour = {0x00FF00,1} end
    if #t.fg_colour~=2         then t.fg_colour = {0x00FF00,1} end
    if t.alarm_colour == nil     then t.alarm_colour = t.fg_colour end
    if #t.alarm_colour~=2         then t.alarm_colour = t.fg_colour end

    if t.mid_colour ~= nil then    
        for i=1, #t.mid_colour do    
            if #t.mid_colour[i]~=3 then 
                print ("error in mid_color table")
                t.mid_colour[i]={1,0xFFFFFF,1} 
            end
        end
    end
    
    if t.bg_led ~= nil and #t.bg_led~=2    then t.bg_led = t.bg_colour end
    if t.fg_led ~= nil and #t.fg_led~=2    then t.fg_led = t.fg_colour end
    if t.alarm_led~= nil and #t.alarm_led~=2 then t.alarm_led = t.fg_led end
    
    if t.led_effect~=nil then
        if t.bg_led == nil then t.bg_led = t.bg_colour end
        if t.fg_led == nil     then t.fg_led = t.fg_colour end
        if t.alarm_led == nil  then t.alarm_led = t.fg_led end
    end
    

    if t.alarm==nil then t.alarm = t.max end --0.8*t.max end
    if t.smooth == nil then t.smooth = false end

    if t.skew_x == nil then 
        t.skew_x=0 
    else
        t.skew_x = math.pi*t.skew_x/180    
    end
    if t.skew_y == nil then 
        t.skew_y=0
    else
        t.skew_y = math.pi*t.skew_y/180    
    end
    
    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
    
    --end of default values
    

     local function rgb_to_r_g_b(col_a)
        return ((col_a[1] / 0x10000) % 0x100) / 255., ((col_a[1] / 0x100) % 0x100) / 255., (col_a[1] % 0x100) / 255., col_a[2]
    end
    
    
    --functions used to create patterns

    local function create_smooth_linear_gradient(x0,y0,x1,y1)
        local pat = cairo_pattern_create_linear (x0,y0,x1,y1)
        cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(t.fg_colour))
        cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(t.alarm_colour))
        if t.mid_colour ~=nil then
            for i=1, #t.mid_colour do
                cairo_pattern_add_color_stop_rgba (pat, t.mid_colour[i][1], rgb_to_r_g_b({t.mid_colour[i][2],t.mid_colour[i][3]}))
            end
        end
        return pat
    end

    local function create_smooth_radial_gradient(x0,y0,r0,x1,y1,r1)
        local pat =  cairo_pattern_create_radial (x0,y0,r0,x1,y1,r1)
        cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(t.fg_colour))
        cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(t.alarm_colour))
        if t.mid_colour ~=nil then
            for i=1, #t.mid_colour do
                cairo_pattern_add_color_stop_rgba (pat, t.mid_colour[i][1], rgb_to_r_g_b({t.mid_colour[i][2],t.mid_colour[i][3]}))
            end
        end
        return pat
    end
    
    local function create_led_linear_gradient(x0,y0,x1,y1,col_alp,col_led)
        local pat = cairo_pattern_create_linear (x0,y0,x1,y1) ---delta, 0,delta+ t.width,0)
        cairo_pattern_add_color_stop_rgba (pat, 0.0, rgb_to_r_g_b(col_alp))
        cairo_pattern_add_color_stop_rgba (pat, 0.5, rgb_to_r_g_b(col_led))
        cairo_pattern_add_color_stop_rgba (pat, 1.0, rgb_to_r_g_b(col_alp))
        return pat
    end

    local function create_led_radial_gradient(x0,y0,r0,x1,y1,r1,col_alp,col_led,mode)
        local pat = cairo_pattern_create_radial (x0,y0,r0,x1,y1,r1)
        if mode==3 then
            cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(col_alp))                
            cairo_pattern_add_color_stop_rgba (pat, 0.5, rgb_to_r_g_b(col_led))
            cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(col_alp))                
        else
            cairo_pattern_add_color_stop_rgba (pat, 0, rgb_to_r_g_b(col_led))
            cairo_pattern_add_color_stop_rgba (pat, 1, rgb_to_r_g_b(col_alp))                
        end
        return pat
    end






    local function draw_single_bar()
        --this fucntion is used for bars with a single block (blocks=1) but 
        --the drawing is cut in 3 blocks : value/alarm/background
        --not zvzimzblr for circular bar
        local function create_pattern(col_alp,col_led,bg)
            local pat
            
            if not t.smooth then
                if t.led_effect=="e" then
                    pat = create_led_linear_gradient (-delta, 0,delta+ t.width,0,col_alp,col_led)
                elseif t.led_effect=="a" then
                    pat = create_led_linear_gradient (t.width/2, 0,t.width/2,-t.height,col_alp,col_led)
                elseif  t.led_effect=="r" then
                    pat = create_led_radial_gradient (t.width/2, -t.height/2, 0, t.width/2,-t.height/2,t.height/1.5,col_alp,col_led,2)
                else
                    pat = cairo_pattern_create_rgba  (rgb_to_r_g_b(col_alp))
                end
            else
                if bg then
                    pat = cairo_pattern_create_rgba  (rgb_to_r_g_b(t.bg_colour))
                else
                    pat = create_smooth_linear_gradient(t.width/2, 0, t.width/2,-t.height)
                end
            end
            return pat
        end
        
        local y1=-t.height*pct/100
        local y2,y3
        if pct>(100*t.alarm/t.max) then 
            y1 = -t.height*t.alarm/100
            y2 = -t.height*pct/100
            if t.smooth then y1=y2 end
        end
        
        if t.angle_bar==0 then
        
            --block for fg value
            local pat = create_pattern(t.fg_colour,t.fg_led,false)
            cairo_set_source(cr,pat)
            cairo_rectangle(cr,0,0,t.width,y1)
            cairo_fill(cr)
            cairo_pattern_destroy(pat)
        
            -- block for alarm value            
            if not t.smooth and y2 ~=nil then 
                pat = create_pattern(t.alarm_colour,t.alarm_led,false)
                cairo_set_source(cr,pat)
                cairo_rectangle(cr,0,y1,t.width,y2-y1)
                cairo_fill(cr)
                y3=y2
                cairo_pattern_destroy(pat)
            else
                y2,y3=y1,y1
            end
            -- block for bg value
            cairo_rectangle(cr,0,y2,t.width,-t.height-y3)
            pat = create_pattern(t.bg_colour,t.bg_led,true)
            cairo_set_source(cr,pat)
            cairo_pattern_destroy(pat)
            cairo_fill(cr)
        end        
    end  --end single bar
    





    local function draw_multi_bar()
        --function used for bars with 2 or more blocks
        for pt = 1,t.blocks do 
            --set block y
            local y1 = -(pt-1)*(t.height+t.space)
            local light_on=false
            
            --set colors
            local col_alp = t.bg_colour
            local col_led = t.bg_led
            if pct>=(100/t.blocks) or pct>0 then --ligth on or not the block
                if pct>=(pcb*(pt-1))  then 
                    light_on = true
                    col_alp = t.fg_colour
                    col_led = t.fg_led
                    if pct>=(100*t.alarm/t.max) and (pcb*pt)>(100*t.alarm/t.max) then 
                        col_alp = t.alarm_colour 
                        col_led = t.alarm_led 
                    end
                end
            end

            --set colors
            --have to try to create gradients outside the loop ?
            local pat 
            
            if not t.smooth then
                if t.angle_bar==0 then
                    if t.led_effect=="e" then
                        pat = create_led_linear_gradient (-delta, 0,delta+ t.width,0,col_alp,col_led)
                    elseif t.led_effect=="a" then
                        pat = create_led_linear_gradient (t.width/2, -t.height/2+y1,t.width/2,0+t.height/2+y1,col_alp,col_led)                    
                    elseif  t.led_effect=="r" then
                        pat = create_led_radial_gradient (t.width/2, y1, 0, t.width/2,y1,t.width/1.5,col_alp,col_led,2)    
                    else
                        pat = cairo_pattern_create_rgba  (rgb_to_r_g_b(col_alp))
                    end
                else
                     if t.led_effect=="a"  then
                         pat = create_led_radial_gradient (0, 0, t.radius+(t.height+t.space)*(pt-1),
                                                         0, 0, t.radius+(t.height+t.space)*(pt),                         
                                             col_alp,col_led,3)    
                    else
                        pat = cairo_pattern_create_rgba  (rgb_to_r_g_b(col_alp))                    
                    end
                    
                end
            else
                
                if light_on then
                    if t.angle_bar==0 then
                        pat = create_smooth_linear_gradient(t.width/2, t.height/2, t.width/2,-(t.blocks-0.5)*(t.height+t.space))
                    else
                        pat = create_smooth_radial_gradient(0, 0, (t.height+t.space),  0,0,(t.blocks+1)*(t.height+t.space),2)
                    end
                else        
                    pat = cairo_pattern_create_rgba  (rgb_to_r_g_b(t.bg_colour))
                end
            end
            cairo_set_source (cr, pat)
            cairo_pattern_destroy(pat)

            --draw a block
            if t.angle_bar==0 then
                cairo_move_to(cr,0,y1)
                cairo_line_to(cr,t.width,y1)
            else        
                cairo_arc( cr,0,0,
                    t.radius+(t.height+t.space)*(pt)-t.height/2,
                     -t.angle_bar -math.pi/2 ,
                     t.angle_bar -math.pi/2)
            end
            cairo_stroke(cr)
        end    
    end
    
    
    
    
    local function setup_bar_graph()
        --function used to retrieve the value to display and to set the cairo structure
        if t.blocks ~=1 then t.y=t.y-t.height/2 end
        
        local value = 0
        if t.name ~="" then
            value = tonumber(conky_parse(string.format('${%s %s}', t.name, t.arg)))
            --$to_bytes doesn't work when value has a decimal point,
            --https://garage.maemo.org/plugins/ggit/browse.php/?p=monky;a=commitdiff;h=174c256c81a027a2ea406f5f37dc036fac0a524b;hp=d75e2db5ed3fc788fb8514121f67316ac3e5f29f
            --http://sourceforge.net/tracker/index.php?func=detail&aid=3000865&group_id=143975&atid=757310
            --conky bug?
            --value = (conky_parse(string.format('${%s %s}', t.name, t.arg)))
            --if string.match(value,"%w") then
            --    value = conky_parse(string.format('${to_bytes %s}',value))
            --end
        else
            value = tonumber(t.arg)
        end

        if value==nil then value =0 end
        
        pct = 100*value/t.max
        pcb = 100/t.blocks
        
        cairo_set_line_width (cr, t.height)
        cairo_set_line_cap  (cr, cap)
        cairo_translate(cr,t.x,t.y)
        cairo_rotate(cr,t.angle)

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

    
        
        --call the drawing function for blocks
        if t.blocks==1 and t.angle_bar==0 then
            draw_single_bar()
            if t.reflection=="t" or t.reflection=="b" then cairo_translate(cr,0,-t.height) end
        else
            draw_multi_bar()
        end

        --dot for reminder
        --[[
        if t.blocks ~=1 then
            cairo_set_source_rgba(cr,1,0,0,1)
            cairo_arc(cr,0,t.height/2,3,0,2*math.pi)
            cairo_fill(cr)
        else
            cairo_set_source_rgba(cr,1,0,0,1)
            cairo_arc(cr,0,0,3,0,2*math.pi)
            cairo_fill(cr)
        end]]
        
        --call the drawing function for reflection and prepare the mask used        
        if t.reflection_alpha>0 and t.angle_bar==0 then
            local pat2
            local matrix1 = cairo_matrix_t:create()
            tolua.takeownership(matrix1)
            if t.angle_bar==0 then
                pts={-delta/2,(t.height+t.space)/2,t.width+delta,-(t.height+t.space)*(t.blocks)}
                if t.reflection=="t" then
                    cairo_matrix_init (matrix1,1,0,0,-t.reflection_scale,0,-(t.height+t.space)*(t.blocks-0.5)*2*(t.reflection_scale+1)/2)
                    pat2 = cairo_pattern_create_linear (t.width/2,-(t.height+t.space)*(t.blocks),t.width/2,(t.height+t.space)/2)
                elseif t.reflection=="r" then
                    cairo_matrix_init (matrix1,-t.reflection_scale,0,0,1,delta+2*t.width,0)
                    pat2 = cairo_pattern_create_linear (delta/2+t.width,0,-delta/2,0)
                elseif t.reflection=="l" then
                    cairo_matrix_init (matrix1,-t.reflection_scale,0,0,1,-delta,0)
                    pat2 = cairo_pattern_create_linear (-delta/2,0,delta/2+t.width,-0)
                else --bottom
                    cairo_matrix_init (matrix1,1,0,0,-1*t.reflection_scale,0,(t.height+t.space)*(t.reflection_scale+1)/2)
                    pat2 = cairo_pattern_create_linear (t.width/2,(t.height+t.space)/2,t.width/2,-(t.height+t.space)*(t.blocks))
                end
            end
            cairo_transform(cr,matrix1)

            if t.blocks==1 and t.angle_bar==0 then
                draw_single_bar()
                cairo_translate(cr,0,-t.height/2) 
            else
                draw_multi_bar()
            end
            
            
            cairo_set_line_width(cr,0.01)
            cairo_pattern_add_color_stop_rgba (pat2, 0,0,0,0,1-t.reflection_alpha)
            cairo_pattern_add_color_stop_rgba (pat2, t.reflection_length,0,0,0,1)
            if t.angle_bar==0 then
                cairo_rectangle(cr,pts[1],pts[2],pts[3],pts[4])
            end
            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 --reflection
        pct,pcb=nil
    end --setup_bar_graph()
    
    --start here !
    setup_bar_graph()
    cairo_restore(cr)
end

function conky_main_box()

    if conky_window==nil then return end
    
    ---------------------- PARAMETERS BEGIN HERE
    local boxes_settings={
    {x=0,y=0,w=490,h=35, corners={ {"circle",10} },colour={ {0,0x1F1F1F,0.5} },operator="atop" } ,
    {x=590,y=0,w=220,h=70, corners={ {"circle",10} },colour={ {0,0x1F1F1F,0.5} },operator="atop" } ,
    }


    ---------------------------- PARAMETERS END HERE
    
    local cs=cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
    local cr=cairo_create(cs)
    
    if tonumber(conky_parse("$updates"))<5 then return end
    for i in pairs(boxes_settings) do
        draw_box (cr,boxes_settings[i])
    end
    cairo_destroy(cr)
    cairo_surface_destroy(cs)    
end

    
function draw_box(cr,t)

    if t.draw_me == true then t.draw_me = nil end
    if t.draw_me ~= nil and conky_parse(tostring(t.draw_me)) ~= "1" then return end    

    local table_corners={"circle","curve","line"}

    local t_operators={
        clear   = CAIRO_OPERATOR_CLEAR,
        source  = CAIRO_OPERATOR_SOURCE,
        over    = CAIRO_OPERATOR_OVER,
        ["in"]      = CAIRO_OPERATOR_IN,
        out     = CAIRO_OPERATOR_OUT,
        atop    = CAIRO_OPERATOR_ATOP,
        dest    = CAIRO_OPERATOR_DEST,
        dest_over   = CAIRO_OPERATOR_DEST_OVER,
        dest_in = CAIRO_OPERATOR_DEST_IN,
        dest_out = CAIRO_OPERATOR_DEST_OUT,
        dest_atop = CAIRO_OPERATOR_DEST_ATOP,
        xor = CAIRO_OPERATOR_XOR,
        add = CAIRO_OPERATOR_ADD,
        saturate =  CAIRO_OPERATOR_SATURATE,
    }
        
    function rgba_to_r_g_b_a(tc)
        --tc={position,colour,alpha}
        local colour = tc[2]
        local alpha = tc[3]
        return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
    end

    function table.copy(t)
      local t2 = {}
      for k,v in pairs(t) do
       t2[k] = {v[1],v[2]}
      end
      return t2
    end

    function draw_corner(num,t)
        local shape=t[1]
        local radius=t[2]
        local x,y = t[3],t[4]
        if shape=="line" then
            if num == 1 then cairo_line_to(cr,radius,0) 
                elseif num == 2 then cairo_line_to(cr,x,radius) 
                elseif num == 3 then cairo_line_to(cr,x-radius,y)
                elseif num == 4 then cairo_line_to(cr,0,y-radius)
            end
        end
        if shape=="circle" then
            local PI = math.pi
           if num == 1 then cairo_arc(cr,radius,radius,radius,-PI,-PI/2)
                elseif num == 2 then cairo_arc(cr,x-radius,y+radius,radius,-PI/2,0)
                elseif num == 3 then cairo_arc(cr,x-radius,y-radius,radius,0,PI/2) 
                elseif num == 4 then cairo_arc(cr,radius,y-radius,radius,PI/2,-PI)
            end
        end
        if shape=="curve" then
            if num == 1 then cairo_curve_to(cr,0,radius ,0,0 ,radius,0) 
                elseif num == 2 then cairo_curve_to(cr,x-radius,0, x,y, x,radius)
                elseif num == 3 then cairo_curve_to(cr,x,y-radius, x,y, x-radius,y)
                elseif num == 4 then cairo_curve_to(cr,radius,y, x,y, 0,y-radius)
            end
        end        
    end   

    --check values and set default values
    if t.x == nil then t.x = 0 end
    if t.y == nil then t.y = 0 end
    if t.w == nil then t.w = conky_window.width end
    if t.h == nil then t.h = conky_window.height end
    if t.radius == nil then t.radius = 0 end
    if t.border == nil then t.border = 0 end
    if t.colour==nil then t.colour={{1,0xFFFFFF,0.5}} end
    if t.linear_gradient ~= nil then 
        if #t.linear_gradient ~= 4 then
            t.linear_gradient = {t.x,t.y,t.width,t.height}
        end
    end 
    if t.angle==nil then t.angle = 0 end

    if t.skew_x == nil then t.skew_x=0  end
    if t.skew_y == nil then  t.skew_y=0 end
    if t.scale_x==nil then t.scale_x=1 end
    if t.scale_y==nil then t.scale_y=1 end    
    if t.rot_x == nil then t.rot_x=0  end
    if t.rot_y == nil then  t.rot_y=0 end
    
    if t.operator == nil then t.operator = "over" end
    if (t_operators[t.operator]) == nil then
        print ("wrong operator :",t.operator)
        t.operator = "over"
    end
    
    if t.radial_gradient ~= nil then 
        if #t.radial_gradient ~= 6 then
            t.radial_gradient = {t.x,t.y,0, t.x,t.y, t.width}
        end
    end 
    
    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

    if t.corners == nil then t.corners={ {"line",0} } end
    local t_corners = {}
    local t_corners = table.copy(t.corners)
    --don't use t_corners=t.corners otherwise t.corners is altered

    --complete the t_corners table if needed
    for i=#t_corners+1,4 do    
        t_corners[i]=t_corners[#t_corners]
        local flag=false
        for j,v in pairs(table_corners) do flag=flag or (t_corners[i][1]==v) end 
        if not flag then print ("error in corners table :",t_corners[i][1]);t_corners[i][1]="curve"  end
    end

    --this way :    
    --    t_corners[1][4]=x    
    --    t_corners[2][3]=y
    --doesn't work
    t_corners[1]={t_corners[1][1],t_corners[1][2],0,0}
    t_corners[2]={t_corners[2][1],t_corners[2][2],t.w,0}
    t_corners[3]={t_corners[3][1],t_corners[3][2],t.w,t.h}    
    t_corners[4]={t_corners[4][1],t_corners[4][2],0,t.h}        

    t.no_gradient = (t.linear_gradient == nil ) and (t.radial_gradient == nil )

    cairo_save(cr)
    cairo_translate(cr, t.x, t.y)
    if t.rot_x~=0 or t.rot_y~=0 or t.angle~=0 then
        cairo_translate(cr,t.rot_x,t.rot_y)
        cairo_rotate(cr,t.angle*math.pi/180)
        cairo_translate(cr,-t.rot_x,-t.rot_y)
    end
    if t.scale_x~=1 or t.scale_y~=1 or t.skew_x~=0 or t.skew_y~=0 then
        local matrix0 = cairo_matrix_t:create()
        tolua.takeownership(matrix0)
        cairo_matrix_init (matrix0, t.scale_x,math.pi*t.skew_y/180    , math.pi*t.skew_x/180    ,t.scale_y,0,0)
        cairo_transform(cr,matrix0)    
    end
    
    local tc=t_corners
    cairo_move_to(cr,tc[1][2],0)
    cairo_line_to(cr,t.w-tc[2][2],0)
    draw_corner(2,tc[2])
    cairo_line_to(cr,t.w,t.h-tc[3][2])
    draw_corner(3,tc[3])
    cairo_line_to(cr,tc[4][2],t.h)
    draw_corner(4,tc[4])
    cairo_line_to(cr,0,tc[1][2])
    draw_corner(1,tc[1])
    
    if t.no_gradient then
        cairo_set_source_rgba(cr,rgba_to_r_g_b_a(t.colour[1]))
    else
        if t.linear_gradient ~= nil then
            pat = cairo_pattern_create_linear (t.linear_gradient[1],t.linear_gradient[2],t.linear_gradient[3],t.linear_gradient[4])
        elseif t.radial_gradient ~= nil then
            pat = cairo_pattern_create_radial (t.radial_gradient[1],t.radial_gradient[2],t.radial_gradient[3],
                t.radial_gradient[4],t.radial_gradient[5],t.radial_gradient[6])
        end
        for i=1, #t.colour do
            cairo_pattern_add_color_stop_rgba (pat, t.colour[i][1], rgba_to_r_g_b_a(t.colour[i]))
        end
        cairo_set_source (cr, pat)
        cairo_pattern_destroy(pat)
    end 
     
    cairo_set_operator(cr,t_operators[t.operator]) 

    if t.border>0 then
        cairo_close_path(cr)
        if t.dash ~= nil then cairo_set_dash(cr, t.dash, 1, 0.0) end
        cairo_set_line_width(cr,t.border)
        cairo_stroke(cr)
    else
        cairo_fill(cr)
    end

    cairo_restore(cr)
end

Jeune linuxien gabonais
UBUNTU Lucid Lynx
Gateway LT20 Netbook/ Double cœur Intel® Atom™ processor N280-Intel® Atom™ processor N270 - 1 GB of DDR2 -160 GB hard disk drive

Hors ligne

#264 Le 21/06/2012, à 12:48

Leo 7

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Merci ! smile

Hors ligne

#265 Le 21/06/2012, à 13:07

syruss2009

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Leo 7 a écrit :

Merci ! smile


çà fonctionne ?


Jeune linuxien gabonais
UBUNTU Lucid Lynx
Gateway LT20 Netbook/ Double cœur Intel® Atom™ processor N280-Intel® Atom™ processor N270 - 1 GB of DDR2 -160 GB hard disk drive

Hors ligne

#266 Le 22/06/2012, à 09:51

Leo 7

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Pour le conky, j'ai pas encore testé smile
Je te dirais quand j'aurais tout configuré.
Sinon un ptit test de wmfs:

1340383576.png

1340383626.png

A+

Dernière modification par Leo 7 (Le 22/06/2012, à 17:47)

Hors ligne

#267 Le 25/06/2012, à 15:41

ADcomp

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Hello, config actuelle , rien de transcendant ..

1340634800.png 1340634815.png 1340634823.png

Openbox : gtk - elementary Dark, icon - elementary, adeskbar, trayer (systray , en bas, à droite)

Dernière modification par ADcomp (Le 25/06/2012, à 15:45)


David [aka] ADcomp

Hors ligne

#268 Le 25/06/2012, à 16:57

MaatUNIX

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Du très très dark pour moi ce mois ci avec Openbox.

1340639629.png


Ubuntu-fr: Une super communauté supportant le meilleure système d'exploitation jamais créé, avec ses supers admin à la con et leurs principes merdiques ! :D
http://lecitronvert.legtux.org/blog/?p=603

Hors ligne

#269 Le 27/06/2012, à 06:19

camarade35

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

simple avec un dock non terminé.

1340774325.png

EDIT :

Voilà quand c'est fini

1340858678.png

Dernière modification par camarade35 (Le 28/06/2012, à 05:45)


AMD64 X2 3GHz, 2Go DDR2, Nvidia GeForce 9600GT (1Go DDR2)
Clavier étanche ^^ souris pas chère
Ubuntu Voyager

Hors ligne

#270 Le 27/06/2012, à 21:44

syruss2009

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

camarade35 a écrit :

j'ai reconnu Xunbuntu Voayage wink  super !!!


Jeune linuxien gabonais
UBUNTU Lucid Lynx
Gateway LT20 Netbook/ Double cœur Intel® Atom™ processor N280-Intel® Atom™ processor N270 - 1 GB of DDR2 -160 GB hard disk drive

Hors ligne

#271 Le 27/06/2012, à 21:50

winux12

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

là je tombe sur le topic, et je comprends pas, Unity c'est pas alternatif, et mon Gnome-shell non plus, bon je retourne sous Seven big_smile


La LIBERTE n'a pas de prix ... Dell E7270 - Core I7 - 16 Go Ram
TuxLibre - ARU2L
Adhérent à l'APRIL
1 Photo - 1 Jour   Twitter 

Hors ligne

#272 Le 27/06/2012, à 23:55

cherrak

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

@ADcomp : J'adore les fenetres, j'adore le panel et le theme dark (au fait c'est Ambiance Dark ou autre chose?), j'adore aussi Bryan Lunduke et son fameux Linux Sucks, en fait j'adore tout ton environnement big_smile

#273 Le 29/06/2012, à 14:09

Leo 7

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

@MaatUNIX: Tès bel openbox. smile

Hors ligne

#274 Le 29/06/2012, à 22:57

MaatUNIX

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Leo 7 a écrit :

@MaatUNIX: Tès bel openbox. smile

Merci à toi Leo7, c'était d'ailleurs mon dernier scrot sous OB, vive WMFS. smile


Ubuntu-fr: Une super communauté supportant le meilleure système d'exploitation jamais créé, avec ses supers admin à la con et leurs principes merdiques ! :D
http://lecitronvert.legtux.org/blog/?p=603

Hors ligne

#275 Le 30/06/2012, à 17:41

Leo 7

Re : Un screen de votre "environnement alternatif" [images < 300*300 !]

Vive le tiling ! smile

Hors ligne