[QUOTE=DLM955;11090306]Thank You ,
I plan to play with the overall alignment today . I have a black and a white theme and I'm copying the changes over to the white one as I go . There were many calendar options and I tried 3+ before I discovered the Gcal option on a blog .
Changed calendar position with ${offset 4} . Now I will play with fonts .
Last edited by Frogs Hair; July 27th, 2011 at 09:35 PM. Reason: Add
"Our intention creates our reality. "
Ubuntu Documentation Search: Popular Pages
Ubuntu: Security Basics
Ubuntu: Flavors
Mine is a re-work of VinDSL's conkyrc/lua scripts.
I have adapted it for a 1920x1200 resolution, changing font sizes and spacing.
I don't use Banshee very much so I commented that out of conkyrc
I've re-sized the bar graphs to suit
I've introduced a battery state line and a battery bar graph
I've also changed the colours slightly to match my default background.
All down to VinDSL's original work really.
conkyrc
lua bar graph scriptCode:################################## ## VinDSL | rev. 11-06-01 00:27 ## ################################## ## May 2011 Series ## ################################## ## ¡PLEASE READ THE FINE PRINT! ## #### ## Development Platforms (currently) # # Ubuntu 10.10 'Maverick Meerkat' (GNOME2) # Ubuntu 11.10 'Oneiric Ocelot' (UNITY) # Screen Resolution: 1280x1024 (DELL) #### ## Prerequisites (required) # # conky-all 1.8.0 or 1.8.1 # conkyForecast 2.16 or newer # Weather.com XML Data Feed (XOAP) # UTF-8 Compatible Text Editor #### ## Installed fonts (required) # # ConkyWeather (Stanko Metodiev) # ConkyWindNESW (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) # Weather (Jonathan Macagba) # ## Tips from Mr. Peachy, djyoung4, and 42dorian: ## Download ALL of the necessary fonts listed above. ## Unzip fonts to your font folder. Example: /home/username/.fonts ## Run this command in a terminal (rebuilds cache): 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 text, single lines, output from $exec, and other variables. ## Increasing the text buffer size (too high) will drastically reduce Conky's performance. ## Decreasing the 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! # text_buffer_size 384 #### ## Daemonize Conky, aka 'fork to background'. # background yes #### ## Update interval in seconds. # update_interval 1.5 #### ## The number of times Conky will update before quitting. ## Zero makes Conky run forever. # total_run_times 0 #### ## Create own window instead of using desktop? # own_window yes #own_window_class Conky own_window_type normal own_window_transparent yes own_window_hints undecorated,below,sticky,skip_taskbar #### ## Force images to redraw when they change. # imlib_cache_size 0 #### ## Use double buffering? Reduces flicker. # double_buffer yes #### ## Draw shades? # draw_shades no #### ## 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 text area. # minimum_size 240 0 #### ## 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 white #Ivory #FFFFF0 color2 white #Ivory2 #EEEEE0 color3 white #Ivory3 #CDCDC1 color4 orange #FFA54F color5 Tan2 #EE9A49 color6 Gray #7E7E7E color7 AntiqueWhite4 #8B8378 color8 DimGray #696969 color9 Black #000000 ##### ## 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 TEXT ################################## ## LOGO ## ################################## ${color white}${offset 5}${voffset -40}${font OpenLogos:size=120}v${font}$alignr ${voffset -90}${goto 210}${color4}${font UbuntuTitleBold:style=bold:size=22}${pre_exec cat /etc/*release | grep 'RELEASE' | awk -F'=' '{print $2}'}${font} ################################## ## SYSTEM ## ################################## ${voffset 25}${font DroidSans:bold:size=12}${color4}SYSTEM${offset 8}${color8}${voffset -2}${hr 2}${font} ${voffset 5}${offset -2}${font OpenLogos:size=14}${color2}Z${voffset -4}${font DroidSans:size=12}${color3}${offset 4}${sysname}${offset 5}${kernel}${alignr}${font DroidSans:size=12}${machine}${font} ${voffset 2}${font StyleBats:size=14}${color2}q${voffset -1}${font DroidSans:size=12}${color3}${offset 5}System${offset 3}Uptime${alignr}${font DroidSans:size=12}${uptime_short}${font} ################################## ## PROCESSORS ## ################################## ${voffset 6}${font DroidSans:bold:size=12}${color4}PROCESSORS${offset 8}${color8}${voffset -2}${hr 2}${font} ${voffset 8}${font StyleBats:size=12}${color2}k${voffset -4}${font DroidSansFallback:size=12}${color3}${offset 2}CPU1${offset 5}${font DroidSans:size=12}${cpu cpu1}%${font} ${voffset 2}${font StyleBats:size=12}${color2}k${voffset -4}${font DroidSansFallback:size=12}${color3}${offset 2}CPU2${offset 5}${font DroidSans:size=12}${cpu cpu2}%${font} ################################## ## MEMORY ## ################################## ${voffset 6}${font DroidSans:bold:size=12}${color4}MEMORY${offset 8}${color8}${voffset -2}${hr 2}${font} ${voffset 5}${font StyleBats:size=12}${color2}l${voffset -2}${font DroidSansFallback:size=12}${color3}${offset 3}RAM${goto 110}${font DroidSans:size=12}${mem}${goto 150}/${offset 5}${memmax}${alignr}${memperc}%${font} ################################## ## HDD ## ################################## ${voffset 6}${font DroidSans:bold:size=14}${color4}HDD${offset 8}${color8}${voffset -2}${hr 2}${font} ${voffset 6}${font StyleBats:size=12}${color2}x${voffset -4}${font DroidSansFallback:size=12}${color3}${offset 4}ROOT${goto 110}${font DroidSans:size=12}${fs_used /}${goto 150}/${offset 5}${fs_size /}${alignr}${fs_used_perc /}%${font} ${voffset 15}${font StyleBats:size=12}${color2}x${voffset -4}${font DroidSansFallback:size=12}${color3}${offset 4}HOME${goto 110}${font DroidSans:size=12}${fs_used /home}${goto 150}/${offset 5}${fs_size /home}${alignr}${fs_used_perc /home}%${font} ################################## ## BATTERY ## ################################## ${voffset 6}${font DroidSans:bold:size=14}${color4}BATTERY${offset 8}${color8}${voffset -2}${hr 2} ${voffset -6}${font DroidSansFallback:size=12}${color1}${alignc}${battery BAT0} ################################## ## TOP PROCESSES ## ################################## ${voffset 4}${font DroidSans:bold:size=12}${color4}TOP PROCESSES${offset 8}${color8}${voffset -2}${hr 2}${font} ${voffset 4}${font StyleBats:size=12}${color1}h${voffset -3}${font DroidSans:size=12}${color3}${offset 5}${top_mem name 1}${goto 150}${font DroidSans:size=12}${top_mem mem_res 1}${alignr}${top_mem mem 1}%${font} ${voffset 2}${font StyleBats:size=12}${color1}h${voffset -3}${font DroidSans:size=12}${color3}${offset 5}${top_mem name 2}${goto 150}${font DroidSans:size=12}${top_mem mem_res 2}${alignr}${top_mem mem 2}%${font} ${voffset 2}${font StyleBats:size=12}${color1}h${voffset -3}${font DroidSans:size=12}${color3}${offset 5}${top_mem name 3}${goto 150}${font DroidSans:size=12}${top_mem mem_res 3}${alignr}${top_mem mem 3}%${font} ################################## ## NETWORK ## ################################## ${voffset 6}${font DroidSans:bold:size=12}${color4}NETWORK${offset 8}${color8}${voffset -2}${hr 2}${font} ${voffset 6}${font PizzaDudeBullets:size=11}${color2}T${font DroidSans:size=12}${color3}${offset 5}${voffset -2}Down${alignr}${font DroidSans:size=12}${downspeed wlan0}${font} ${voffset 2}${font PizzaDudeBullets:size=11}${color2}N${font DroidSans:size=11}${color3}${offset 5}${voffset -2}Up${alignr}${font DroidSans:size=12}${upspeed wlan0}${font} ${voffset 4}${font PizzaDudeBullets:size=11}${color2}T${font DroidSans:size=11}${color3}${offset 5}${voffset -2}Downloaded${alignr}${font DroidSans:size=12}${totaldown wlan0}${font} ${voffset 2}${font PizzaDudeBullets:size=11}${color2}N${font DroidSans:size=11}${color3}${offset 5}${voffset -2}Uploaded${alignr}${font DroidSans:size=12}${totalup wlan0}${font} ################################## ## WEATHER (Imperial) ## ################################## #${voffset 6}${font DroidSans:bold:size=8}${color4}WEATHER${offset 8}${color8}${voffset -2}${hr 2}${font} #${voffset 2}${goto 38}${font Weather:size=43.5}${color2}y${font} #${voffset -50}${font RadioSpace:size=32}${color3}${alignc}${execi 1800 conkyForecast -d HT -i}${font} #${voffset -33}${goto 199}${font DroidSansFallback:bold:size=7.55}${color6}H:${offset 1}${execpi 1800 conkyForecast -d HT -s 0 -ui | sed -e 's/N\/A'/'\$\{color7}TBA\$\{color6}/g'}${voffset 15}${goto 200}L:${offset 2}${execi 1800 conkyForecast -d LT -s 0 -ui}${font} #${voffset -40}${font KRARound:size=36}${color7}${goto 185}I${font} #${voffset 4}${font Ubuntu:size=23}${color4}${alignc}${execpi 1800 conkyForecast -d CT}${font} #${voffset 12}${goto 20}${font ConkyWindNESW:size=41}${color3}${execi 1800 conkyForecast -d BS}${font}${voffset -40}${goto 98}${font ConkyWeather:size=45}${execi 1800 conkyForecast -d WF}${font}${voffset -39}${goto 188}${font MoonPhases:size=32}${execi 1800 conkyForecast -d MF}${font} #${voffset 6}${goto 28}${font DroidSansFallback:bold:size=8.45}${color4}${execpi 1800 conkyForecast -d WS -i | sed -e 's/calm'/'\$\{offset 2}Calm/g' -e 's/mph'/'\$\{offset 3}mph/g'}${goto 88}Feels like ${execi 1800 conkyForecast -d LT -ui}${execpi 1800 conkyForecast -d MP| sed -e 's/First.*'/'\$\{goto 182}First Qtr/g' -e 's/Last.*'/'\$\{goto 184}Last Qtr/g' -e 's/New.*'/'\$\{goto 195}New/g' -e 's/Full.*'/'\$\{goto 195}Full/g' -e 's/Waning.*'/'\$\{goto 187}Waning/g' -e 's/Waxing.*'/'\$\{goto 187}Waxing/g'}${font} #${voffset 9}${goto 36}${font DroidSansMono:bold:size=8.35}${color3}${execi 1800 conkyForecast -d DW -s 1 -w}${goto 89}${execi 1800 conkyForecast -d DW -s 2 -w}${goto 143}${execi 1800 conkyForecast -d DW -s 3 -w}${goto 197}${execi 1800 conkyForecast -d DW -s 4 -w}${font} #${voffset 2}${goto 25}${font ConkyWeather:size=32}${color3}${execi 1800 conkyForecast -d WF -s 1 -e 4 -S 1}${font} #${voffset 0}${goto 25}${font DroidSans:bold:size=8.5}${color4}${execi 1800 conkyForecast -d HT -s 1 -ui}${offset 2}/${offset 2}${execi 1800 conkyForecast -d LT -s 1 -ui}${goto 79}${execi 1800 conkyForecast -d HT -s 2 -ui}${offset 2}/${offset 2}${execi 1800 conkyForecast -d LT -s 2 -ui}${goto 133}${execi 1800 conkyForecast -d HT -s 3 -ui}${offset 2}/${offset 2}${execi 1800 conkyForecast -d LT -s 3 -ui}${goto 187}${execi 1800 conkyForecast -d HT -s 4 -ui}${offset 2}/${offset 2}${execi 1800 conkyForecast -d LT -s 4 -ui}${font} ################################## ## WEATHER (Metric) ## ################################## ${voffset 6}${font DroidSans:bold:size=12}${color4}WEATHER${offset 8}${color8}${voffset -2}${hr 2}${font} ${voffset -2}${goto 20}${font Weather:size=43.5}${color2}y${font} ${voffset -62}${font RadioSpace:size=40}${color3}${alignc}${execi 1800 conkyForecast --location=UKXX0092 -d HT}${font} ${voffset -33}${goto 265}${font DroidSansFallback:bold:size=7.55}${color2}H:${offset 1}${execi 1800 conkyForecast --location=UKXX0092 -d HT}${voffset 15}${goto 265}L:${offset 2}${execi 1800 conkyForecast --location=UKXX0092 -d LT}${font} ${voffset -45}${font KRARound:size=43}${color2}${goto 250}I${font} ${voffset 6}${font Ubuntu:size=20}${color4}${alignc}${execi 1800 conkyForecast --location=UKXX0092 -d CT}${font} ${voffset 12}${goto 5}${font ConkyWindNESW:size=41}${color3}${execi 1800 conkyForecast --location=UKXX0092 -d BS}${font}${voffset -38}${goto 130}${font ConkyWeather:size=45}${execi 1800 conkyForecast --location=UKXX0092 -d WF}${font}${voffset -40}${goto 260}${font MoonPhases:size=32}${execi 1800 conkyForecast --location=UKXX0092 -d MF}${font} ${voffset 6}${goto 12}${font DroidSansFallback:bold:size=11}${color4}${execpi 1800 conkyForecast --location=UKXX0092 -d WS -i}${execpi 1800 conkyForecast --location=UKXX0092 -d MP | sed -e 's/First.*'/'\$\{goto 252}First Qtr/g' -e 's/Last.*'/'\$\{goto 252}Last Qtr/g' -e 's/New.*'/'\$\{goto 252}New/g' -e 's/Full.*'/'\$\{goto 252}Full/g' -e 's/Waning.*'/'\$\{goto 252}Waning/g' -e 's/Waxing.*'/'\$\{goto 252}Waxing/g'}${font} ${voffset 9}${goto 15}${font DroidSansMono:bold:size=12}${color3}${execi 1800 conkyForecast --location=UKXX0092 -d DW -s 1 -w}${goto 92}${execi 1800 conkyForecast --location=UKXX0092 -d DW -s 2 -w}${goto 169}${execi 1800 conkyForecast --location=UKXX0092 -d DW -s 3 -w}${goto 246}${execi 1800 conkyForecast --location=UKXX0092 -d DW -s 4 -w}${font} ${voffset 2}${goto 10}${font ConkyWeather:size=45}${color3}${execi 1800 conkyForecast --location=UKXX0092 -d WF -s 1 -e 4 -S 1}${font} ${voffset 0}${goto 13}${font DroidSans:bold:size=11}${color4}${execi 1800 conkyForecast --location=UKXX0092 -d HT -s 1 -u}${offset 2}/${offset 2}${execi 1800 conkyForecast --location=UKXX0092 -d LT -s 1 -u}${goto 90}${execi 1800 conkyForecast --location=UKXX0092 -d HT -s 2 -u}${offset 2}/${offset 2}${execi 1800 conkyForecast --location=UKXX0092 -d LT -s 2 -u}${goto 165}${execi 1800 conkyForecast --location=UKXX0092 -d HT -s 3 -u}${offset 2}/${offset 2}${execi 1800 conkyForecast --location=UKXX0092 -d LT -s 3 -u}${goto 240}${execi 1800 conkyForecast --location=UKXX0092 -d HT -s 4 -u}${offset 2}/${offset 2}${execi 1800 conkyForecast --location=UKXX0092 -d LT -s 4 -u}${font} ################################## ## TIME ## ################################## ${voffset 6}${font DroidSans:bold:size=12}${color4}TIME${offset 8}${color8}${voffset -2}${hr 2}${font} ${voffset -4}${font RadioSpace:size=45}${color3}${if_match ${time %l}<=9}${alignc 7}${time %l:%M %p}${else}${if_match ${time %l}>=10}${alignc -1}${time %l:%M %p}${endif}${endif}${font} ${voffset 3}${font DroidSansFallback:bold:size=12}${color4}${alignc 2}Sunrise${offset 1}${execi 1800 conkyForecast -d SR}${color3}${offset 2}|${offset 2}${color4}Sunset${offset 1}${execi 1800 conkyForecast -d SS}${font} ################################## ## CALENDAR ## ################################## ${voffset 4}${font DroidSans:bold:size=12}${color4}DATE${offset 8}${color8}${voffset -2}${hr 2}${font} ${offset 12}${voffset 20}${font DroidSansMono:size=10}${color3}${time %A}${font} ${offset 25}${voffset -4}${if_match ${time %e}<=9}${font DroidSansFallback:bold:size=28}${color5}${time %e}${font}${else}${if_match ${time %e}>=10}${font DroidSansFallback:bold:size=28}${color5}${time %e}${endif}${endif}${font} ${offset 30}${voffset 0}${font DroidSansMono:size=10}${color3}${time %B}${font} ${offset 30}${voffset 0}${font DroidSansMono:size=10}${color3}${time %Y}${font} #### ## Uncomment for Conky 1.8.0 ${voffset -85}${font DroidSansMono:size=10}${color3}${execpi 60 VinDSL_Cal_8=`date +%-d`; cal -h | sed -e '1d' -e s/^/"\$\{offset 130"\}/ -e 's/\<'"$VinDSL_Cal_8"'\>/${color4}&${color3}/'}${font} #### ## Uncomment for Conky 1.8.1 #${voffset -75}${offset 100}${font DroidSansMono:size=7.55}${color3}${execpi 60 VinDSL_Cal_8=`date +%-d`; cal -h | sed -e '1d' -e 's/\<'"$VinDSL_Cal_8"'\>/${color4}&${color3}/'}${font} ${voffset -130}${font CutOutsFor3DFX:size=85}${color8}2${font} ################################## ## RHYTHMBOX ## ################################## #${if_running rhythmbox}${voffset 21}${font DroidSans:bold:size=7.75}${color4}RHYTHMBOX${offset 8}${color8}${voffset -2}${hr 2}${endif}${font} #${if_running rhythmbox}${voffset 10}${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}${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}${endif}${endif}${font} ################################## ## BANSHEE (Experimental) ## ################################## #${if_running banshee}${voffset -5}${font DroidSans:bold:size=7.75}${color4}BANSHEE${offset 8}${color8}${voffset -2}${hr 2}${voffset 31}${endif}${font} #${if_running banshee}${voffset -28}${font DroidSans:size=8.25}${color3}${if_match "${execpi 16 expr length "`/usr/bin/banshee --query-title --no-present | cut -f1- -d " "`"}" >= "48"}${alignr}${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 " "}${endif}${endif}${font}And screenshotCode:--[[ 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=102,y=155, blocks=54, space=1, height=3,width=11, 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=102,y=173, blocks=54, space=1, height=3,width=11, 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=10,y=236, blocks=77, space=1, height=3,width=11, 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=10,y=297, blocks=77, space=1, height=3,width=11, 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=10,y=343, blocks=77, space=1, height=3,width=11, angle=90, smooth=true }, { --[ Graph for Battery ]-- name="battery_percent BAT0", arg="", max=100, alarm=-70, alarm_colour={0x00FF00,0.85}, bg_colour={0xFFFFFF,0.25}, fg_colour={0xFF0000,0.85}, mid_colour={{0.45,0xFFFF00,0.90}}, x=10,y=400, blocks=77, space=1, height=3,width=11, 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
MacBook Pro 10,1 retina
Done for today .Code:#!/usr/bin/conky -d -c ## .conkyrc configuration alignment bottom_right background yes border_margin 5 border_width 5 color0 555555 # color1 FCAF3E # zolty color2 2a2a2a # braz color3 a82553 # rozowy f71f84 color4 5e1014 # bordowy color5 64574e # braz color6 2a2a2a # szary color7 8888CC # (COOL) color8 9d9c61 # zolto-szary color9 525276 # niebiesko-szary cpu_avg_samples 2 default_color 000000 # szary 5f5f5f default_outline_color 000000 # Black default_shade_color 000000 # Black double_buffer yes draw_borders no draw_graph_borders no draw_outline no draw_shades no gap_x 30 gap_y 80 max_specials 1024 max_user_text 10000 maximum_width 200 minimum_size 175 net_avg_samples 2 no_buffers yes override_utf8_locale yes own_window override own_window_colour 000000 # Black own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager own_window_transparent yes own_window_type normal ## normal pad_percents 2 # to co nizej, miejsc po przecinku short_units yes # krotka wersja podawania wielkosci dyskow np. 612.21M/3.80G stippled_borders 3 text_buffer_size 8000 total_run_times 0 update_interval 1.0 uppercase no use_spacer right use_xft yes xftalpha 1 xftfont Freesans:pixelsize=9 lua_load /home/didisoft/.conky/lua.lua # ${diskiograph /dev/sda 15,180 a7a7a7 a7a7a7} # wskaznik pracy dysku # ${image /home/didisoft/.conky/didisoft.jpg -p 0,80 -s 26x28} # obrazki w conky TEXT ${font Acsens - U:pixelsize=18}${time %H:%M:%S}${font} ${font Acsens - U:pixelsize=12}${time %A} - ${time %B %d, %Y} ${offset 4}${font Acsens - U:pixelsize=12}${exec gcal --starting-day=monday | cut -c23-44 --complement} ${font Acsens - U:pixelsize=18}System${font} ${offset 0}${font PizzaDude Bullets:pixelsize=12}b${font} ${font Acsens - U:pixelsize=12}Uptime: $uptime_short} Linux: ${kernel} Mem: ${offset 9}$color$mem / $memmax${offset 10} ${color 111000}CPU 0 ${offset 9}$color${cpu cpu0}% ${color 111000}CPU 1 ${offset 9}$color${cpu cpu1}% Storage: ${fs_used /} / ${fs_free /} Swap: $swapperc% Signal-Eth0 Ul: ${upspeed eth0} kb/s Dl: ${downspeed eth0} kb/s ${font} ${font Acsens - U:pixelsize=18}To Do${font} ${offset 0}${font PizzaDude Bullets:pixelsize=12}b${font} ${font Acsens - U:pixelsize=12} - School ${font}
"Our intention creates our reality. "
Ubuntu Documentation Search: Popular Pages
Ubuntu: Security Basics
Ubuntu: Flavors
A nice conky....
Last edited by Frogs Hair; July 28th, 2011 at 02:19 AM.
"Our intention creates our reality. "
Ubuntu Documentation Search: Popular Pages
Ubuntu: Security Basics
Ubuntu: Flavors
Would anyone know how i can display my network-speeds as a line (tops of the graph), rather than as a graph/bar/gauge, with basic conky commands?
Thank You mrpeachy ,
I took a closer look at your suggestion today. Once I figured out how to move the calendar from the left to the right side of the screen , so it was not under an open application , it worked fine . Here is the result.
"Our intention creates our reality. "
Ubuntu Documentation Search: Popular Pages
Ubuntu: Security Basics
Ubuntu: Flavors
Bookmarks