Mostly fixed, just need a new weather system. So... Old tradition from years ago in this thread... Data Dump time... Sharing all files and code required for my Conky, plus a screenshot. Saving a link to this post allows me to come get said files and code again, should anything happen.
Data Dump Follows:
.conkyrc.main (System Info and Drive Stats, Icons change depending on states of cards/drives plugged in)
Code:
#-----Conky Settings
background yes
no_buffers yes
out_to_console no
top_cpu_separate no
cpu_avg_samples 2
net_avg_samples 3
total_run_times 0
update_interval 1
#-----Text Settings
uppercase no
override_utf8_locale yes
short_units no
pad_percents 0
text_buffer_size 1024
max_user_text 131072
use_xft yes
xftalpha 0.5
xftfont GpuTeks:bold:size=10
#-----Window Settings
own_window yes
own_window_transparent yes
own_window_argb_visual yes
own_window_argb_value 255
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_type normal
#-----Graphics Settings
double_buffer yes
draw_borders no
draw_graph_borders yes
draw_shades no
draw_outline no
max_specials 4096
imlib_cache_size 0
#-----Layout Settings
alignment top_right
gap_x 75
gap_y 0
maximum_width 600
minimum_size 360 180
use_spacer right
#-----Colors
default_color 808080 #Grey Default
default_outline_color ffffff #White Outlines
default_shade_color c0c0c0 #Silver Shade
color0 ff0000 #Red
color1 ffff00 #Yellow
color2 ffffff #White
color3 808080 #Grey
color4 008000 #Green
color5 c0c0c0 #Silver
color6 ffd700 #Gold
color7 000080 #Navy
color8 0000FF #Blue
color9 404040 #DarkGrey
#-----Templates
template0 TransponderAOE:bold
#-----Lua To Load
lua_load /home/dorian/Conky/Scripts/mainrings.lua
lua_draw_hook_pre draw_pos
lua_draw_hook_post draw_neg
#-----Required Fonts(For Use In This Conky. Google Search Or DaFont.com to Find Them)
#-----Diamond Fantasy
#-----TransponderAOE
TEXT#-----System Header, Conky Version(Only When Needed), and Xubuntu Graphic
${font}${color1}${pre_exec cat ~/Conky/lsb-release | awk '/DISTRIB_ID=/{print $2}'} ${pre_exec cat ~/Conky/lsb-release | awk '/DISTRIB_RELEASE=/{print $2}'} (${pre_exec cat ~/Conky/lsb-release | awk '/DISTRIB_CODENAME=/{print $2,$3}'})
${sysname} ${kernel} on ${machine}
${color2}Uptime:${goto 100}${uptime}
#${conky_version}
#-----LEDs (Indicators)
${image ~/Conky/Icons/XubuntuLogoForConky.png -p 250,0 -s 90x90}
${voffset -20}NumLock:${if_match "${exec xset q | awk '/LED/{ print $10 }'}" < "00000002"}${image ~/Conky/Icons/NUMLEDW.png -p 70,70 -s 20x20}${else}${image ~/Conky/Icons/NUMLEDY.png -p 70,70 -s 20x20}${endif}${goto 100}CapsLock:${if_match "${exec xset q | awk '/LED/{ print $10 }'}" < "00000003"}${image ~/Conky/Icons/CAPSLEDW.png -p 170,70 -s 20x20}${else}${image ~/Conky/Icons/CAPSLEDY.png -p 170,70 -s 20x20}${endif}
${voffset -25}
#-----System/Drive Info
${font}${color2}SYSTEM ${color6}${hr 1}${color2}
CPU1:${goto 55}${font ${template0}}${freq_g 1}Ghz${goto 125}${color1}${font}LOut:${goto 180}${color0}${font ${template0}}${cpu cpu1}%${font}
${color2}CPU2:${goto 55}${font ${template0}}${freq_g 2}Ghz${goto 125}${color1}${font}ROut:${goto 180}${color0}${font ${template0}}${cpu cpu2}%${font}
${color2}RAM:${goto 55}${font ${template0}}${memmax}${goto 125}${color}${font}LIn:${goto 180}${color2}${font ${template0}}${memperc}%${font}
${color2}Tmp:${goto 55}${font ${template0}}${fs_size /tmp}${goto 125}${color}${font}RIn:${goto 180}${color2}${font ${template0}}${fs_used_perc /tmp}%${font}
${color2}SWAP:${goto 55}${font ${template0}}${swapmax}${goto 125}${color5}${font}Centre:${goto 180}${color0}${font ${template0}}${swapperc}%${color2}${font}
#-----Main Drives
${color2}SYSTEM DRIVES ${color6}${hr 1}${color2}
${color2}Root:${goto 55}${font ${template0}}${fs_size /}${goto 135}${color0}${fs_used_perc /}%${goto 175}${color2}${font}Used${goto 220}${color0}
${color2}Home:${goto 55}${font ${template0}}${fs_size /home}${goto 135}${color1}${fs_used_perc /home}%${goto 175}${color2}${font}Used${goto 220}${color1}
${color2}RAID1:${goto 55}${font ${template0}}${fs_size /media/RAID1}${goto 135}${color5}${fs_used_perc /media/RAID1}%${goto 175}${color2}${font}Used${goto 220}${color5}
#-----USB Drives (Special because it checks to see if they're plugged in first.)
${color2}USB DEVICES ${color6}${hr 1}${color2}
${voffset -8}${font GpuTeks:size=12}NAME${goto 75}|${goto 85}SIZE${goto 140}|${goto 155}USED${font}${voffset -5}
${if_mounted /media/8GBACKUP1}${color2}8G1:${goto 85}${color1}${font ${template0}}${fs_size /media/8GBACKUP1}${goto 155}${color0}${fs_used_perc /media/8GBACKUP1}%${font}${image ~/Conky/Icons/USB8G1Y.png -p 235,345 -s 40x40}${else}${color2}8G1:${goto 85}${color0}${font ${template0}}N/C${font}${image ~/Conky/Icons/USB8G1R.png -p 235,345 -s 40x40}${endif}
${if_mounted /media/8GBACKUP2}${color2}8G2:${goto 85}${color1}${font ${template0}}${fs_size /media/8GBACKUP2}${goto 155}${color0}${fs_used_perc /media/8GBACKUP2}%${font}${image ~/Conky/Icons/USB8G2Y.png -p 235,385 -s 40x40}${else}${color2}8G2:${goto 85}${color0}${font ${template0}}N/C${font}${image ~/Conky/Icons/USB8G2R.png -p 235,385 -s 40x40}${endif}
${if_mounted /media/8GBACKUP3}${color2}8G3:${goto 85}${color1}${font ${template0}}${fs_size /media/8GBACKUP3}${goto 155}${color0}${fs_used_perc /media/8GBACKUP3}%${font}${image ~/Conky/Icons/USB8G3Y.png -p 195,385 -s 40x40}${else}${color2}8G3:${goto 85}${color0}${font ${template0}}N/C${font}${image ~/Conky/Icons/USB8G3R.png -p 195,385 -s 40x40}${endif}
${color2}${if_mounted /media/60}60:${goto 85}${color1}${font ${template0}}${fs_size /media/60}${goto 155}${color0}${fs_used_perc /media/60}%${font}${image ~/Conky/Icons/USB60Y.png -p 195,345 -s 40x40}${else}${color2}60:${goto 85}${color0}${font ${template0}}N/C${font}${image ~/Conky/Icons/USB60R.png -p 195,345 -s 40x40}${endif}
${color2}${if_match ${exec df -h | grep -c "SANSA CLIPP"} == 1}Sansa:${goto 85}${color1}${font ${template0}}${execi 30 df -h | awk '/SANSA CLIPP/{print $2}'}${goto 155}${color0}${execi 30 df -h | awk '/SANSA CLIPP/{print $5}' | sed 's/%//'}%${font}${image ~/Conky/Icons/SansaFull.png -p 300,340 -s 45x66}${else}${color2}Sansa:${goto 85}${color0}${font ${template0}}N/C${font}${image ~/Conky/Icons/SansaLine.png -p 300,340 -s 45x66}${endif}
${color2}${if_mounted /media/OSUSB}OSUSB:${goto 85}${color1}${font ${template0}}${fs_size /media/OSUSB}${goto 155}${color0}${fs_used_perc /media/OSUSB}%${font}${image ~/Conky/Icons/TuxY.png -p 300,500 -s 40x40}${else}${color2}OSUSB:${goto 85}${font ${template0}}${color0}N/C${font}${image ~/Conky/Icons/TuxR.png -p 300,500 -s 40x40}${endif}
${color2}${if_mounted /media/4B69-61AA}eRDR:${goto 85}${color1}${font ${template0}}${fs_size /media/4B69-61AA}${goto 155}${color0}${fs_used_perc /media/4B69-61AA}%${font}${image ~/Conky/Icons/eReaderY.png -p 300,415 -s 50x70}${else}${color2}eRDR:${goto 85}${font ${template0}}${color0}N/C${font}${image ~/Conky/Icons/eReaderR.png -p 300,415 -s 50x70}${endif}
${if_mounted /media/16GBKUP1}${color2}16GBKUP1:${goto 85}${color1}${font ${template0}}${fs_size /media/16GBKUP1}${goto 155}${color0}${fs_used_perc /media/16GBKUP1}%${font}${image ~/Conky/Icons/16GCrdY.png -p 200,440 -s 40x40}${else}${color2}16GBKUP1:${goto 85}${color0}${font ${template0}}N/C${font}${image ~/Conky/Icons/16GCrdR.png -p 200,440 -s 40x40}${endif}
${if_mounted /media/32GBAKUP1}${color2}32GBKUP1:${goto 85}${color1}${font ${template0}}${fs_size /media/32GBAKUP1}${goto 155}${color0}${fs_used_perc /media/32GBAKUP1}%${font}${image ~/Conky/Icons/32GCrdY.png -p 200,495 -s 40x40}${else}${color2}32GBKUP1:${goto 85}${color0}${font ${template0}}N/C${font}${image ~/Conky/Icons/32GCrdR.png -p 200,495 -s 40x40}${endif}
${color6}${hr 1}${color2}
.conkyrc.weather (Currently crippled due to outdated, and only partially functional weather scripts.)
Code:
#-----Conky Settings
background yes
no_buffers yes
out_to_console no
top_cpu_separate no
cpu_avg_samples 2
net_avg_samples 3
total_run_times 0
update_interval 1
#-----Text Settings
uppercase no
override_utf8_locale yes
short_units no
pad_percents 0
text_buffer_size 1024
max_user_text 32768
use_xft yes
xftalpha 0.0
xftfont GpuTeks:bold:size=10
#-----Window Settings
own_window yes
own_window_color ffffff
own_window_transparent yes
own_window_argb_visual yes
own_window_argb_value 255
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_type normal
#-----Graphics Settings
double_buffer yes
draw_borders no
draw_graph_borders yes
draw_shades no
draw_outline no
max_specials 2048
imlib_cache_size 0
#-----Layout Settings
alignment bottom_right
gap_x 40
gap_y 30
maximum_width 500
minimum_size 200 500
use_spacer right
#-----Colors
default_color 808080 #Grey Default
default_outline_color ffffff #White Outlines
default_shade_color c0c0c0 #Silver Shade
color0 ff0000 #Red
color1 ffff00 #Yellow
color2 ffffff #White
color3 808080 #Grey
color4 00ff00 #Green
color5 c0c0c0 #Silver
color6 ffd700 #Gold
color7 00ffff #Pale?
color8 0000FF #Blue
color9 404040 #DarkGrey
#-----Templates
template0 /home/dorian/
template1 Conky/Scripts/conky_wunderground2/messages.wun
template2 Conky/Scripts/conky_wunderground2/weather_icons
template3 Conky/Scripts/conky_intellicast/info
template4 Conky/Scripts/conky_intellicast/wind_dir_letters
#-----Required Fonts(For Use In This Conky. Google Search Or DaFont.com to Find Them)
#-----Diamond Fantasy
#-----TransponderAOE
#-----GpuTeks
#-----MoonPhases
#-----conkyweather
#-----ConkyWindNESW
TEXT
#-----New Weather Section.
${color2}Weather${color6}${hr 1}${color2}${execi 1800 bash ${template0}Conky/Scripts/conky_intellicast/intell_moon_sun_wind}${execi 1800 bash ${template0}Conky/Scripts/conky_wunderground2/wunderground-script}${execi 1800 bash ${template0}Conky/Scripts/conky_intellicast/intell_moon_sun_wind}
${color2}${goto 15}Today${goto 65}${execi 600 sed -n '9p' ${template0}${template1}}${goto 115}${execi 600 sed -n '17p' ${template0}${template1}}${goto 165}${execi 600 sed -n '25p' ${template0}${template1}}${goto 215}${execi 600 sed -n '33p' ${template0}${template1}}${goto 265}${execi 600 sed -n '41p' ${template0}${template1}}${goto 315}${execi 600 sed -n '49p' ${template0}${template1}}
#-----High Temp
H:${font TransponderAOE:bold:size=12}${goto 20}${color1}${execi 900 sed -n '3p' ${template0}${template1}| awk '{print $2}'}°C${goto 70}${execi 900 sed -n '11p' ${template0}${template1}| awk '{print $2}'}°C${goto 115}${execi 900 sed -n '19p' ${template0}${template1}| awk '{print $2}'}°C${goto 165}${execi 900 sed -n '27p' ${template0}${template1}| awk '{print $2}'}°C${goto 215}${execi 900 sed -n '35p' ${template0}${template1}| awk '{print $2}'}°C${goto 265}${execi 900 sed -n '43p' ${template0}${template1}| awk '{print $2}'}°C${goto 315}${execi 900 sed -n '51p' ${template0}${template1}| awk '{print $2}'}°C${font}${color2}
#-----Low Temp
L:${font TransponderAOE:bold:size=12}${goto 20}${color1}${execi 900 sed -n '7p' ${template0}${template1}| awk '{print $2}'}°C${goto 70}${execi 900 sed -n '15p' ${template0}${template1}| awk '{print $2}'}°C${goto 115}${execi 900 sed -n '23p' ${template0}${template1}| awk '{print $2}'}°C${goto 165}${execi 900 sed -n '31p' ${template0}${template1}| awk '{print $2}'}°C${goto 215}${execi 900 sed -n '39p' ${template0}${template1}| awk '{print $2}'}°C${goto 265}${execi 900 sed -n '47p' ${template0}${template1}| awk '{print $2}'}°C${goto 315}${execi 900 sed -n '55p' ${template0}${template1}| awk '{print $2}'}°C${color2}${font}
#-----Day Conditions (Icon)
DAY:${voffset 20}${color1}${font conkyweather:size=30}${goto 20}${execi 600 sed -n '1p' ${template0}${template2}}${goto 70}${execi 600 sed -n '5p' ${template0}${template2}}${goto 115}${execi 600 sed -n '9p' ${template0}${template2}}${goto 165}${execi 600 sed -n '13p' ${template0}${template2}}${goto 215}${execi 600 sed -n '17p' ${template0}${template2}}${goto 265}${execi 600 sed -n '21p' ${template0}${template2}}${goto 315}${execi 600 sed -n '25p' ${template0}${template2}}${color2}${font}
#-----Night Conditions (Icon)
NIGHT:${voffset 20}${color1}${font conkyweather:size=30}${goto 20}${execi 600 sed -n '3p' ${template0}${template2}}${goto 70}${execi 600 sed -n '7p' ${template0}${template2}}${goto 115}${execi 600 sed -n '11p' ${template0}${template2}}${goto 165}${execi 600 sed -n '15p' ${template0}${template2}}${goto 215}${execi 600 sed -n '19p' ${template0}${template2}}${goto 265}${execi 600 sed -n '23p' ${template0}${template2}}${goto 315}${execi 600 sed -n '27p' ${template0}${template2}}${color2}${font}
#-----Wind Direction (Icon)
Wind Direction:${voffset 20}${color1}${font ConkyWindNESW:size=30}${goto 20}${execi 600 sed -n '1p' ${template0}${template4}}${goto 70}${execi 600 sed -n '2p' ${template0}${template4}}${goto 115}${execi 600 sed -n '3p' ${template0}${template4}}${goto 165}${execi 600 sed -n '4p' ${template0}${template4}}${goto 215}${execi 600 sed -n '5p' ${template0}${template4}}${goto 265}${execi 600 sed -n '6p' ${template0}${template4}}${goto 315}${execi 600 sed -n '7p' ${template0}${template4}}${color2}${font}
${goto 20}${execi 600 sed -n '8p' ${template0}${template3}}${goto 70}${execi 600 sed -n '16p' ${template0}${template3}}${goto 115}${execi 600 sed -n '24p' ${template0}${template3}}${goto 165}${execi 600 sed -n '32p' ${template0}${template3}}${goto 215}${execi 600 sed -n '40p' ${template0}${template3}}${goto 265}${execi 600 sed -n '48p' ${template0}${template3}}${goto 315}${execi 600 sed -n '56p' ${template0}${template3}}${color2}${font}
${font TransponderAOE:bold:size=14}${goto 20}${execi 600 sed -n '7p' ${template0}${template3}}${goto 70}${execi 600 sed -n '15p' ${template0}${template3}}${goto 115}${execi 600 sed -n '23p' ${template0}${template3}}${goto 165}${execi 600 sed -n '31p' ${template0}${template3}}${goto 215}${execi 600 sed -n '39p' ${template0}${template3}}${goto 265}${execi 600 sed -n '47p' ${template0}${template3}}${goto 315}${execi 600 sed -n '55p' ${template0}${template3}}${color2}${font}
#-----Weather: Extended: Sunrise/Sunset
${color2}Sunrise ${font GpuTeks:size=10}(R)${font}/Sunset ${voffset -3}${font GpuTeks:size=10}(S)${color6}${hr 1}${color2}${font}
#-----Sunrise/Sunset Times
${goto 15}Today${goto 65}${execi 600 sed -n '9p' ${template0}${template3}}${goto 115}${execi 600 sed -n '17p' ${template0}${template3}}${goto 165}${execi 600 sed -n '25p' ${template0}${template3}}${goto 215}${execi 600 sed -n '33p' ${template0}${template3}}${goto 265}${execi 600 sed -n '41p' ${template0}${template3}}${goto 315}${execi 600 sed -n '49p' ${template0}${template3}}${font}
${font GpuTeks:size=10}R${goto 15}${color0}${font TransponderAOE:bold:size=10}${execi 600 sed -n '2p' ${template0}${template3}}${goto 65}${execi 600 sed -n '10p' ${template0}${template3}}${goto 115}${execi 600 sed -n '18p' ${template0}${template3}}${goto 165}${execi 600 sed -n '26p' ${template0}${template3}}${goto 215}${execi 600 sed -n '34p' ${template0}${template3}}${goto 265}${execi 600 sed -n '42p' ${template0}${template3}}${goto 315}${execi 600 sed -n '50p' ${template0}${template3}}${font}${color2}
${font GpuTeks:size=10}S${goto 15}${color6}${font TransponderAOE:bold:size=10}${execi 600 sed -n '3p' ${template0}${template3}}${goto 65}${execi 600 sed -n '11p' ${template0}${template3}}${goto 115}${execi 600 sed -n '19p' ${template0}${template3}}${goto 165}${execi 600 sed -n '27p' ${template0}${template3}}${goto 215}${execi 600 sed -n '35p' ${template0}${template3}}${goto 265}${execi 600 sed -n '43p' ${template0}${template3}}${goto 315}${execi 600 sed -n '51p' ${template0}${template3}}${font}${color2}
${color2}Moon:${color6}${hr 1}${color2}
${goto 10}${color6}${font MoonPhases:size=30}${execi 600 sed -n '1p' ${template0}Conky/Scripts/conky_intellicast/moon_phase_letters}${font}${color2}${goto 55}${voffset -20}${execi 600 sed -n '6p' ${template0}${template3}}${goto 195}Moonrise:${goto 275}${font TransponderAOE:bold:size=12}${color6}${voffset -2}${execi 600 sed -n '4p' ${template0}${template3}}${font}${color2}
${voffset 10}${color6}${hr 1}${color2}
.conkyrc.clock (Date and Time info.)
Code:
#-----Conky Settings
background yes
no_buffers yes
out_to_console no
top_cpu_separate no
cpu_avg_samples 2
net_avg_samples 3
total_run_times 0
update_interval 1
#-----Text Settings
uppercase yes
override_utf8_locale yes
short_units no
pad_percents 0
text_buffer_size 1024
max_user_text 32768
use_xft yes
xftalpha 0.5
xftfont AGaramond:size=32
#-----Window Settings
own_window yes
own_window_transparent yes
own_window_argb_visual yes
own_window_argb_value 255
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_type normal
#-----Graphics Settings
double_buffer yes
draw_borders no
draw_graph_borders yes
draw_shades no
draw_outline no
max_specials 1024
imlib_cache_size 0
#-----Layout Settings
alignment bottom_left
gap_x 280
gap_y 30
maximum_width 420
minimum_size 350 10
use_spacer right
#-----Lua Script
lua_load ~/Conky/Scripts/calendar.lua
lua_draw_hook_pre conky_draw_fig
#-----Required Fonts(For Use In This Conky. Google Search Or DaFont.com to Find Them)
#-----AGaramond
#-----TransponderAOE
#-----Colors
default_color 000000 #Black
default_outline_color ffffff #White Outlines
default_shade_color c0c0c0 #Grey Shade
color0 FF0000 #Red
color1 FFFF00 #Yellow
color2 FFFFFF #White
color3 808080 #Grey
color4 00FF00 #Green
color5 C0C0C0 #Silver
color6 FFD700 #Gold
color7 0000FF #Blue
color8 000080 #Navy
TEXT#-----This Entire Conky Script Is For a Clock. Yes. I Have Wasted an Entire Conky for this drivel.
${font AGaramond:bold:size=25}${goto 130}${color0}Time
${voffset -30}${color6}${hr 1}${color2}
${font TransponderAOE:size=60}${color7}${voffset -25}${goto 10}${time %l:%M:%S %p}
#-----Calendar by dk75: date box/mrpeachy: calendar body
${voffset -65}${font AGaramond:bold:size=16}${color0}${goto 5}Calendar:${goto 140}${execpi 60 date +'%B${offset 6}%Y'}
${voffset -15}${color6}${hr 1}${color2}
${lua conky_draw_box}
${voffset 135}${color6}${hr 1}${color2}]
.conkyrc.network (Networking activity, and bandwith cap monitoring.)
Code:
#-----Conky Settings
background yes
no_buffers yes
out_to_console no
top_cpu_separate no
cpu_avg_samples 2
net_avg_samples 3
total_run_times 0
update_interval 1
#-----Text Settings
uppercase no
override_utf8_locale yes
short_units no
pad_percents 0
text_buffer_size 1024
max_user_text 65536
use_xft yes
xftalpha 0.5
xftfont GpuTeks:bold:size=10
#-----Window Settings
own_window yes
own_window_transparent yes
own_window_argb_visual yes
own_window_argb_value 255
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_type normal
#-----Graphics Settings
double_buffer yes
draw_borders no
draw_graph_borders yes
draw_shades no
draw_outline no
max_specials 4096
imlib_cache_size 0
#-----Layout Settings
alignment bottom_right
gap_x 445
gap_y 65
maximum_width 600
minimum_size 320 100
use_spacer right
#-----Colors
default_color 808080 #Grey Default
default_outline_color ffffff #White Outlines
default_shade_color c0c0c0 #Silver Shade
color0 ff0000 #Red
color1 ffff00 #Yellow
color2 ffffff #White
color3 808080 #Grey
color4 008000 #Green
color5 c0c0c0 #Silver
color6 ffd700 #Gold
color7 000080 #Navy
color8 0000FF #Blue
color9 404040 #DarkGrey
#-----Lua To Load
lua_load /home/dorian/Conky/Scripts/network.lua
lua_draw_hook_pre conky_draw_netring
#-----Required Fonts(For Use In This Conky. Google Search Or DaFont.com to Find Them)
#-----Diamond Fantasy
#-----TransponderAOE
TEXT
#-----Network Info
${goto 115}${color2}NETWORK TRAFFIC: ${nodename}${color6}${color2}
${color2}${goto 115}${font TransponderAOE:bold:size=12}|${image ~/Conky/Icons/TrafficIn.png -p 130,10 -s 70x30}${goto 205}|${image ~/Conky/Icons/TrafficOut.png -p 210,10 -s 70x30}
${goto 115}${addr eth0}
${goto 115}|${goto 130}${color4}${downspeed eth0}${goto 190}/s${goto 205}${color2}|${goto 220}${color1}${upspeed eth0}${goto 275}/s${image ~/Conky/Icons/Globe.png -p 290,60 -s 20x20}
${color2}${goto 115}${addr eth1}
${goto 115}|${goto 130}${color4}${downspeed eth1}${goto 190}/s${goto 205}${color2}|${goto 220}${color1}${upspeed eth1}${goto 275}/s${image ~/Conky/Icons/Private.png -p 290,100 -s 20x20}
${color2}${goto 115}${addr pan1}
${goto 115}|${goto 130}${color4}${downspeed pan1}${goto 190}/s${goto 205}${color2}|${goto 220}${color1}${upspeed pan1}${goto 275}/s${image ~/Conky/Icons/bluetooth.png -p 290,145 -s 20x20}
#-----Monthly/Daily Bandwidth Usage
${font}${color2}NETWORK DATA USE${color6}${hr 1}${color2}
${goto 35}${color2}Today${goto 125}Monthly
${color2}${goto 15}U:${goto 30}${color1}${font TransponderAOE:bold:size=12}${execi 60 vnstat -d | awk '$0 ~ "'$(date +%D)'" {print $5}'}${goto 85}${execi 60 vnstat -d | awk '$0 ~ "'$(date +%D)'" {print $6}'}${goto 120}${if_match ${time %-e}>=11}${execi 60 vnstat -m | awk '$0 ~ "'$(date +%b..%y)'" {print $6}'}${goto 175}${execi 60 vnstat -m | awk '$0 ~ "'$(date +%b..%y)'" {print $7}'}${else}${if_match ${time %m}==01}${execi 60 vnstat -m | awk '/Dec/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/Dec/{print $7}'}${else}${if_match ${time %m}==02}${execi 60 vnstat -m | awk '/Jan/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/Jan/{print $7}'}${else}${if_match ${time %m}==03}${execi 60 vnstat -m | awk '/Feb/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/Feb/{print $7}'}${else}${if_match ${time %m}==04}${execi 60 vnstat -m | awk '/Mar/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/Mar/{print $7}'}${else}${if_match ${time %m}==05}${execi 60 vnstat -m | awk '/Apr/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/Apr/{print $7}'}${else}${if_match ${time %m}==06}${execi 60 vnstat -m | awk '/May/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/May/{print $7}'}${else}${if_match ${time %m}==07}${execi 60 vnstat -m | awk '/Jun/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/Jun/{print $7}'}${else}${if_match ${time %m}==08}${execi 60 vnstat -m | awk '/Jul/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/Jul/{print $7}'}${else}${if_match ${time %m}==09}${execi 60 vnstat -m | awk '/Aug/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/Aug/{print $7}'}${else}${if_match ${time %m}==10}${execi 60 vnstat -m | awk '/Sep/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/Sep/{print $7}'}${else}${if_match ${time %m}==11}${execi 60 vnstat -m | awk '/Oct/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/Oct/{print $7}'}${else}${if_match ${time %m}==12}${execi 60 vnstat -m | awk '/Nov/{print $6}'}${goto 175}${execi 60 vnstat -m | awk '/Nov/{print $7}'}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${color2}${font}
${color2}${goto 15}D:${goto 30}${color4}${font TransponderAOE:bold:size=12}${execi 60 vnstat -d | awk '$0 ~ "'$(date +%D)'" {print $2}'}${goto 85}${execi 60 vnstat -d | awk '$0 ~ "'$(date +%D)'" {print $3}'}${goto 120}${if_match ${time %-e}>=11}${execi 60 vnstat -m | awk '$0 ~ "'$(date +%b..%y)'" {print $3}'}${goto 175}${execi 60 vnstat -m | awk '$0 ~ "'$(date +%b..%y)'" {print $4}'}${else}${if_match ${time %m}==01}${execi 60 vnstat -m | awk '/Dec/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/Dec/{print $4}'}${else}${if_match ${time %m}==02}${execi 60 vnstat -m | awk '/Jan/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/Jan/{print $4}'}${else}${if_match ${time %m}==03}${execi 60 vnstat -m | awk '/Feb/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/Feb/{print $4}'}${else}${if_match ${time %m}==04}${execi 60 vnstat -m | awk '/Mar/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/Mar/{print $4}'}${else}${if_match ${time %m}==05}${execi 60 vnstat -m | awk '/Apr/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/Apr/{print $4}'}${else}${if_match ${time %m}==06}${execi 60 vnstat -m | awk '/May/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/May/{print $4}'}${else}${if_match ${time %m}==07}${execi 60 vnstat -m | awk '/Jun/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/Jun/{print $4}'}${else}${if_match ${time %m}==08}${execi 60 vnstat -m | awk '/Jul/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/Jul/{print $4}'}${else}${if_match ${time %m}==09}${execi 60 vnstat -m | awk '/Aug/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/Aug/{print $4}'}${else}${if_match ${time %m}==10}${execi 60 vnstat -m | awk '/Sep/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/Sep/{print $4}'}${else}${if_match ${time %m}==11}${execi 60 vnstat -m | awk '/Oct/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/Oct/{print $4}'}${else}${if_match ${time %m}==12}${execi 60 vnstat -m | awk '/Nov/{print $3}'}${goto 175}${execi 60 vnstat -m | awk '/Nov/{print $4}'}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${color2}${font}
${color2}${goto 15}T:${goto 30}${color5}${font TransponderAOE:bold:size=12}${execi 60 vnstat -d | awk '$0 ~ "'$(date +%D)'" {print $8}'}${goto 85}${execi 60 vnstat -d | awk '$0 ~ "'$(date +%D)'" {print $9}'}${goto 120}${if_match ${time %-e}>=11}${execi 60 vnstat -m | awk '$0 ~ "'$(date +%b..%y)'" {print $9}'}${goto 175}${execi 60 vnstat -m | awk '$0 ~ "'$(date +%b..%y)'" {print $10}'}${else}${if_match ${time %m}==01}${execi 60 vnstat -m | awk '/Dec/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/Dec/{print $10}'}${else}${if_match ${time %m}==02}${execi 60 vnstat -m | awk '/Jan/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/Jan/{print $10}'}${else}${if_match ${time %m}==03}${execi 60 vnstat -m | awk '/Feb/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/Feb/{print $10}'}${else}${if_match ${time %m}==04}${execi 60 vnstat -m | awk '/Mar/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/Mar/{print $10}'}${else}${if_match ${time %m}==05}${execi 60 vnstat -m | awk '/Apr/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/Apr/{print $10}'}${else}${if_match ${time %m}==06}${execi 60 vnstat -m | awk '/May/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/May/{print $10}'}${else}${if_match ${time %m}==07}${execi 60 vnstat -m | awk '/Jun/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/Jun/{print $10}'}${else}${if_match ${time %m}==08}${execi 60 vnstat -m | awk '/Jul/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/Jul/{print $10}'}${else}${if_match ${time %m}==09}${execi 60 vnstat -m | awk '/Aug/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/Aug/{print $10}'}${else}${if_match ${time %m}==10}${execi 60 vnstat -m | awk '/Sep/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/Sep/{print $10}'}${else}${if_match ${time %m}==11}${execi 60 vnstat -m | awk '/Oct/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/Oct/{print $10}'}${else}${if_match ${time %m}==12}${execi 60 vnstat -m | awk '/Nov/{print $9}'}${goto 175}${execi 60 vnstat -m | awk '/Nov/{print $10}'}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${endif}${font}${color2}${font}
${lua conky_draw_box}
${voffset -20}${color6}${hr 1}${color2}
.conkyrc.CPU (CPU Fan Speed and Temp monitor)
Code:
#-----Conky Settings
background yes
no_buffers yes
out_to_console no
top_cpu_separate no
cpu_avg_samples 2
net_avg_samples 3
total_run_times 0
update_interval 1
#-----Text Settings
uppercase no
override_utf8_locale yes
short_units no
pad_percents 0
text_buffer_size 1024
max_user_text 65536
use_xft yes
xftalpha 0.5
xftfont GpuTeks:bold:size=10
#-----Window Settings
own_window yes
own_window_transparent yes
own_window_argb_visual yes
own_window_argb_value 255
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_type normal
#-----Graphics Settings
double_buffer yes
draw_borders no
draw_graph_borders yes
draw_shades no
draw_outline no
max_specials 4096
imlib_cache_size 0
#-----Layout Settings
alignment top_middle
gap_x -430
gap_y 80
maximum_width 600
minimum_size 125 100
use_spacer right
#-----Colors
default_color 808080 #Grey Default
default_outline_color ffffff #White Outlines
default_shade_color c0c0c0 #Silver Shade
color0 ff0000 #Red
color1 ffff00 #Yellow
color2 ffffff #White
color3 808080 #Grey
color4 008000 #Green
color5 c0c0c0 #Silver
color6 ffd700 #Gold
color7 000080 #Navy
color8 0000FF #Blue
color9 404040 #DarkGrey
#-----Required Fonts(For Use In This Conky. Google Search Or DaFont.com to Find Them)
#-----Diamond Fantasy
#-----TransponderAOE
TEXT
${font}${color2}CPU TEMP: ${color6}${hr 1}${color2}
${offset -10}${color0}${font ConkyWeather:size=40}E${font TransponderAOE:bold:size=20}${voffset -5}${goto 40}${color}${voffset -10}${execi 5 sensors | awk '/temp1:/{print $2}'}
${font TransponderAOE:bold:size=20}${voffset 10}${goto 40}${color}${voffset -10}${execi 5 sensors | awk '/fan1:/{print $2}'} RPM
${image /home/dorian/Conky/Icons/FanSymbol.png -p 5,65 -s 25x25}
${voffset -50}${color6}${hr 1}${color2}
mainrings.lua (LUA arcs and rings, both clockwise and counter-clockwise, used in .conkyrc.main)
Code:
require 'cairo'
function draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
local angle_0=rstart*(2*math.pi/360)-math.pi/2
local angle_f=rend*(2*math.pi/360)-math.pi/2
local t_arc=(co/100)*(angle_f-angle_0)
-- Draw background ring
cairo_arc(cr,across,down,rad,angle_0,angle_f)
cairo_set_source_rgba(cr,bgr,bgg,bgb,bga)
cairo_set_line_width(cr,inlw)
cairo_stroke(cr)
-- Draw indicator ring
cairo_arc(cr,across,down,rad,angle_0,angle_0+t_arc)
cairo_set_source_rgba(cr,inr,ing,inb,ina)
cairo_stroke(cr)
end
function conky_draw_pos()
if conky_window == nil then return end
if cs == nil or cairo_xlib_surface_get_width(cs) ~= conky_window.width or cairo_xlib_surface_get_height(cs) ~= conky_window.height then
if cs then cairo_surface_destroy(cs) end
cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
end
if cr then cairo_destroy(cr) end
cr = cairo_create(cs)
local updates=tonumber(conky_parse('${updates}'))
if updates>=5 then
--SETUP:CPU1 Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
co=tonumber(conky_parse('${cpu cpu1}'))
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=290
down=165
--radius of ring-----------------------
rad=50
--ring width---------------------------
inlw=10
--start and end angles---------------
rstart=180
rend=360
--color and alpha for indicator----
inr,ing,inb,ina=1,0,0,1
--background ring color and alpha-----
bgr,bgg,bgb,bga=1,1,0,1
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:RAM Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
co=tonumber(conky_parse('${memperc}'))
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=290
down=165
--radius of ring-----------------------
rad=35
--ring width---------------------------
inlw=10
--start and end angles---------------
rstart=-180
rend=0
--color and alpha for indicator----
inr,ing,inb,ina=1,1,1,1.0
--background ring color and alpha-----
bgr,bgg,bgb,bga=0.5,0.5,0.5,1.0
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:SWAP Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
co=tonumber(conky_parse('${swapperc}'))
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=290
down=165
--radius of ring-----------------------
rad=20
--ring width---------------------------
inlw=10
--start and end angles---------------
rstart=-135
rend=135
--color and alpha for indicator----
inr,ing,inb,ina=1,0,0,1.0
--background ring color and alpha-----
bgr,bgg,bgb,bga=1,1,1,0.75
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:8GBACKUP3 Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
mounted=conky_parse('${if_mounted /media/8GBACKUP3}1${else}0${endif}')
if tonumber(mounted)==1 then
co=tonumber(conky_parse('${fs_used_perc /media/8GBACKUP3}'))
else
co=0
end
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=240
down=390
--radius of ring-----------------------
rad=45
--ring width---------------------------
inlw=5
--start and end angles---------------
rstart=180
rend=270
--color and alpha for indicator----
inr,ing,inb,ina=1,0,0,1.0
--background ring color and alpha-----
mounted=conky_parse('${if_mounted /media/8GBACKUP3}1${else}0${endif}')
if tonumber(mounted)==1 then
bgr,bgg,bgb,bga=0.75,0.75,0,1.0
else
bgr,bgg,bgb,bga=1,1,1,1.0
end
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:60 Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
mounted=conky_parse('${if_mounted /media/60}1${else}0${endif}')
if tonumber(mounted)==1 then
co=tonumber(conky_parse('${fs_used_perc /media/60}'))
else
co=0
end
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=240
down=390
--radius of ring-----------------------
rad=45
--ring width---------------------------
inlw=5
--start and end angles---------------
rstart=270
rend=360
--color and alpha for indicator----
inr,ing,inb,ina=1,0,0,1.0
--background ring color and alpha-----
mounted=conky_parse('${if_mounted /media/60}1${else}0${endif}')
if tonumber(mounted)==1 then
bgr,bgg,bgb,bga=0.75,0.75,0,1.0
else
bgr,bgg,bgb,bga=1,1,1,1.0
end
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:Sansa Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
wtimer=(updates % 30)+1
if updates>=6 or wtimer==1 then
mounted=conky_parse("${if_match ${exec df -h | grep -c 'SANSA CLIPP'} == 1}1${else}0${endif}")
end
if tonumber(mounted)==1 then
co=tonumber(conky_parse("${exec df -h | grep 'SANSA CLIPP' | awk '{print $5}' | sed 's/%//'}"))
else
co=0
end
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=328
down=390
--radius of ring-----------------------
rad=5
--ring width---------------------------
inlw=5
--start and end angles---------------
rstart=-180
rend=180
--color and alpha for indicator----
inr,ing,inb,ina=1,0.75,0,1.0
--background ring color and alpha-----
bgr,bgg,bgb,bga=0,0,0,0.0
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:OS USB Stick Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
mounted=conky_parse('${if_mounted /media/OSUSB}1${else}0${endif}')
if tonumber(mounted)==1 then
co=tonumber(conky_parse('${fs_used_perc /media/OSUSB}'))
else
co=0
end
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=325
down=530
--radius of ring-----------------------
rad=5
--ring width---------------------------
inlw=5
--start and end angles---------------
rstart=-180
rend=180
--color and alpha for indicator----
inr,ing,inb,ina=1,0,0,1.0
--background ring color and alpha-----
bgr,bgg,bgb,bga=0,0,0,0.0
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:eReader Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
mounted=conky_parse('${if_mounted /media/4B69-61AA}1${else}0${endif}')
if tonumber(mounted)==1 then
co=tonumber(conky_parse('${fs_used_perc /media/4B69-61AA}'))
else
co=0
end
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=330
down=450
--radius of ring-----------------------
rad=10
--ring width---------------------------
inlw=10
--start and end angles---------------
rstart=-180
rend=180
--color and alpha for indicator----
inr,ing,inb,ina=1,1,1,1.0
--background ring color and alpha-----
bgr,bgg,bgb,bga=0,0,0,1.0
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:16GBKUP1 Card Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
mounted=conky_parse('${if_mounted /media/16GBKUP1}1${else}0${endif}')
if tonumber(mounted)==1 then
co=tonumber(conky_parse('${fs_used_perc /media/16GBKUP1}'))
else
co=0
end
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=225
down=465
--radius of ring-----------------------
rad=25
--ring width---------------------------
inlw=5
--start and end angles---------------
rstart=180
rend=540
--color and alpha for indicator----
inr,ing,inb,ina=1,0,0,1.0
--background ring color and alpha-----
mounted=conky_parse('${if_mounted /media/16GBKUP1}1${else}0${endif}')
if tonumber(mounted)==1 then
bgr,bgg,bgb,bga=0.75,0.75,0,1.0
else
bgr,bgg,bgb,bga=1,1,1,1.0
end
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:32GBAKUP1 Card Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
mounted=conky_parse('${if_mounted /media/32GBAKUP1}1${else}0${endif}')
if tonumber(mounted)==1 then
co=tonumber(conky_parse('${fs_used_perc /media/32GBAKUP1}'))
else
co=0
end
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=225
down=520
--radius of ring-----------------------
rad=25
--ring width---------------------------
inlw=5
--start and end angles---------------
rstart=180
rend=540
--color and alpha for indicator----
inr,ing,inb,ina=1,0,0,1.0
--background ring color and alpha-----
mounted=conky_parse('${if_mounted /media/32GBAKUP1}1${else}0${endif}')
if tonumber(mounted)==1 then
bgr,bgg,bgb,bga=0.75,0.75,0,1.0
else
bgr,bgg,bgb,bga=1,1,1,1.0
end
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
end
end
--NEGATIVE ARCS-------------------------------------------------------------------------------------------
require 'cairo'
function draw_ring_neg(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
local angle_0=rstart*(2*math.pi/360)-math.pi/2
local angle_f=rend*(2*math.pi/360)-math.pi/2
local t_arc=(co/100)*(angle_f-angle_0)
-- Draw background ring
cairo_arc(cr,across,down,rad,angle_0,angle_f)
cairo_set_source_rgba(cr,bgr,bgg,bgb,bga)
cairo_set_line_width(cr,inlw)
cairo_stroke(cr)
-- Draw indicator ring
local angle_0_r=rend*(2*math.pi/360)-math.pi/2
local angle_f_r=rstart*(2*math.pi/360)-math.pi/2
local t_arc=(co/100)*(angle_f_r-angle_0_r)
cairo_arc_negative(cr,across,down,rad,angle_0_r,angle_0_r+t_arc)
cairo_set_source_rgba(cr,inr,ing,inb,ina)
cairo_stroke(cr)
end
function conky_draw_neg()
if conky_window == nil then return end
if cs == nil or cairo_xlib_surface_get_width(cs) ~= conky_window.width or cairo_xlib_surface_get_height(cs) ~= conky_window.height then
if cs then cairo_surface_destroy(cs) end
cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
end
if cr then cairo_destroy(cr) end
cr = cairo_create(cs)
local updates=tonumber(conky_parse('${updates}'))
if updates>=5 then
--SETUP:CPU2 Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
co=tonumber(conky_parse('${cpu cpu2}'))
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=290
down=165
--radius of ring-----------------------
rad=50
--ring width---------------------------
inlw=10
--start and end angles---------------
rstart=0
rend=180
--color and alpha for indicator----
inr,ing,inb,ina=1,0,0,1
--background ring color and alpha-----
bgr,bgg,bgb,bga=1,1,0,1
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_neg(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:TMP Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
co=tonumber(conky_parse('${fs_used_perc /tmp}'))
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=290
down=165
--radius of ring-----------------------
rad=35
--ring width---------------------------
inlw=10
--start and end angles---------------
rstart=0
rend=180
--color and alpha for indicator----
inr,ing,inb,ina=1,1,1,1.0
--background ring color and alpha-----
bgr,bgg,bgb,bga=0.5,0.5,0.5,1.0
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_neg(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:8GBACKUP1 Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
mounted=conky_parse('${if_mounted /media/8GBACKUP1}1${else}0${endif}')
if tonumber(mounted)==1 then
co=tonumber(conky_parse('${fs_used_perc /media/8GBACKUP1}'))
else
co=0
end
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=240
down=390
--radius of ring-----------------------
rad=45
--ring width---------------------------
inlw=5
--start and end angles---------------
rstart=0
rend=90
--color and alpha for indicator----
inr,ing,inb,ina=1,0,0,1.0
--background ring color and alpha-----
mounted=conky_parse('${if_mounted /media/8GBACKUP1}1${else}0${endif}')
if tonumber(mounted)==1 then
bgr,bgg,bgb,bga=0.75,0.75,0,1.0
else
bgr,bgg,bgb,bga=1,1,1,1.0
end
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_neg(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:8GBACKUP2 Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
mounted=conky_parse('${if_mounted /media/8GBACKUP2}1${else}0${endif}')
if tonumber(mounted)==1 then
co=tonumber(conky_parse('${fs_used_perc /media/8GBACKUP2}'))
else
co=0
end
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=240
down=390
--radius of ring-----------------------
rad=45
--ring width---------------------------
inlw=5
--start and end angles---------------
rstart=90
rend=180
--color and alpha for indicator----
inr,ing,inb,ina=1,0,0,1.0
--background ring color and alpha-----
mounted=conky_parse('${if_mounted /media/8GBACKUP2}1${else}0${endif}')
if tonumber(mounted)==1 then
bgr,bgg,bgb,bga=0.75,0.75,0,1.0
else
bgr,bgg,bgb,bga=1,1,1,1.0
end
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_neg(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:Root Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
co=tonumber(conky_parse('${fs_used_perc /}'))
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=200
down=285
--radius of ring-----------------------
rad=50
--ring width---------------------------
inlw=10
--start and end angles---------------
rstart=45
rend=135
--color and alpha for indicator----
inr,ing,inb,ina=1,0,0,1.0
--background ring color and alpha-----
bgr,bgg,bgb,bga=1,1,1,0.25
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_neg(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:Home Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
co=tonumber(conky_parse('${fs_used_perc /home}'))
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=230
down=285
--radius of ring-----------------------
rad=50
--ring width---------------------------
inlw=10
--start and end angles---------------
rstart=45
rend=135
--color and alpha for indicator----
inr,ing,inb,ina=1,0.725,0,1.0
--background ring color and alpha-----
bgr,bgg,bgb,bga=1,1,1,0.25
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_neg(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
--SETUP:RAID1 Ring-----------------------------------------------------------------------------
--conky object to be displayed-----
co=tonumber(conky_parse('${fs_used_perc /media/RAID1}'))
if co==nil then co=0 end
--max number--------------------------
max=100
--position-----------------------------
across=260
down=285
--radius of ring-----------------------
rad=50
--ring width---------------------------
inlw=10
--start and end angles---------------
rstart=45
rend=135
--color and alpha for indicator----
inr,ing,inb,ina=0.5,0.5,0.5,1.0
--background ring color and alpha-----
bgr,bgg,bgb,bga=1,1,1,0.25
--calculation, do not edit below---------
co=(co/max)*100
draw_ring_neg(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
--END SETUP---------------copy setup section and paste for additional rings----------
end
end
calendar.lua (Calendar and Date Box lua functions used in .conkyrc.clock)
Code:
--lua calendar script by mrpeachy version 3, 03/04/2011
--fixed issue where months beginning on saturday would not have last dates printed
--added previous and next month dates within calendar
--condensed code, hopefully will run lighter also
--fixed ability to rotate and keep box in right place
require 'cairo'
--------------------------------------------------------------------------------
function conky_draw_fig(cs, cr)
if conky_window == nil then return end
if cs == nil or cairo_xlib_surface_get_width(cs) ~= conky_window.width or cairo_xlib_surface_get_height(cs) ~= conky_window.height then
if cs then cairo_surface_destroy(cs) end
cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
end
if cr then cairo_destroy(cr) end
cr = cairo_create(cs)
local updates=tonumber(conky_parse('${updates}'))
--####################################################################################################
if updates>5 then -- starts the display
--####################################################################################################
--title text color
tred,tgreen,tblue,talpha=1,0,0,1
--title text font
tfont="TransponderAOE"
--title text size
tfontsize=20
--title font bold? Set to 1 for bold font
tfbold=1
--###################################################
--main body text color
bred,bgreen,bblue,balpha=0,0,0.753,1
--main body text font
mfont="TransponderAOE"
--main body text size
mfontsize=20
--main body font bold? Set to 1 for bold font
mfbold=1
--###################################################
--highlight text color
hred,hgreen,hblue,halpha=1,1,0,1
--highlight font
hfont="TransponderAOE"
--highlight size
hfontsize=20
--Highlight font bold? Set to 1 for bold font
hfbold=1
--###################################################
--surrounding numbers 1=on, 0=off
surround=1
--surrounding dates text color
sred,sgreen,sblue,salpha=1,0.723,0,1
--surrounding font
sfont="TransponderAOE"
--surounding size
sfontsize=20
--bold?
sfbold=0
--###################################################
--indicator box enter 1 for box or 0 for no box
box=1
--use the following 2 numbers to adjust box position
xadjust=2.5
yadjust=5
--set the box dimensions
width=28
height=22
--box color
bxred,bxgreen,bxblue,bxalpha=1,0,0,1
--###################################################
--calendar this month ###############################
--###################################################
--position
across=10
down=180
--rotate - this will require repositioning above
rotate=0
--###################################################
--horizontal gap between dates
gaph=32
--###################################################
--gap between day titles and first line
gapt=25
--###################################################
--gap between calendar line
gapl=25
--###################################################
--spacer -- this can help with alignment enter 0, 1 space or 2 spaces between the ""
spacer=" "
--###################################################
--calendar calcs
year=os.date("%G")
today=tonumber(os.date("%d"))
t1 = os.time( { year=year,month=03,day=01,hour=00,min=0,sec=0} );
t2 = os.time( { year=year,month=02,day=01,hour=00,min=0,sec=0} );
feb=(os.difftime(t1,t2))/(24*60*60)
local monthdays={ 31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
local day=tonumber(os.date("%w"))+1
local day_num = today
local remainder=day_num % 7
start_day=day-(day_num % 7)
if start_day<0 then start_day=7+start_day end
month=os.date("%m")
mdays=monthdays[tonumber(month)]
mdaystm=mdays
x=mdays+start_day
dnum={}
dnumh={}
if mdays+start_day<36 then
dlen=35
plen=29
else
dlen=42
plen=36
end
for i=1,dlen do
if i<=start_day then dnum[i]=" "
else dn=i-start_day
if dn=="nil" then dn=0 end
if dn<=9 then dn=(spacer .. dn) end
if i>x then dn="" end
dnum[i]=dn
dnumh[i]=dn
if dn==(spacer .. today) or dn==today then
dnum[i]=""
end
if dn==(spacer .. today) or dn==today then
dnumh[i]=dn
place=i
else dnumh[i]=" "
end
end
end--for
--###################################################
cairo_rotate (cr,(math.pi/180)*(rotate))
--print calendar titles
--###################################################
if tfbold==1 then
cairo_select_font_face (cr, tfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
else
cairo_select_font_face (cr, tfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
end
cairo_set_font_size (cr, tfontsize);
cairo_set_source_rgba (cr,tred,tgreen,tblue,talpha)
dys={"SU","MO","TU","WE","TH","FR","SA"}
--------------------------------
--use these settings to mess around with positioning
turn=0
ta=0
move=0
rot=0
--------------------------------
for i=1,7 do
cairo_move_to (cr, across+(gaph*(i-1)), down+(i*move))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, dys[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end
if mfbold==1 then
cairo_select_font_face (cr, mfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
else
cairo_select_font_face (cr, mfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
end
cairo_set_font_size (cr, mfontsize);
cairo_set_source_rgba (cr,bred,bgreen,bblue,balpha)
for i=1,plen,7 do
fn=i
for i=fn,fn+6 do
cairo_move_to (cr, across+(gaph*(i-fn))-((((fn-1)/7)+ta)*turn), (i*move)+down+gapt+(gapl*((fn-1)/7)))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, dnum[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end
end
if hfbold==1 then
cairo_select_font_face (cr, hfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
else
cairo_select_font_face (cr, hfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
end
cairo_set_font_size (cr, hfontsize);
cairo_set_source_rgba (cr,hred,hgreen,hblue,halpha)
for i=1,plen,7 do
fn=i
for i=fn,fn+6 do
cairo_move_to (cr, across+(gaph*(i-fn))-((((fn-1)/7)+ta)*turn), (i*move)+down+gapt+(gapl*((fn-1)/7)))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, dnumh[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end
end
--###############################################################################
if surround==1 then
thisstart=tonumber(start_day)+1
thisend=tonumber(start_day)+mdays
previous=tonumber(start_day)
nextmon=dlen-thisend
pmon=tonumber(month)-1
if pmon==0 then pmon=12 end
pmon=monthdays[pmon]
snum={}
for i=1,dlen do
snum[i]=""
end
for i=tonumber(thisend)+1,tonumber(thisend)+nextmon do
snum[i]=i-tonumber(thisend)
end
for i=1,previous do
snum[i]=pmon-(previous-(i))
end
if sfbold==1 then
cairo_select_font_face (cr, sfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
else
cairo_select_font_face (cr, sfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
end
cairo_set_font_size (cr, sfontsize);
cairo_set_source_rgba (cr,sred,sgreen,sblue,salpha)
for i=1,plen,7 do
fn=i
for i=fn,fn+6 do
cairo_move_to (cr, across+(gaph*(i-fn))-((((fn-1)/7)+ta)*turn), (i*move)+down+gapt+(gapl*((fn-1)/7)))
cairo_rotate (cr,(math.pi/180)*(rot))
cairo_show_text (cr, snum[i])
cairo_stroke (cr)
cairo_rotate (cr,(math.pi/180)*(rot*-1))
end
end
end
--box aound
if box==1 then
cairo_set_source_rgba (cr,bxred,bxgreen,bxblue,bxalpha)
cairo_set_line_width (cr,1)
if place>0 and place<8 then
cy=down+gapt
elseif
place>7 and place<15 then
cy=down+gapt+gapl
elseif
place>14 and place<22 then
cy=down+gapt+gapl+gapl
elseif
place>21 and place<29 then
cy=down+gapt+gapl+gapl+gapl
elseif
place>28 and place<36 then
cy=down+gapt+gapl+gapl+gapl+gapl
end
placey=place %7
if placey==1 then
cx=across
elseif
placey==2 then
cx=across+(gaph*1)
elseif
placey==3 then
cx=across+(gaph*2)
elseif
placey==4 then
cx=across+(gaph*3)
elseif
placey==5 then
cx=across+(gaph*4)
elseif
placey==6 then
cx=across+(gaph*5)
elseif
placey==0 then
cx=across+(gaph*6)
end
cairo_rectangle (cr,cx-xadjust,cy+yadjust,width,-height)
cairo_stroke (cr)
end
--###################################################
cairo_rotate (cr,(math.pi/180)*(rotate*-1))
--end of calendar
--###################################################
--#################################################################################
end--end if 5
cairo_destroy(cr)
cairo_surface_destroy(cs)
cr=nil
end--end main function
--################################################################################
--Box Function
--################################################################################
do
require "cairo"
local cs, cr = nil
local function conky_set_the_font(cr, fface, fsize, fbold)
if fbold == 1 then
cairo_select_font_face(cr, fface, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD)
else
cairo_select_font_face(cr, fface, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)
end
cairo_set_font_size(cr, fsize)
end
local function conky_draw_date(cr, extents, string, fred, fgreen ,fblue, falpha, tacross, down)
cairo_set_source_rgba(cr, fred, fgreen, fblue, falpha)
cairo_move_to(cr, tacross - (extents.width /2 ), down)
cairo_show_text(cr, string)
end
function conky_draw_box(cs, cr)
if conky_window == nil then return end
if cs == nil or cairo_xlib_surface_get_width(cs) ~= conky_window.width or cairo_xlib_surface_get_height(cs) ~= conky_window.height then
if cs then cairo_surface_destroy(cs) end
cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
end
if cr then cairo_destroy(cr) end
cr = cairo_create(cs)
local updates = tonumber(conky_parse('${updates}'))
--####################################################################################################
if updates>5 then -- starts the display
--####################################################################################################
--Weekday text color
local wred, wgreen, wblue, walpha = 1, 1, 1, 1
--Weekday text font
local wfont = "TransponderAOE"
--Weekday text size
local wfontsize = 16
--Weekday font bold? Set to 1 for bold font
local wfbold = 1
--###################################################
--Month text color
local mred, mgreen, mblue, malpha = 1, 0, 0, 1
--Month text font
local mfont = "TransponderAOE"
--Month text size
local mfontsize = 18
--Month font bold? Set to 1 for bold font
local mfbold = 1
--###################################################
--Day text color
local dred, dgreen, dblue, dalpha = 1, 1, 0, 1
--Day font
local dfont = "TransponderAOE"
--Day size
local dfontsize = 30
--Day font bold? Set to 1 for bold font
local dfbold = 1
--###################################################
--Year text color
local yred, ygreen, yblue, yalpha = 1, 1, 1, 1
--year font
local yfont = "TransponderAOE"
--Year size
local yfontsize = 18
--Year font bold? Set to 1 for bold font
local yfbold = 1
--###################################################
--indicator box enter 1 for box or 0 for no box
local box = 1
--use the following 2 numbers to adjust box position
local xadjust = 240
local yadjust = 180
--set the box dimensions
local width = 104
local height = 110
--box thickness
local bthick = 5
--box color
local bxred, bxgreen, bxblue, bxalpha = 1, 0, 0, 1
--###################################################
--Today's Date Box ###############################
--###################################################
--position
local down = yadjust + bthick
--###################################################
--gap from sides
local gaph = 10
--###################################################
--variables (need to set font face, font size and text string in order to populate text extents structure with text measurements)
-- Weekday
local wdays = os.date("%A")
local ext_wdays = cairo_text_extents_t:create()
conky_set_the_font(cr, wfont, wfontsize, wfbold)
cairo_text_extents(cr, wdays, ext_wdays)
-- Month
local month = os.date("%B")
local ext_month = cairo_text_extents_t:create()
conky_set_the_font(cr, mfont, mfontsize, mfbold)
cairo_text_extents(cr, month, ext_month)
-- Today
local today = tonumber(os.date("%d"))
local ext_today = cairo_text_extents_t:create()
conky_set_the_font(cr, dfont, dfontsize, dfbold)
cairo_text_extents(cr, today, ext_today)
-- Year
local year = os.date("%G")
local ext_year = cairo_text_extents_t:create()
conky_set_the_font(cr, yfont, yfontsize, yfbold)
cairo_text_extents(cr, year, ext_year)
-- text across box center axis
local tacross = xadjust + (width / 2)
-- gap between lines (with 4 lines it will be 3 gaps)
local gapl = (height - (bthick * 2) - (gaph * 2) - ext_wdays.height - ext_month.height - ext_today.height - ext_year.height) / 3
--###################################################
--print box
--###################################################
--Weekday
down = down + gaph + ext_wdays.height
conky_set_the_font(cr, wfont, wfontsize, wfbold)
conky_draw_date(cr, ext_wdays, wdays, wred, wgreen ,wblue, walpha, tacross, down)
--Month
down = down + gapl + ext_month.height
conky_set_the_font(cr, mfont, mfontsize, mfbold)
conky_draw_date(cr, ext_month, month, mred, mgreen ,mblue, malpha, tacross, down)
--Day
down = down + gapl + ext_today.height
conky_set_the_font(cr, dfont, dfontsize, dfbold)
conky_draw_date(cr, ext_today, today, dred, dgreen ,dblue, dalpha, tacross, down)
--Year
down = down + gapl + ext_year.height
conky_set_the_font(cr, yfont, yfontsize, yfbold)
conky_draw_date(cr, ext_year, year, yred, ygreen ,yblue, yalpha, tacross, down)
--box around
if box == 1 then
cairo_set_source_rgba(cr, bxred, bxgreen, bxblue, bxalpha)
cairo_rectangle(cr, xadjust, yadjust, width, height)
cairo_set_line_width(cr, bthick)
cairo_stroke(cr)
end
cairo_stroke(cr)
--#################################################################################
end--end if 5
end--end box function
cairo_destroy(cr)
cairo_surface_destroy(cs)
cr=nil
end
network.lua (LUA script for drawing the gauge and containing box for .conkyrc.network)
Code:
require 'cairo'
function draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina, direction)
local angle_0=rstart*(2*math.pi/360)-math.pi/2
local angle_f=rend*(2*math.pi/360)-math.pi/2
local t_arc=(co/100)*(angle_f-angle_0)
-- Draw background ring
cairo_arc(cr,across,down,rad,angle_0,angle_f)
cairo_set_source_rgba(cr,bgr,bgg,bgb,bga)
cairo_set_line_width(cr,inlw)
cairo_stroke(cr)
-- Draw indicator ring
cairo_arc(cr,across,down,rad,angle_0,angle_0+t_arc)
cairo_set_source_rgba(cr,inr,ing,inb,ina)
cairo_stroke(cr)
end
function conky_draw_netring()
if conky_window == nil then return end
if cs == nil or cairo_xlib_surface_get_width(cs) ~= conky_window.width or cairo_xlib_surface_get_height(cs) ~= conky_window.height then
if cs then cairo_surface_destroy(cs) end
cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
end
if cr then cairo_destroy(cr) end
cr = cairo_create(cs)
local updates=tonumber(conky_parse('${updates}'))
if updates>=5 then
--NETRING SETUP-------------------------------------------------------------------------------------
wtimer=(updates % 30)+1
months = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}
monthnum=tonumber(os.date('%m'))
monthname=os.date('%b')
day=tonumber(os.date('%d'))
if day<11 then
if monthnum==1 then
monthbeforenum=12
else
monthbeforenum=monthnum-1
end
month=months[monthbeforenum]
else
month=monthname
end
if updates==6 or wtimer==1 then
co=(conky_parse("${exec vnstat -m | grep -n '" .. month .. "' | sed -n 1p | awk -F'|' '{print $3}'}"))
co=string.gsub(co," ","")
num=tonumber((string.gsub(co,"%a","")))
units=(string.gsub(co,"[%p%d]",""))
end
if num==nil then num=0 end
--max number--------------------------
if units=="GB" or units=="GiB" then max=100 end
if units =="MB" or units=="MiB" then max=102400 end
if units =="KB" or units=="KiB" then max=104857600 end
if max==nil then max=0 end
--position-----------------------------
across=275
down=230
--radius of ring-----------------------
rad=30
--ring width---------------------------
inlw=15
--start and end angles---------------
rstart=-135
rend=135
--color and alpha for indicator----
inr,ing,inb,ina=255,0,0,1
--background ring color and alpha-----
bgr,bgg,bgb,bga=255,255,0,1
--calculation, do not edit below---------
--co=50
co=(num/max)*100
--draw the actual ring-----
draw_ring_pos(co, across, down, rad, inlw, rstart, rend, bgr, bgg, bgb, bga, inr, ing, inb, ina)
--END NETRING SETUP---------------------------------------------------------------------------------
--END SETUP---------------copy setup section and paste for additional rings----------
end
end
--################################################################################
--Box Function
--################################################################################
do
require "cairo"
local cs, cr = nil
local function conky_set_the_font(cr, fface, fsize, fbold)
if fbold == 1 then
cairo_select_font_face(cr, fface, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD)
else
cairo_select_font_face(cr, fface, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL)
end
cairo_set_font_size(cr, fsize)
end
local function conky_draw_label(cr, extents, string, fred, fgreen ,fblue, falpha, tacross, down)
cairo_set_source_rgba(cr, fred, fgreen, fblue, falpha)
cairo_move_to(cr, tacross - (extents.width /2 ), down)
cairo_show_text(cr, string)
end
function conky_draw_box(cs, cr)
if conky_window == nil then return end
if cs == nil or cairo_xlib_surface_get_width(cs) ~= conky_window.width or cairo_xlib_surface_get_height(cs) ~= conky_window.height then
if cs then cairo_surface_destroy(cs) end
cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
end
if cr then cairo_destroy(cr) end
cr = cairo_create(cs)
local updates = tonumber(conky_parse('${updates}'))
--####################################################################################################
if updates>5 then -- starts the display
--####################################################################################################
--Number text color
local nred, ngreen, nblue, nalpha = 1, 1, 1, 1
--Number text font
local nfont = "GpuTeks"
--Number text size
local nfontsize = 20
--Number font bold? Set to 1 for bold font
local nfbold = 1
--Number Label
local numlabel="100"
--###################################################
--Unit text color
local ured, ugreen, ublue, ualpha = 1, 1, 1, 1
--Unit font
local ufont = "GpuTeks"
--Unit size
local ufontsize = 20
--Unit font bold? Set to 1 for bold font
local ufbold = 1
--Unit Label
local unitlabel="GB"
--###################################################
--Text text color
local txred, txgreen, txblue, txalpha = 1, 1, 1, 1
--Text font
local txfont = "GpuTeks"
--Text size
local txfontsize = 10
--Text font bold? Set to 1 for bold font
local txfbold = 1
--Text Label
local txtlabel="Total Allowed"
--###################################################
--indicator box enter 1 for box or 0 for no box
local box = 1
--use the following 2 numbers to adjust box position
local xadjust = 230
local yadjust = 190
--set the box dimensions
local width = 90
local height = 90
--box thickness
local bthick = 2
--box color
local bxred, bxgreen, bxblue, bxalpha = 0, 0.5, 0, 1
--###################################################
--Today's Date Box ###############################
--###################################################
--position
local down = yadjust + bthick
--###################################################
--gap from sides
local gaph = 10
--###################################################
--gap from top of box
local gaptb = 25
--###################################################
--gap between labels adjustment
local gapla = 10
--###################################################
--variables (need to set font face, font size and text string in order to populate text extents structure with text measurements)
-- Number
local ext_numlabel = cairo_text_extents_t:create()
conky_set_the_font(cr, nfont, nfontsize, nfbold)
cairo_text_extents(cr, numlabel, ext_numlabel)
-- Unit
local ext_unitlabel = cairo_text_extents_t:create()
conky_set_the_font(cr, ufont, ufontsize, ufbold)
cairo_text_extents(cr, unitlabel, ext_unitlabel)
-- Text
local ext_txtlabel = cairo_text_extents_t:create()
conky_set_the_font(cr, txfont, txfontsize, txfbold)
cairo_text_extents(cr, txtlabel, ext_txtlabel)
-- text across box center axis
local tacross = xadjust + (width / 2)
-- gap between lines (with 4 lines it will be 3 gaps)
local gapl = (height - (bthick * 2) - (gaph * 2) - ext_numlabel.height - ext_unitlabel.height - ext_txtlabel.height - gapla) / 3
--###################################################
--print box
--###################################################
--Number
down = down + gapl + gaptb + ext_numlabel.height
conky_set_the_font(cr, nfont, nfontsize, nfbold)
conky_draw_label(cr, ext_numlabel, numlabel, nred, ngreen ,nblue, nalpha, tacross, down)
--Unit
down = down + gapl + ext_unitlabel.height
conky_set_the_font(cr, ufont, ufontsize, ufbold)
conky_draw_label(cr, ext_unitlabel, unitlabel, ured, ugreen , ublue, ualpha, tacross, down)
--Text
down = down + gapl + ext_txtlabel.height
conky_set_the_font(cr, txfont, txfontsize, txfbold)
conky_draw_label(cr, ext_txtlabel, txtlabel, txred, txgreen ,txblue, txalpha, tacross, down)
--box around
if box == 1 then
cairo_set_source_rgba(cr, bxred, bxgreen, bxblue, bxalpha)
cairo_rectangle(cr, xadjust, yadjust, width, height)
cairo_set_line_width(cr, bthick)
cairo_stroke(cr)
end
cairo_stroke(cr)
--#################################################################################
end--end if 5
end--end box function
cairo_destroy(cr)
cairo_surface_destroy(cs)
cr=nil
end
wunderground-script (BASH Script by TBG used to pull some data or Weather Underground integration using Weather Fonts in .conkyrc.weather)
Code:
#!/bin/bash
#function: test_weather_message
test_weather_message () {
if [[ $1 == "Chance of Flurries" || $1 == Flurries ]]; then
echo p
elif [[ $1 == "Chance of Rain" ]]; then
echo h
elif [[ $1 == "Chance of Freezing Rain" || $1 == "Light Freezing Rain" || $1 == "Freezing Rain" ]]; then
echo v
elif [[ $1 == "Chance of Sleet" || $1 == Sleet ]]; then
echo w
elif [[ $1 == "Chance of Snow" ]]; then
echo q
elif [[ $1 == "Chance of Thunderstorms" || $1 == Thunderstorms || $1 == Thunderstorm ]]; then
echo n
elif [[ $1 == "Chance of a Thunderstorm" ]]; then
echo m
elif [[ $1 == Clear || $1 == Sunny ]]; then
echo a
elif [[ $1 == Cloudy ]]; then
echo d
elif [[ $1 == Fog || $1 == Haze ]]; then
echo 0
elif [[ $1 == "Mostly Cloudy" || $1 == "Partly Cloudy" || $1 == "Partly Sunny" ]]; then
echo c
elif [[ $1 == "Mostly Sunny" || $1 == "Scattered Clouds" ]]; then
echo b
elif [[ $1 == Rain ]]; then
echo i
elif [[ $1 == Snow ]]; then
echo r
elif [[ $1 == Overcast ]]; then
echo e
else echo -
fi
}
#function: test_weather_message_night
test_weather_message_night () {
if [[ $1 == "Chance of Flurries" || $1 == Flurries || $1 == "Chance of Snow" || $1 == Snow ]]; then
echo O
elif [[ $1 == "Chance of Rain" || $1 == "Chance of Freezing Rain" || $1 == "Light Freezing Rain" || $1 == "Freezing Rain" || $1 == "Chance of Sleet" || $1 == Sleet || $1 == Rain ]]; then
echo G
elif [[ $1 == "Chance of Thunderstorms" || $1 == Thunderstorms || $1 == Thunderstorm ]]; then
echo K
elif [[ $1 == "Chance of a Thunderstorm" ]]; then
echo m
elif [[ $1 == Clear || $1 == Sunny ]]; then
echo A
elif [[ $1 == Cloudy ]]; then
echo D
elif [[ $1 == Fog || $1 == Haze ]]; then
echo 0
elif [[ $1 == "Mostly Cloudy" || $1 == "Partly Cloudy" || $1 == "Partly Sunny" ]]; then
echo C
elif [[ $1 == "Mostly Sunny" || $1 == "Scattered Clouds" ]]; then
echo B
elif [[ $1 == Overcast ]]; then
echo D
else echo -
fi
}
#function: test_wind_message
test_wind_message () {
if [[ $1 == Sou ]]; then
echo 1
elif [[ $1 == SSW ]]; then
echo 2
elif [[ $1 == "SW " ]]; then
echo 3
elif [[ $1 == WSW || $1 == Sleet ]]; then
echo 4
elif [[ $1 == Wes ]]; then
echo 5
elif [[ $1 == WNW ]]; then
echo 6
elif [[ $1 == "NW " ]]; then
echo 7
elif [[ $1 == NNW ]]; then
echo 8
elif [[ $1 == Nor ]]; then
echo 9
elif [[ $1 == NNE ]]; then
echo ":"
elif [[ $1 == "NE " ]]; then
echo ";"
elif [[ $1 == ENE ]]; then
echo "<"
elif [[ $1 == Eas ]]; then
echo "="
elif [[ $1 == ESE ]]; then
echo ">"
elif [[ $1 == "SE " ]]; then
echo "?"
elif [[ $1 == SSE ]]; then
echo "@"
else echo "-"
fi
}
rm ~/Conky/Scripts/conky_wunderground2/yes
rm ~/Conky/Scripts/conky_wunderground2/weather_icons
wget -O ~/Conky/Scripts/conky_wunderground2/ics http://ical.wunderground.com/auto/ical/global/stations/71639.ics?units=metric
egrep -i 'DESCRIPTION' ~/Conky/Scripts/conky_wunderground2/ics > ~/Conky/Scripts/conky_wunderground2/messages.wun
sed -i 's/\\n/\n/g' ~/Conky/Scripts/conky_wunderground2/messages.wun
sed -i 's/DESCRIPTION://g' ~/Conky/Scripts/conky_wunderground2/messages.wun
sed -i 's/ - /\n/g' ~/Conky/Scripts/conky_wunderground2/messages.wun
sed -i 's/High/\nHigh/g' ~/Conky/Scripts/conky_wunderground2/messages.wun
sed -i 's/Low/\nLow/g' ~/Conky/Scripts/conky_wunderground2/messages.wun
sed -i 's/Wind /\n/g' ~/Conky/Scripts/conky_wunderground2/messages.wun
sed -i 's/\..*//g' ~/Conky/Scripts/conky_wunderground2/messages.wun
#-----Comment out next line for full weekday names.
sed -i -e 's/Monday/Mon/' -e 's/Tuesday/Tue/' -e 's/Wednesday/Wed/' -e 's/Thursday/Thurs/' -e 's/Friday/Fri/' -e 's/Saturday/Sat/' -e 's/Sunday/Sun/' ~/Conky/Scripts/conky_wunderground2/messages.wun
for (( i=2; i<=100; i+=8 ))
do
test_line=$(sed -n "${i}p" ~/Conky/Scripts/conky_wunderground2/messages.wun)
if [[ $test_line == "" ]]; then
break
fi
test_weather_message "$test_line" >> ~/Conky/Scripts/conky_wunderground2/weather_icons
j=$((i+2))
test_line=$(sed -n "${j}p" ~/Conky/Scripts/conky_wunderground2/messages.wun|cut -c1-3)
if [[ $test_line == "" ]]; then
break
fi
test_wind_message "$test_line" >> ~/Conky/Scripts/conky_wunderground2/weather_icons
j=$((i+4))
test_line=$(sed -n "${j}p" ~/Conky/Scripts/conky_wunderground2/messages.wun)
if [[ $test_line == "" ]]; then
break
fi
test_weather_message_night "$test_line" >> ~/Conky/Scripts/conky_wunderground2/weather_icons
j=$((i+6))
test_line=$(sed -n "${j}p" ~/Conky/Scripts/conky_wunderground2/messages.wun|cut -c1-3)
if [[ $test_line == "" ]]; then
break
fi
test_wind_message "$test_line" >> ~/Conky/Scripts/conky_wunderground2/weather_icons
done
days_no=$(($(cat ~/Conky/Scripts/conky_wunderground2/weather_icons|wc -l)/4))
if [[ $days_no == 8 ]]; then
touch ~/Conky/Scripts/conky_wunderground2/yes
fi
intell_sun_moon_wind (BASH Script by TBG for using Intellicast for weather data in .conkyrc.weather)
Code:
#!/bin/bash
#function: moon_phase_letter
moon_phase_letter () {
case $1 in
"New")
echo @
;;
"Full")
echo =
;;
"First Quarter")
echo T
;;
"Last Quarter")
echo G
;;
"Waning Gibbous")
echo V
;;
"Waning Crescent")
echo R
;;
"Waxing Crescent")
echo I
;;
"Waxing Gibbous")
echo E
;;
esac
}
#function test_wind_message
test_wind_message () {
case $1 in
"S")
echo "1"
;;
"SSW")
echo "2"
;;
"SW")
echo "3"
;;
"WSW")
echo "4"
;;
"W")
echo "5"
;;
"WNW")
echo "6"
;;
"NW")
echo "7"
;;
"NNW")
echo "8"
;;
"N")
echo "9"
;;
"NNE")
echo ":"
;;
"NE")
echo ";"
;;
"ENE")
echo "<"
;;
"E")
echo "="
;;
"ESE")
echo ">"
;;
"SE")
echo "?"
;;
"SSE")
echo "@"
;;
esac
}
#Put your intellicast extended forecast address here
address="http://www.intellicast.com/Local/Forecast.aspx?unit=C&location=CAXX0342"
wget -O /home/dorian/Conky/Scripts/conky_intellicast/info $address
sed -i '/Monday\|Tuesday\|Wednesday\|Thursday\|Friday\|Saturday\|Sunday\|Rise:\|Set:\|Moon Phase:\|Wind Speed:\|Wind Direction:/!d' /home/dorian/Conky/Scripts/conky_intellicast/info
sed -i -e 's/^.*Rise://g' -e 's/^.*Set://g' -e 's/^.*Moon Phase://g' -e 's/^.*Wind Speed//g' -e 's/^.*Wind Direction//g' /home/dorian/Conky/Scripts/conky_intellicast/info
sed -i -e 's/^.*<td colspan="2"><strong>//g' -e '1,2d' -e 's/^.*<\/strong> //g' -e 's/<\/td>.*$//g' /home/dorian/Conky/Scripts/conky_intellicast/info
sed -i -e 's/,.*$//g' -e 's/^.*(//g' -e 's/ <br \/>.*$//g' -e 's/)//g' /home/dorian/Conky/Scripts/conky_intellicast/info
#sed -i -e 's/Monday/MONDAY/' -e 's/Tuesday/TUESDAY/' -e 's/Wednesday/WEDNESDAY/' -e 's/Thursday/THURSDAY/' -e 's/Friday/FRIDAY/' -e 's/Saturday/SATURDAY/' -e 's/Sunday/SUNDAY/' /home/dorian/Conky/Scripts/conky_intellicast/info
sed -i -e 's/Monday/Mon/' -e 's/Tuesday/Tue/' -e 's/Wednesday/Wed/' -e 's/Thursday/Thurs/' -e 's/Friday/Fri/' -e 's/Saturday/Sat/' -e 's/Sunday/Sun/' /home/dorian/Conky/Scripts/conky_intellicast/info
for (( i=8; i<=80; i+=8 ))
do
sed -i "${i}s/.$//" /home/dorian/Conky/Scripts/conky_intellicast/info
done
moon_phase_letter "$(sed -n 6p /home/dorian/Conky/Scripts/conky_intellicast/info)" > /home/dorian/Conky/Scripts/conky_intellicast/moon_phase_letters
for (( i=14; i<=78; i+=8 ))
do
m_phase=$(sed -n ${i}p /home/dorian/Conky/Scripts/conky_intellicast/info)
moon_phase_letter "$m_phase" >> /home/dorian/Conky/Scripts/conky_intellicast/moon_phase_letters
done
test_wind_message "$(sed -n 8p /home/dorian/Conky/Scripts/conky_intellicast/info)" > /home/dorian/Conky/Scripts/conky_intellicast/wind_dir_letters
for (( i=16; i<=80; i+=8 ))
do
w_dir=$(sed -n ${i}p /home/dorian/Conky/Scripts/conky_intellicast/info)
test_wind_message "$w_dir" >> /home/dorian/Conky/Scripts/conky_intellicast/wind_dir_letters
done
.conky.killswitch (a personal BASH script of my own design to kill all instances of Conky by a keystroke, and delete the data files for the weather scripts. Helps when refreshing that Conky, should there be any problems.)
Code:
#!/bin/bash
killall conky
rm /home/dorian/Conky/Scripts/conky_intellicast/info
rm /home/dorian/Conky/Scripts/conky_intellicast/moon_phase_letters
rm /home/dorian/Conky/Scripts/conky_intellicast/wind_dir_letters
rm /home/dorian/Conky/Scripts/conky_wunderground2/ics
rm /home/dorian/Conky/Scripts/conky_wunderground2/messages.wun
rm /home/dorian/Conky/Scripts/conky_wunderground2/weather_icons
And a screenshot that shows how it all looks, with examples of various things being off or on, depending on being plugged in. For the most part, it's self-explanatory.
MyDesktop25a.jpg
graphics files used in all the conky files are available upon request, but I don't know why you'd want them.
Bookmarks