Page 260 of 287 FirstFirst ... 160210250258259260261262270 ... LastLast
Results 2,591 to 2,600 of 2865

Thread: HOWTO: VinDSL Conky Script

  1. #2591
    Join Date
    Aug 2009
    Beans
    Hidden!
    Distro
    Xubuntu

    Re: HOWTO: VinDSL Conky Script

    Quote Originally Posted by PJs Ronin View Post
    @CavsFan I've seen your posts regaring Arch Linux. Might give it a shot.
    Yes, Arch Linux is the real deal. No upgrading, no clean install, it just keeps on updating as a rolling release.

    Param got us testers started with Arch and I'd suggest as your DE once you get it installed that you go with Xfce.
    It's super light but, has everything you need. Arch has all of the bleeding edge stuff too.

    Like the kernel:
    Code:
    [cavsfan@Le-Beast ~]$ uname -r
    4.12.6-1-ARCH

  2. #2592
    Join Date
    Aug 2009
    Beans
    Hidden!
    Distro
    Xubuntu

    Re: HOWTO: VinDSL Conky Script

    Just wanted to mention that if you're using Wunderground to get your weather info. They have changed their data and it doesn't show up for me any more.

    Paramvir is working on it and will have a fix for it at release version 7.0, which will be coming out in the near future I believe.

    Until then you can use Intellicast, MSN weather or Accuweather.

    Just see the conf file about how to change it if you don't already know.

    He also adding another weather source that will derive the weather based on your long/lat coordinates.
    It's pretty sweet.

    Cheers

  3. #2593
    Join Date
    Aug 2009
    Beans
    Hidden!
    Distro
    Xubuntu

    Re: HOWTO: VinDSL Conky Script

    Here is a preview of Conkywx version 7 with 19 conkys keeping track of 9 different weather locations.
    The picture does not do the conkys justice as most are scrolling and the top left conky is changing every so many seconds.

    Only seeing it or seeing a video would do the job. The eye candy going on here is phenomenal.

    Last edited by Cavsfan; September 29th, 2017 at 08:05 PM.

  4. #2594
    Join Date
    May 2011
    Location
    Belgrade, Serbia
    Beans
    57
    Distro
    Ubuntu Mate 16.04 Xenial Xerus

    Re: HOWTO: VinDSL Conky Script

    Hey guys, i've played around with conky after couple of years. I meesed up my graph colors. How to correct this? To be as usual, green for no usage red for highusage?



    Here is the bargraph_small.lua:
    Code:
    --[[
    BARGRAPH WIDGET
    v2.1 by wlourf (07 Jan. 2011)
    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 colours 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, parallel, 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 available 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
                values 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={
            {    --[ Graph for CPU1 ]--
                name="cpu",
                arg="cpu1",
                max=100,
                alarm=50,
                alarm_colour={0xFF0000,0.72},
                bg_colour={0xFFFFFF,0.25},
                fg_colour={0x00FF00,0.55},
                mid_colour={{0.45,0xFFFF00,0.70}},
                x=82,y=146,
                blocks=62,
                space=1,
                height=2,width=5,
                angle=90,
                smooth=true
                },
            {    --[ Graph for CPU2 ]--
                name="cpu",
                arg="cpu2",
                max=100,
                alarm=50,
                alarm_colour={0xFF0000,0.72},
                bg_colour={0xFFFFFF,0.25},
                fg_colour={0x00FF00,0.55},
                mid_colour={{0.45,0xFFFF00,0.70}},
                x=82,y=160,
                blocks=62,
                space=1,
                height=2,width=5,
                angle=90,
                smooth=true
                },
            {    --[ Graph for CPU3 ]--
                name="cpu",
                arg="cpu3",
                max=100,
                alarm=50,
                alarm_colour={0xFF0000,0.72},
                bg_colour={0xFFFFFF,0.25},
                fg_colour={0x00FF00,0.55},
                mid_colour={{0.45,0xFFFF00,0.70}},
                x=82,y=174,
                blocks=62,
                space=1,
                height=2,width=5,
                angle=90,
                smooth=true
                },
            {    --[ Graph for CPU4 ]--
                name="cpu",
                arg="cpu4",
                max=100,
                alarm=50,
                alarm_colour={0xFF0000,0.72},
                bg_colour={0xFFFFFF,0.25},
                fg_colour={0x00FF00,0.55},
                mid_colour={{0.45,0xFFFF00,0.70}},
                x=82,y=188,
                blocks=62,
                space=1,
                height=2,width=5,
                angle=90,
                smooth=true
                },
            {    --[ Graph for Memory ]--
                name="memperc",
                arg="",
                max=100,
                alarm=50,
                alarm_colour={0xFF0000,0.72},
                bg_colour={0xFFFFFF,0.25},
                fg_colour={0x00FF00,0.55},
                mid_colour={{0.45,0xFFFF00,0.70}},
                x=15,y=237,
                blocks=84,
                space=1,
                height=2,width=5,
                angle=90,
                smooth=true
                },
            {    --[ Graph for Root ]--
                            name="fs_used_perc",
                arg="/",
                max=100,
                alarm=50,
                alarm_colour={0xFF0000,0.72},
                bg_colour={0xFFFFFF,0.25},
                fg_colour={0x00FF00,0.55},
                mid_colour={{0.45,0xFFFF00,0.70}},
                x=15,y=282,
                blocks=84,
                space=1,
                height=2,width=5,
                angle=90,
                smooth=true
                },
            {    --[ Graph for Home ]--
                name="fs_used_perc",
                arg="/home",
                max=100,
                alarm=50,
                alarm_colour={0xFF0000,0.72},
                bg_colour={0xFFFFFF,0.25},
                fg_colour={0x00FF00,0.55},
                mid_colour={{0.45,0xFFFF00,0.70}},
                x=15,y=309,
                blocks=84,
                space=1,
                height=2,width=5,
                angle=90,
                smooth=true
                },
    
             }
    -----------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

  5. #2595
    Join Date
    Mar 2017
    Beans
    1,018

    Re: HOWTO: VinDSL Conky Script

    Quote Originally Posted by Cvetan View Post
    Hey guys, i've played around with conky after couple of years. I meesed up my graph colors. How to correct this? To be as usual, green for no usage red for highusage?
    I don't think you have messed up anything.
    Seems to be an issue with lua/cairo.

    On 16.04 your lua script displays as expected.
    Attachment 277327

    But in 17.04 I experience the same as you.
    Attachment 277328

  6. #2596
    Join Date
    May 2011
    Location
    Belgrade, Serbia
    Beans
    57
    Distro
    Ubuntu Mate 16.04 Xenial Xerus

    Re: HOWTO: VinDSL Conky Script

    How do i align bars with the text? Can't figure out that one. I aligh text from top to down ok. I experiment with voffset and get it somehow, but bars seem to be relative to something they are always off.
    I used my config from couple of years ago it worked flawlesly.


  7. #2597
    Join Date
    Apr 2011
    Location
    Mystletainn Kick!
    Beans
    13,616
    Distro
    Ubuntu

    Re: HOWTO: VinDSL Conky Script

    You need to tweak to x, y settings in the lua script
    Particularly these parts in bold.
    Code:
     {    --[ Graph for CPU1 ]--
                name="cpu",
                arg="cpu1",
                max=100,
                alarm=50,
                alarm_colour={0xFF0000,0.72},
                bg_colour={0xFFFFFF,0.25},
                fg_colour={0x00FF00,0.55},
                mid_colour={{0.45,0xFFFF00,0.70}},
                x=82,y=146,
                blocks=62,
                space=1,
                height=2,width=5,
                angle=90,
                smooth=true
                },
    More particularly, the y settings as that's the up down.
    Your x setting seems uniform.

    Basically experiment with moving all the y settings in all the lua entries you have.

    The saving grace should be that lua scripts should load instantly upon a quick save, so you shouldn't have to reload conky to see the changes you make.
    (Or at least that's how it was the last time I used a lua script)
    Splat Double Splat Triple Splat
    Earn Your Keep
    Don't mind me, I'm only passing through.
    Once in a blue moon, I'm actually helpful
    .

  8. #2598
    Join Date
    May 2011
    Location
    Belgrade, Serbia
    Beans
    57
    Distro
    Ubuntu Mate 16.04 Xenial Xerus

    Re: HOWTO: VinDSL Conky Script

    Yeah that't it. Thanks.

    Do you maybe know how to solve color issue?

    @guber2 This is on Ubuntu 16.04. 16.04.3.
    Last edited by Cvetan; October 29th, 2017 at 10:40 PM.

  9. #2599
    Join Date
    Aug 2009
    Beans
    Hidden!
    Distro
    Xubuntu

    Re: HOWTO: VinDSL Conky Script

    Quote Originally Posted by Cvetan View Post
    Yeah that't it. Thanks.

    Do you maybe know how to solve color issue?

    @guber2 This is on Ubuntu 16.04. 16.04.3.
    In Terminal type "conkywx" and then enter 2 to bring up the Wiki manual in your browser.
    Then mouse over Widget Set 2 and select Bargraph.

    You must be using the -l option with bargraph which provides the LED effect and a color red.
    The default color is green.
    Here is mine:
    Code:
    ##################################
    ##      PROCESSORS+TEMPS        ##
    ##################################
    ${voffset 4}${font DroidSans:bold:size=8}${color4}PROCESSORS+TEMPS${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 4}${font StyleBats:size=9.9}${color2}k${voffset -2}${font DroidSansFallback:size=8.39}${color0}${offset 2}CPU1${offset 5}${font DroidSans:size=8.3}${cpu cpu1}%$alignr${if_match "${template9}" == "C"}${execi 600 sensors | grep 'Core 0' | sed 's/.*+\(.*\)  \(.*\)/\1/'}${else}${execi 600 sensors -f | grep 'Core 0' | sed 's/.*+\(.*\)  \(.*\)/\1/'}${endif}${font}
    ${voffset 2}${font StyleBats:size=9.9}${color2}k${voffset -2}${font DroidSansFallback:size=8.39}${color0}${offset 2}CPU2${offset 5}${font DroidSans:size=8.3}${cpu cpu2}%$alignr${if_match "${template9}" == "C"}${execi 600 sensors | grep 'Core 1' | sed 's/.*+\(.*\)  \(.*\)/\1/'}${else}${execi 600 sensors -f | grep 'Core 1' | sed 's/.*+\(.*\)  \(.*\)/\1/'}${endif}${font}
    ${voffset 2}${font StyleBats:size=9.9}${color2}k${voffset -2}${font DroidSansFallback:size=8.39}${color0}${offset 2}CPU3${offset 5}${font DroidSans:size=8.3}${cpu cpu3}%$alignr${if_match "${template9}" == "C"}${execi 600 sensors | grep 'Core 2' | sed 's/.*+\(.*\)  \(.*\)/\1/'}${else}${execi 600 sensors -f | grep 'Core 2' | sed 's/.*+\(.*\)  \(.*\)/\1/'}${endif}${font}
    ${voffset 2}${font StyleBats:size=9.9}${color2}k${voffset -2}${font DroidSansFallback:size=8.39}${color0}${offset 2}CPU4${offset 5}${font DroidSans:size=8.3}${cpu cpu4}%$alignr${if_match "${template9}" == "C"}${execi 600 sensors | grep 'Core 3' | sed 's/.*+\(.*\)  \(.*\)/\1/'}${else}${execi 600 sensors -f | grep 'Core 3' | sed 's/.*+\(.*\)  \(.*\)/\1/'}${endif}${font}
    ${voffset 4}${font StyleBats:size=9.9}${color2}k${voffset -2}${font DroidSansFallback:size=8.39}${color0}${offset 2}GPU Temperature: $alignr${if_match "${template9}" == "C"}${execi 10 nvidia-settings -q GPUCoreTemp | awk '{if (NR==2) {print ($4*1)}}'}°C${else}${execi 10 nvidia-settings -q GPUCoreTemp | awk '{if (NR==2) {print ($4*9)/5+32}}'}°F${endif}#
    ${lua main -n bargraph -p 90,149 -w 120 -s 3 -f cpu -a cpu1}#
    ${lua main -n bargraph -p 90,164 -w 120 -s 3 -f cpu -a cpu2}#
    ${lua main -n bargraph -p 90,179 -w 120 -s 3 -f cpu -a cpu3}#
    ${lua main -n bargraph -p 90,194 -w 120 -s 3 -f cpu -a cpu4}
    I use a template9 and if it's value is C, if provides Celsius and if not Fahrenheit

  10. #2600
    Join Date
    May 2011
    Location
    Belgrade, Serbia
    Beans
    57
    Distro
    Ubuntu Mate 16.04 Xenial Xerus

    Re: HOWTO: VinDSL Conky Script

    I didn't load graphs via conkywx, but i used my old config. Plain vsdl - manual. Here is the processors part:

    Code:
    ##################
    ##  PROCESSORS  ##
    ##################
    ${voffset 6}${font DroidSans:bold:size=8}${color4}PROCESSORS${offset 8}${color4}${voffset -2}${hr 2}${font}
    ${voffset 4}${font StyleBats:size=10}${color2}k${voffset -2}${font DroidSans:size=8.4}${color3}${offset 2}CPU1${offset 5}${font DroidSans:size=8.55}${cpu cpu1}%${font}
    ${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font DroidSans:size=8.4}${color3}${offset 2}CPU2${offset 5}${font DroidSans:size=8.55}${cpu cpu2}%${font}
    ${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font DroidSans:size=8.4}${color3}${offset 2}CPU3${offset 5}${font DroidSans:size=8.55}${cpu cpu3}%${font}
    ${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font DroidSans:size=8.4}${color3}${offset 2}CPU4${offset 5}${font DroidSans:size=8.55}${cpu cpu3}%${font}
    Also anything lua related in .conkyrc is the following:
    Code:
    ####
    ## Load Lua for shading (optional).
    ## Set the path to your script here.
    #
    lua_load ~/.conky/draw_bg.lua
    lua_draw_hook_pre draw_bg
    
    ####
    ## Load Lua for bargraphs (required).
    ## Set the path to your script here.
    #
    lua_load ~/.conky/bargraph_small.lua
    lua_draw_hook_post main_bars
    I have the old scripts drawbg and bargraph. Those were the scripts from this thread. Should i load those scripts at all?
    Last edited by Cvetan; October 30th, 2017 at 12:22 AM.

Page 260 of 287 FirstFirst ... 160210250258259260261262270 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •