Page 86 of 179 FirstFirst ... 3676848586878896136 ... LastLast
Results 851 to 860 of 1782

Thread: HOWTO: VinDSL Conky Script

  1. #851
    Join Date
    Aug 2010
    Location
    Arizona USA
    Beans
    2,800
    Distro
    Ubuntu Development Release

    Re: HOWTO: VinDSL Conky Script

    Here's some screenies, showing the space at the bottom with various max_user_text sizes:

    max_user_text 8192



    max_user_text 12288



    max_user_text 32768

    Intel ® P4 Extreme Edition 3.4 (Gallatin) || DFI ® LanParty PRO875B rev B1
    Crucial ® Ballistix Tracer PC4000 1GB || Mountain Mods U2-UFO Opti-1203
    XFX 7600GT 560M AGP (PV-T73A-UDF3) || Corsair HX520W Modular PSU

  2. #852
    Join Date
    Aug 2009
    Beans
    3,078
    Distro
    Ubuntu Development Release

    Re: HOWTO: VinDSL Conky Script

    I couldn't believe I found that!

    You just confirmed what that setting can do. So, I guess the default of 16384 worked fine for you.

    17408 seems to work just fine here on this 1920x1200 monitor. But, I did change it to 32768 for good measure.

    I was starting to think I was displaying too much stuff and something was going to have to go but, ended up thankfully not having to do that.
    Today I figured out a way to get the top panel and the bottom panel (in gnome classic on Quantal) to not be hidden and still display the song title.
    Had to adjust some font sizes at the top and finally figured out how to do that.
    It was displaying 12.1 instead of 12.10 at the top as it should. That got me started on trying to do this. I added the conky version while I was at it.
    Of course I had to also modify the luas to match up with everything again.

    Not sure this will work on all 4 Linux OSs. It should though I guess. I just copied the 2 files I changed to each of the other partitions.
    I'll post the screen and the files here in a few.

    It works great on all installs.
    Last edited by Cavsfan; April 8th, 2013 at 08:27 PM. Reason: Added last line.
    Check Java Version | Install Java via WEB UPD8 PPA
    Creating a Custom Maintenance Free GRUB2 Screen Community Wiki
    Ubuntu 12.04 | 14.04 | 14.10 | Mint 13 | Mint 17 | Windows 7 | All 64 bit

  3. #853
    Join Date
    Aug 2009
    Beans
    3,078
    Distro
    Ubuntu Development Release

    Re: HOWTO: VinDSL Conky Script

    Here is the screen in Quantal Quetzal 12.10 with both panels unhidden:



    Here is the .conkyrc file:

    Code:
    ###############################################
    ## VinDSL | rev. 12-11-19 11:55 | ver. 0.7.9 ##
    ###############################################
    ##          November 2012 Series             ##
    ###############################################
    
    ## ¡PLEASE READ THE FINE PRINT! ##
    
    ####
    ## Development Platforms (current)
    #
    #  Ubuntu 10.10 'Maverick Meerkat' (GNOME 2.28 - Conky 1.8.0-1)
    #  Ubuntu 13.04 'Raring Ringtail'  (GNOME-SHELL - UNITY - LXDE - Conky 1.9.0-2)
    #  Screen Resolution: 1920x1200x24 (Hanns-G HG281)
    #
    ## Tips n' Tricks: conky 1.8.1 will no longer be supported. RIP :)
    
    ####
    ## Prerequisites (required)
    #
    #  conky-all 1.8.0-1 or 1.9.0-2
    #  Conkywx 0.7.9 (Paramvir Likhari)
    #  UTF-8 Compatible Text Editor
    
    ####
    ## Installed fonts (required)
    #
    #  Arrows (JLH Fonts - not included in link below)
    #  ConkyWeather (Stanko Metodiev)
    #  Cut Outs for 3D FX (Fonts & Things)
    #  Droid Font Family (Google Android SDK)
    #  KR A Round (Kat's Fun Fonts)
    #  Moon Phases (Curtis Clark)
    #  OpenLogos (Icoma)
    #  PizzaDude Bullets (Jakob Fischer)
    #  Radio Space (Iconian Fonts)
    #  StyleBats (Vinterstille)
    #  Ubuntu Font Family (Canonical Ltd)
    #  Ubuntu Title Bold (Paulo Silva - not included in link below)
    #  Weather (Jonathan Macagba)
    # 
    ## Tips n' Tricks from: Mr. Peachy, djyoung4, and 42dorian (Thanks!)
    ## Most necessary fonts can be downloaded here: http://ompldr.org/vOHdoag
    ## Unzip the fonts into your font folder, for example: /home/username/.fonts
    ## Run this command in a terminal (rebuilds font cache file): sudo fc-cache -fv
    
    ####
    ## Use XFT? Required to Force UTF8 (see below)
    #
    use_xft yes
    xftfont DroidSans:size=8.75
    xftalpha 0.1
    
    ####
    ## Force UTF8? Requires XFT (see above)
    ## Displays degree symbol, instead of °, etc.
    #
    override_utf8_locale yes
    
    ####
    ## This buffer is used for single lines, text, output from $exec, and other variables.
    ## Increasing the 'text_buffer_size' (too high) will drastically reduce Conky's performance.
    ## Decreasing the buffer size (too low) will truncate content and cause strange display output.
    ## Standard text buffer size is 256 bytes (cannot be less). Adjust YOUR buffer wisely!
    ## Tips n' Tricks from dk75:"You don't need to create a 12KiB buffer for every Conky config line."
    #
    text_buffer_size 4352
    
    ####
    ## Maximum number of special things, e.g. fonts, offsets, aligns, etc. (default is 512)
    ## Tips n' Tricks from: sparker256 (Thanks, Bill!)
    #
    max_specials 700
    
    ####
    ## Daemonize Conky, aka 'fork to background'.
    #
    background yes
    
    ####
    ## Update interval in seconds.
    #
    update_interval 2.0
    
    ####
    ## The number of times Conky will update before quitting.
    ## Zero makes Conky run forever.
    #
    total_run_times 0
    
    ####
    ## Create 'own_window' type. Makes Conky behave like other panels.
    #
    own_window yes
    own_window_transparent yes
    own_window_type normal
    own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
    ####
    ## Some distros require the following lines for true transparency.
    ## BOTH of these lines need to be Commented/Uncommented in tandem.
    #
    own_window_argb_visual yes
    own_window_argb_value 255
    
    ####
    ## Force images to redraw when they change.
    #
    imlib_cache_size 1
    
    ####
    ## Use double buffering? Reduces flicker.
    #
    double_buffer yes
    
    ####
    ## Draw shades?
    #
    draw_shades yes
    default_shade_color 330
    
    ####
    ## Draw outlines?
    #
    draw_outline no
    
    ####
    ## Draw borders around text?
    #
    draw_borders no
    
    ####
    ## Draw borders around graphs?
    #
    draw_graph_borders no
    
    ####
    ## Print text to stdout?
    ## Print text in console?
    #
    out_to_ncurses no
    out_to_console no
    
    ####
    ## Text alignment.
    #
    alignment top_right
    
    ####
    ## Minimum size of the text area.
    ## Syntax: minimum_size [width] [height]
    #
    minimum_size 245 1394
    
    ####added by me
    ## Maximum size of user text buffer, i.e. layout below TEXT line in config file (default is 16384 bytes)
    max_user_text 32768
    
    ####
    ## Maximum width of the text area.
    ## Syntax: maximum_width [width]
    #
    maximum_width 245
    
    ####
    ## Gap between text and screen borders.
    #
    gap_x 6      # Left/Right
    gap_y 32  # Top/Bottom
    
    ####
    ## Shorten MiB/GiB to M/G in stats.
    #
    short_units yes
    
    ####
    ## Pad % symbol spacing after numbers.
    #
    pad_percents 0
    
    ####
    ## Pad spacing between text and borders.
    #
    border_inner_margin 4
    
    ####
    ## Limit the length of names in "Top Processes".
    #
    top_name_width 10
    
    ####
    ## Subtract file system -/+buffers/cache from used memory?
    ## Set to yes, to produce meaningful physical memory stats.
    #
    no_buffers yes
    
    ####
    ## Set to yes, if you want all text to be in UPPERCASE.
    #
    uppercase no
    
    ####
    ## Number of cpu samples to average.
    ## Set to 1 to disable averaging.
    #
    cpu_avg_samples 2
    
    ####
    ## Number of net samples to average.
    ## Set to 1 to disable averaging.
    #
    net_avg_samples 2
    
    ####
    ## Add spaces to keep things from moving around?
    ## Only affects certain objects.
    #
    use_spacer right
    
    ####
    ## My colors (suit yourself)
    #
    color0 White        #FFFFFF
    color1 Ivory        #FFFFF0
    color2 Ivory2        #EEEEE0
    color3 Ivory3        #CDCDC1
    color4 Tan1        #FFA54F
    color5 Tan2        #EE9A49
    color6 Gray        #7E7E7E
    color7 AntiqueWhite4    #8B8378
    color8 DimGray        #696969
    color9 Tomato        #FF6347
    # colorX OrangeRed    #FF4500
    
    #####
    ## 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_load ~/.conky/bargraph_testing.lua
    lua_draw_hook_post main_bars
    
    ####
    ## Define the locations of Conkywx files (required)
    ## Set the path to your .confs and templates here.
    #
    template0 "/usr/share/conkywx/conkywx.sh"
    template1 "/home/cavsfan/.config/conkywx/vindsl-imperial-conkywx.conf"
    template2 "/home/cavsfan/.config/conkywx/vindsl-metric-conkywx.conf"
    template3 "/home/cavsfan/.config/conkywx/wx-wu-vindsl-imperial-weather-dingbat-template.sh"
    template4 "/home/cavsfan/.config/conkywx/wx-wu-vindsl-imperial-weather-graphic-template.sh"
    template5 "/home/cavsfan/.config/conkywx/wx-wu-vindsl-metric-weather-dingbat-template.sh"
    template6 "/home/cavsfan/.config/conkywx/wx-wu-vindsl-metric-weather-graphic-template.sh"
    
    TEXT
    ##################################
    ##             LOGO             ##
    ##################################
    ## Uncomment for hard-coded ID (static)
    # ${voffset -33}${font OpenLogos:size=103}${color2}v${font}${voffset -75}${goto 179}${font UbuntuTitleBold:size=19.6}${color4}1${offset 1}2${offset 1}.${offset 0}0${offset 0}4${font}
    ####
    ## Uncomment for soft-coded ID (dynamic)
    ${voffset -30}${font OpenLogos:size=93}${color2}v${font}${voffset -75}${goto 179}${font UbuntuTitleBold:size=12.6}${color4}${pre_exec cat /etc/*release | grep 'RELEASE' | awk -F'=' '{print $2}'}${font}
    ####
    ## Additional ID (branch version, code name, release date, etc.)
    ${voffset -2}${goto 181}${font Ubuntu-B:bold:size=7.55}${color5}Conky ${conky_version}${font}
    # ${voffset 0}${goto 181}${font Ubuntu-B:size=8}${color4}Pre-Alpha${font}
    ####
    ## Uncomment to display YOUR custom graphic image (upper-right corner)
    #${voffset -30}${font OpenLogos:size=103}${color2}v${font}${voffset -52}${image /home/cavsfan/Pictures/ABC.jpg -p 180,0 -s 52x52 -n}
    ##################################
    ##            SYSTEM            ##
    ##################################
    ${voffset 7}${font DroidSans:bold:size=8.25}${color4}SYSTEM${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 4}${font OpenLogos:size=10}${color2}u${voffset -4}${font DroidSans:size=8.6}${color0}${offset 5}${pre_exec lsb_release -sd | sed -e 's/development/dev/g'}${alignr}${pre_exec lsb_release -sr}${font}
    ${voffset 2}${offset -2}${font OpenLogos:size=12}${color2}Z${voffset -4}${font DroidSans:size=8.6}${color0}${offset 3}${sysname}${offset 3}${kernel}${alignr}${font DroidSans:size=8.3}${machine}${font}
    ####
    ## Uncomment for nVidia ID (nvidia-smi version - dynamic)
    ${voffset 2}${font StyleBats:size=10}${color2}d${voffset -2}${font DroidSans:size=8.6}${color0}${offset 5}${pre_exec nvidia-smi -q | grep "Product Name" | sed -e 's/.*: /nVidia /'}${alignr}${pre_exec nvidia-smi -q | grep "Driver Version" | awk '{print $4}'}${font}
    ####
    ## Uncomment for 'nvidia-current' driver ID (DPKG version - hybrid)
    # ${voffset 2}${font StyleBats:size=10}${color2}d${voffset -2}${font DroidSans:size=8.6}${color0}${offset 5}nVidia GeForce 7600 GT${alignr}${font DroidSans:size=8.3}${pre_exec dpkg --status nvidia-current | grep Version | cut -f 1 -d '-' | sed 's/[^.,0-9]//g'}${font}
    ####
    ## Uncomment for nvidia driver ID (OpenGL version - hydrid)
    # ${voffset 2}${font StyleBats:size=10}${color2}d${voffset -2}${font DroidSans:size=8.6}${color0}${offset 5}nVidia GeForce 7600 GT${alignr}${font DroidSans:size=8.3}${pre_exec glxinfo | grep 'OpenGL version string' | sed -e 's/OpenGL.*: //' | cut -c '14-19'}${font}
    ####
    ## Uncomment for hard-coded video ID (any card / any driver - static)
    # ${voffset 2}${font StyleBats:size=10}${color2}d${voffset -2}${font DroidSans:size=8.6}${color0}${offset 5}Video Card Product Name${alignr}Driver Version${font DroidSans:size=8.3}${font}
    ####
    ## Uncomment for CPU ID / CPU frequency (hybrid)
    #${voffset 2}${font StyleBats:size=10}${color2}A${voffset -1}${font DroidSans:size=8.6}${color0}${offset 5}Intel${offset 3}Core${offset 3}2${offset 3}Quad Q9550${alignr 1}${font DroidSans:size=8.3}${freq_g cpu0}${offset 1}GHz${font}
    ${voffset 2}${font StyleBats:size=10}${color2}A${voffset -1}${font DroidSans:size=8.6}${color0}${offset 5}Intel${offset 3}Core${offset 3}2${offset 3}Quad Q9550${alignr 1}${font DroidSans:size=8.3}2.83${offset 1}GHz${font}
    ####
    ## Uncomment for System Uptime (hybrid)
    ${voffset 2}${font StyleBats:size=10}${color2}q${voffset -1}${font DroidSans:size=8.6}${color0}${offset 5}System${offset 3}Uptime${alignr}${font DroidSans:size=8.3}${uptime_short}${font}
    ## uncoment for grub version
    ${voffset 2}${font OpenLogos:size=10}${color2}u${voffset -1}${font DroidSans:size=8.6}${color0}${offset 5}Grub${offset 3}Version${alignr}${font DroidSans:size=8.3}${pre_exec grub-install -v | grep grub-install | cut -c21-42}${font}
    ##################################
    ##          PROCESSORS          ##
    ##################################
    ${voffset 4}${font DroidSans:bold:size=8}${color4}PROCESSORS${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}%${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}%${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}%${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}%${font}
    ##################################
    ##            MEMORY            ##
    ##################################
    ${voffset 5}${font DroidSans:bold:size=8}${color4}MEMORY${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 6}${font StyleBats:size=10}${color2}l${voffset -2}${font DroidSansFallback:size=8.3}${color0}${offset 3}RAM${goto 97}${font DroidSans:size=8.3}${mem}${goto 133}/${offset 5}${memmax}${alignr}${memperc}%${font}
    ##################################
    ##             HDD              ##
    ##################################
    ${voffset 15}${font DroidSans:bold:size=8}${color4}HDD${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 7}${font StyleBats:size=9.9}${color2}x${voffset -2}${font DroidSansFallback:size=8.3}${color0}${offset 4}ROOT${goto 95}${font DroidSans:size=8.3}${fs_used /}${goto 133}/${offset 5}${fs_size /}${alignr}${fs_free_perc /}%${font}
    ${voffset 16}${font StyleBats:size=9.9}${color2}x${voffset -2}${font DroidSansFallback:size=8.3}${color0}${offset 4}FANTOM USB${goto 95}${font DroidSans:size=8.3}${fs_used /media/Fantom}${goto 133}/${offset 5}${fs_size /media/Fantom}${alignr}${fs_free_perc /media/Fantom}%${font}
    ${voffset 16}${font StyleBats:size=9.9}${color2}4${voffset -2}${font DroidSansFallback:size=8.3}${color0}${offset 4}SWAP${goto 95}${font DroidSans:size=8.3}${swap}${goto 133}/${offset 5}${swapmax}${alignr}${swapperc}%${font}
    ##################################
    ##         TEMPERATURES         ##
    ##################################
    ${voffset 15}${font DroidSans:bold:size=8}${color4}CPU/GPU TEMPERATURES${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}CPU Core 1 Temp: $alignr${execi 600 sensors -f | grep 'Core 0' | awk '{print $3}' | cut -c2-9}
    ${voffset 4}${font StyleBats:size=9.9}${color2}k${voffset -2}${font DroidSansFallback:size=8.39}${color0}${offset 2}CPU Core 2 Temp: $alignr${execi 600 sensors -f | grep 'Core 1' | awk '{print $3}' | cut -c2-9}
    ${voffset 4}${font StyleBats:size=9.9}${color2}k${voffset -2}${font DroidSansFallback:size=8.39}${color0}${offset 2}CPU Core 3 Temp: $alignr${execi 600 sensors -f | grep 'Core 2' | awk '{print $3}' | cut -c2-9}
    ${voffset 4}${font StyleBats:size=9.9}${color2}k${voffset -2}${font DroidSansFallback:size=8.39}${color0}${offset 2}CPU Core 4 Temp: $alignr${execi 600 sensors -f | grep 'Core 3' | awk '{print $3}' | cut -c2-9}
    ${voffset 4}${font StyleBats:size=9.9}${color2}k${voffset -2}${font DroidSansFallback:size=8.39}${color0}${offset 2}GPU Temperature: $alignr${execi 10 nvidia-settings -q GPUCoreTemp | awk '{if (NR==2) {print ($4*9)/5+32}}'}°F
    ##################################
    ##         TOP PROCESSES        ##
    ##################################
    ${voffset 15}${font DroidSans:bold:size=8}${color4}TOP PROCESSES${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 6}${font StyleBats:size=10}${color1}h${voffset -1}${font DroidSans:size=8.65}${color0}${offset 5}${top_mem name 1}${goto 120}${font DroidSans:size=8.3}${top_mem mem_res 1}${alignr}${top_mem mem 1}%${font}
    ${voffset 1}${font StyleBats:size=10}${color1}h${voffset -1}${font DroidSans:size=8.65}${color0}${offset 5}${top_mem name 2}${goto 120}${font DroidSans:size=8.3}${top_mem mem_res 2}${alignr}${top_mem mem 2}%${font}
    ${voffset 1}${font StyleBats:size=10}${color1}h${voffset -1}${font DroidSans:size=8.65}${color0}${offset 5}${top_mem name 3}${goto 120}${font DroidSans:size=8.3}${top_mem mem_res 3}${alignr}${top_mem mem 3}%${font}
    #${voffset 1}${font StyleBats:size=10}${color1}h${voffset -1}${font DroidSans:size=8.65}${color0}${offset 5}${top_mem name 4}${goto 120}${font DroidSans:size=8.3}${top_mem mem_res 4}${alignr}${top_mem mem 4}%${font}
    #${voffset 1}${font StyleBats:size=10}${color1}h${voffset -1}${font DroidSans:size=8.65}${color0}${offset 5}${top_mem name 5}${goto 120}${font DroidSans:size=8.3}${top_mem mem_res 5}${alignr}${top_mem mem 5}%${font}
    #${voffset 1}${font StyleBats:size=10}${color1}h${voffset -1}${font DroidSans:size=8.65}${color0}${offset 5}${top_mem name 6}${goto 120}${font DroidSans:size=8.3}${top_mem mem_res 6}${alignr}${top_mem mem 6}%${font}
    #${voffset 1}${font StyleBats:size=10}${color1}h${voffset -1}${font DroidSans:size=8.65}${color0}${offset 5}${top_mem name 7}${goto 120}${font DroidSans:size=8.3}${top_mem mem_res 7}${alignr}${top_mem mem 7}%${font}
    #${voffset 1}${font StyleBats:size=10}${color1}h${voffset -1}${font DroidSans:size=8.65}${color0}${offset 5}${top_mem name 8}${goto 120}${font DroidSans:size=8.3}${top_mem mem_res 8}${alignr}${top_mem mem 8}%${font}
    #${voffset 1}${font StyleBats:size=10}${color1}h${voffset -1}${font DroidSans:size=8.65}${color0}${offset 5}${top_mem name 9}${goto 120}${font DroidSans:size=8.3}${top_mem mem_res 9}${alignr}${top_mem mem 9}%${font}
    #${voffset 1}${font StyleBats:size=10}${color1}h${voffset -1}${font DroidSans:size=8.65}${color0}${offset 5}${top_mem name 10}${goto 120}${font DroidSans:size=8.3}${top_mem mem_res 10}${alignr}${top_mem mem 8}%${font}
    ##################################
    ##          NETWORK             ##
    ##################################
    ${voffset 4}${font DroidSans:bold:size=8}${color4}NETWORK${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 4}${font PizzaDudeBullets:size=9.5}${color6}T${font DroidSans:size=8.65}${color0}${offset 5}Download${goto 120}${font DroidSans:size=8.3}${totaldown eth0}${alignr}${font DroidSans:size=8.3}${downspeed eth0}${font}
    ${voffset 0}${font PizzaDudeBullets:size=9.5}${color6}N${font DroidSans:size=8.65}${color0}${offset 5}Upload${goto 120}${font DroidSans:size=8.3}${totalup eth0}${alignr}${font DroidSans:size=8.3}${upspeed eth0}${font}
    ${voffset 4}${font PizzaDudeBullets:size=9.5}${color6}a${font DroidSans:size=8.65}${color0}${offset 5}Private${offset 3}IP${goto 123}${font DroidSansFallback:size=8.5}LAN${alignr}${font DroidSans:size=8.3}${addr eth0}${font}
    #${voffset 0}${font PizzaDudeBullets:size=9.5}${color6}a${font DroidSans:size=8.65}${color0}${offset 5}Public${offset 7}IP${goto 121}${font DroidSansFallback:size=8.5}WAN${alignr}${font DroidSans:size=8.3}${execi 1800 wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]\|.]//g'}${font}
    ${voffset 0}${font PizzaDudeBullets:size=9.5}${color6}a${font DroidSans:size=8.65}${color0}${offset 5}Public${offset 7}IP${goto 121}${font DroidSansFallback:size=8.5}WAN${alignr}${font DroidSans:size=8.3}demo mode
    ##################################
    ##      CONKYWX WEATHER         ##
    ##################################
    ${voffset 4}${font DroidSans:bold:size=8.25}${color4}CONKYWX${offset 8}${color6}${voffset -2}${hr 1}${font}
    ####
    ## Uncomment for IMPERIAL Weather Stats (DINGBAT font set).
    # ${execpi 900 ${template0} -c "${template1}" -t "${template3}"}${font}
    ####
    ## Uncomment for IMPERIAL Weather Stats (GRAPHIC icon set).
    ${execpi 900 ${template0} -c "${template1}" -t "${template4}"}${font}
    ####
    ## Uncomment for METRIC Weather Stats (DINGBAT font set).
    # ${execpi 900 ${template0} -c "${template2}" -t "${template5}"}${font}
    ####
    ## Uncomment for Metric Weather Stats (GRAPHIC icon set).
    # ${execpi 900 ${template0} -c "${template2}" -t "${template6}"}${font}
    ##################################
    ##           TIME               ##
    ##################################
    ${voffset 6}${font DroidSans:bold:size=8}${color4}TIME${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset -5}${font RadioSpace:size=32}${color0}${if_match ${time %l}<=9}${alignc 7}${time %l:%M}${offset 3}${time %p}${else}${if_match ${time %l}>=10}${alignc -1}${time %l:%M}${offset 3}${time %p}${endif}${endif}${font}
    ##################################
    ##         CALENDAR             ##
    ##################################
    ${voffset 4}${font DroidSans:bold:size=8}${color4}DATE${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 18}${font DroidSansMono:size=7.55}${color2}${alignc 60}${time %A}${font}
    ${voffset -4}${font DroidSansFallback:bold:size=18}${if_match ${time %e}<=9}${color0}${alignc 65}${time %e}${font}${else}${if_match ${time %e}>=10}${color0}${alignc 60}${time %e}${endif}${endif}${font}
    ${voffset 0}${font DroidSansMono:size=7.55}${color2}${alignc 60}${time %B}${font}
    ${voffset 0}${font DroidSansMono:size=7.6}${color2}${alignc 60}${time %Y}${font}
    ${voffset -80}${font CutOutsFor3DFX:size=67}${color7}${alignc 99}2${font}
    ####
    ## Uncomment for "SUNDAY = First Day-of-the-Week" (use mono fonts only)
    ${voffset -70}${font DroidSansMono:size=7.55}${color0}${execpi 60 VinDSL_Cal_9=`date +%-d`; cal -h | sed -e 's/\r//g' -e 's/^/ /g' -e '1d' -e s/^/"\$\{offset 100"\}/ -e 's/\<'"$VinDSL_Cal_9"'\>/${color4}&${color0}/'}
    ####
    ## Uncomment for "MONDAY = First Day-of-the-Week" (use mono fonts only)
    # ${voffset -68}${font DroidSansMono:size=7.55}${color0}${execpi 60 VinDSL_Cal_9=`date +%-d`; ncal -M -C -h | sed -e 's/\r//g' -e 's/^/ /g' -e '1d' -e s/^/"\$\{offset 100"\}/ -e 's/\<'"$VinDSL_Cal_9"'\>/${color4}&${color0}/'}
    ##################################
    ##   RHYTHMBOX (Experimental)   ##
    ##################################
    ${if_running rhythmbox}
    ${voffset -9}${font DroidSans:bold:size=8}${color4}RHYTHMBOX${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 6}${font DroidSans:size=8.25}${color0}${if_match "${execpi 2 expr length "`/usr/bin/rhythmbox-client --print-playing-format %tt | head -n 1`"}" >= "48"}${alignr 15}${scroll 38 4* ${execi 2 rhythmbox-client --print-playing-format %tt --no-start}}${font}${else}${alignc}${execi 2 rhythmbox-client --print-playing-format %tt --no-start}${font}${endif}${endif}
    ##################################
    ##    BANSHEE (Experimental)    ##
    ##################################
    ${if_running banshee}
    ${voffset -26}${font DroidSans:bold:size=8}${color4}BANSHEE${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 4}${font DroidSans:size=8.25}${color0}${if_match "${execpi 2 expr length "`/usr/bin/banshee --query-title --no-present | cut -f1- -d " "`"}" >= "48"}${alignr 15}${scroll 38 4* ${execi 2 banshee --query-title --no-present | cut -f2- -d " "}}${font}${else}${alignc}${execi 2 banshee --query-title --no-present | cut -f2- -d " "}${font}${endif}${endif}
    ##################################
    ##   GUAYADEQUE (Experimental)  ##
    ##################################
    ${if_running guayadeque}
    ${voffset -36}${font DroidSans:bold:size=8}${color4}GUAYADEQUE${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 4}${font DroidSans:size=8.25}${color0}${if_match "${execpi 2 expr length "`qdbus org.mpris.guayadeque /\Player org.freedesktop.MediaPlayer.GetMetadata | grep title | cut -f2- -d" "`"}" >= "48"}${alignr 15}${scroll 38 4* ${execi 2 qdbus org.mpris.guayadeque /\Player org.freedesktop.MediaPlayer.GetMetadata | grep title | cut -f2- -d" "}}${font}${else}${alignc}${execi 2 qdbus org.mpris.guayadeque /\Player org.freedesktop.MediaPlayer.GetMetadata | grep title | cut -f2- -d" "}${font}${endif}${endif}
    ##################################
    ##     VLC (Experimental)       ##
    ##################################
    ${if_running vlc}
    ${voffset -47}${font DroidSans:bold:size=8}${color4}VLC${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 4}${font DroidSans:size=8.25}${color3}${if_match "${execpi 2 expr length "`/usr/bin/xlsclients -l | grep "VLC media player" | cut -c -9 --complement | rev | cut -c 19- | rev`"}" >= "48"}${alignr 15}${scroll 38 4* ${execi 2 xlsclients -l | grep "VLC media player" | cut -c -9 --complement | rev | cut -c 19- | rev}}${font}${else}${alignc}${execi 2 xlsclients -l | grep "VLC media player" | cut -c -9 --complement | rev | cut -c 19- | rev}${font}${endif}${endif}
    Here is the ~/.conky/bargraph_testing.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=174,
                blocks=55,
                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=189,
                blocks=55,
                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=204,
                blocks=55,
                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=219,
                blocks=55,
                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=267,
                blocks=77,
                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=315,
                blocks=77,
                space=1,
                height=2,width=5,
                angle=90,
                smooth=true
                },    
            {    --[ Graph for Fantom USB ]--
                name="fs_used_perc",
                arg="/media/cavsfan/Fantom",
                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=344,
                blocks=77,
                space=1,
                height=2,width=5,
                angle=90,
                smooth=true
                },    
                {    --[ Graph for Swap ]--
                            name="swapperc",
                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=374,
                blocks=77,
                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
    Thanks Bro for writing the conky! I can manage to "touch up" things but, that is about my limit.
    Last edited by Cavsfan; April 8th, 2013 at 08:29 PM.
    Check Java Version | Install Java via WEB UPD8 PPA
    Creating a Custom Maintenance Free GRUB2 Screen Community Wiki
    Ubuntu 12.04 | 14.04 | 14.10 | Mint 13 | Mint 17 | Windows 7 | All 64 bit

  4. #854
    Join Date
    Aug 2010
    Location
    Arizona USA
    Beans
    2,800
    Distro
    Ubuntu Development Release

    Re: HOWTO: VinDSL Conky Script

    I redid the Rhythmbox script, and have been testing it for several days. Looks like it's working fine!

    The old Rhythmbox script used 'rhythmbox-client' to fetch the song title. It's always been problematic.

    Most recently, 'rhythmbox-client' had been causing my Conky to hard-lock.

    The new script uses MPRIS to fetch the title (MPRIS D-bus interface plugin must be enabled in Rhythmbox).


    The code...

    Code:
    ##################################
    ##  RHYTHMBOX 1 (Experimental)  ##
    ##################################
    #${if_running rhythmbox}
    #${voffset -13}${font DroidSans:bold:size=8}${color4}RHYTHMBOX${offset 8}${color6}${voffset -2}${hr 1}${font}
    #${voffset 2}${font DroidSans:size=8.25}${color3}${if_match "${execpi 2 expr length "`/usr/bin/rhythmbox-client --print-playing-format %tt | head -n 1`"}" >= "48"}${alignr 15}${scroll 38 4* ${execi 2 rhythmbox-client --print-playing-format %tt --no-start}}${font}${else}${alignc}${execi 2 rhythmbox-client --print-playing-format %tt --no-start}${font}${endif}${endif}
    ##################################
    ##  RHYTHMBOX 2 (Experimental)  ##
    ##################################
    ${if_running rhythmbox}
    ${voffset -13}${font DroidSans:bold:size=8}${color4}RHYTHMBOX${offset 8}${color6}${voffset -2}${hr 1}${font}
    ${voffset 2}${font DroidSans:size=8.25}${color3}${if_match "${execpi 2 expr length "`qdbus org.mpris.MediaPlayer2.rhythmbox /\org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep title | cut -c 14-""`"}" >= "48"}${alignr 15}${scroll 38 4* ${execi 2 qdbus org.mpris.MediaPlayer2.rhythmbox /\org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep title | cut -c 14-""}}${font}${else}${alignc}${execi 2 qdbus org.mpris.MediaPlayer2.rhythmbox /\org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Metadata | grep title | cut -c 14-""}${font}${endif}${endif}

    And, here it is in action...


    Intel ® P4 Extreme Edition 3.4 (Gallatin) || DFI ® LanParty PRO875B rev B1
    Crucial ® Ballistix Tracer PC4000 1GB || Mountain Mods U2-UFO Opti-1203
    XFX 7600GT 560M AGP (PV-T73A-UDF3) || Corsair HX520W Modular PSU

  5. #855
    Join Date
    Aug 2009
    Beans
    3,078
    Distro
    Ubuntu Development Release

    Re: HOWTO: VinDSL Conky Script

    Ironically, the old code and the new code for Rhythmbox both work really well in Precise although I am beginning to like VLC more now.
    This old and new code both do not work for me in Raring. I even rebooted and tried it. But, it's probably my install since your's works perfectly.
    I "borrowed" this command from you in another thread, I promise I'll bring it back though!

    Code:
    cavsfan@cavsfan-desktop:~$ ls -ld /var/log/installer | awk '{ print $6 " " $7 " " $8 }'
    Feb 15 09:13
    Check Java Version | Install Java via WEB UPD8 PPA
    Creating a Custom Maintenance Free GRUB2 Screen Community Wiki
    Ubuntu 12.04 | 14.04 | 14.10 | Mint 13 | Mint 17 | Windows 7 | All 64 bit

  6. #856
    Join Date
    Aug 2010
    Location
    Arizona USA
    Beans
    2,800
    Distro
    Ubuntu Development Release

    Re: HOWTO: VinDSL Conky Script

    Just curious... What player versions are you running?

    Here's my list of players:
    Code:
    vindsl@Zuul:~$ apt-cache policy rhythmbox
    rhythmbox:
      Installed: 2.99-0ubuntu1~raring1
      Candidate: 2.99-0ubuntu1~raring1
    
    vindsl@Zuul:~$ apt-cache policy vlc
    vlc:
      Installed: 2.1.0~~git20130412+r2605-0~r95~raring1
      Candidate: 2.1.0~~git20130412+r2605-0~r95~raring1
    
    vindsl@Zuul:~$ apt-cache policy banshee
    banshee:
      Installed: 2.6.0-6ubuntu1
      Candidate: 2.6.0-6ubuntu1
    
    vindsl@Zuul:~$ apt-cache policy guayadeque
    guayadeque:
      Installed: 0.3.5~oneiric-4
      Candidate: 0.3.5~oneiric-4

    And, does the VLC script work for you?




    I'm running the VLC 'master-daily' branch.

    MPRIS is kinda touchy about its entry points...
    Intel ® P4 Extreme Edition 3.4 (Gallatin) || DFI ® LanParty PRO875B rev B1
    Crucial ® Ballistix Tracer PC4000 1GB || Mountain Mods U2-UFO Opti-1203
    XFX 7600GT 560M AGP (PV-T73A-UDF3) || Corsair HX520W Modular PSU

  7. #857
    Join Date
    Aug 2009
    Beans
    3,078
    Distro
    Ubuntu Development Release

    Re: HOWTO: VinDSL Conky Script

    It is weird but on Precise and Quantal both Rhythmbox and VLC work in Classic Gnome with top and bottom panels unhidden the name of the player and the song display perfectly.
    However on Raring, I had to logout a few times and make the top and bottom panels hide. Then and only then did VLC display as it should while Ryhthmbox only displayed the player name w/o song title.

    Code:
    cavsfan@cavsfan-MS-7529:~$ apt-cache policy rhythmbox
    rhythmbox:
      Installed: 2.98-0ubuntu5
      Candidate: 2.98-0ubuntu5
      Version table:
     *** 2.98-0ubuntu5 0
            500 http://us.archive.ubuntu.com/ubuntu/ raring/main amd64 Packages
            100 /var/lib/dpkg/status
    cavsfan@cavsfan-MS-7529:~$ apt-cache policy vlc
    vlc:
      Installed: 2.0.6-1
      Candidate: 2.0.6-1
      Version table:
     *** 2.0.6-1 0
            500 http://us.archive.ubuntu.com/ubuntu/ raring/universe amd64 Packages
            100 /var/lib/dpkg/status

    I have only used Rythmbox and VLC but prefer VLC as it is a one click close whereas Rythmbox has to have multiple actions for it to close.




    I believe it is a matter of my Raring install being an early one pre-alpha and everything should be fine when I install the final release on or after April 25th.
    Seeing that the other Ubuntus conky perform as expected, which is way cool by the way.
    Check Java Version | Install Java via WEB UPD8 PPA
    Creating a Custom Maintenance Free GRUB2 Screen Community Wiki
    Ubuntu 12.04 | 14.04 | 14.10 | Mint 13 | Mint 17 | Windows 7 | All 64 bit

  8. #858
    Join Date
    Aug 2009
    Beans
    3,078
    Distro
    Ubuntu Development Release

    Re: HOWTO: VinDSL Conky Script

    See in Precise with both panels unhidden everything works perfectly.



    It even works flawlessly with Banshee in Linux Mint 14.
    Last edited by Cavsfan; April 15th, 2013 at 06:48 PM. Reason: Added last line.
    Check Java Version | Install Java via WEB UPD8 PPA
    Creating a Custom Maintenance Free GRUB2 Screen Community Wiki
    Ubuntu 12.04 | 14.04 | 14.10 | Mint 13 | Mint 17 | Windows 7 | All 64 bit

  9. #859

    Cool Conkywx 0.9.0 Released


    Conkywx Conky Weather Program in Bash Script - Conkywx 0.9.0 Released


    Many Improvements and changes ...



    Visit my blog for details http://foreverquest.blogspot.in/2013...m-conkywx.html

    Cheers

  10. #860
    Join Date
    Aug 2009
    Beans
    3,078
    Distro
    Ubuntu Development Release

    Re: HOWTO: VinDSL Conky Script

    Conkywx 0.9.0 doesn't work with Lucid but, I doubt that is worth any trouble as Lucid is reaching EOL on May 9th.
    Check Java Version | Install Java via WEB UPD8 PPA
    Creating a Custom Maintenance Free GRUB2 Screen Community Wiki
    Ubuntu 12.04 | 14.04 | 14.10 | Mint 13 | Mint 17 | Windows 7 | All 64 bit

Page 86 of 179 FirstFirst ... 3676848586878896136 ... 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
  •