Yea, you'll have to play with the cut. Here's what I have...
Here's my conky scripts and screenshot. I copied the weather below TEXT from Sector11.
--[[weather display by mrpeachy nov 2011
version 7
call data via conkyrc
ability to display weather images
killall conky && conky -c ~/Conky/Forecast_v7.conky &
]]
--#########################################################################################################
--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP
secs=1800--set update interval
web="http://www.intellicast.com/Local/Forecast.aspx?location=USKY1079"--insert unit=C& after? for C
--get web address by going to the intellicast site and entering your location in the box
--for version 3 you must get click on "Extended Forecast" to get the necessary address
units="F"
--set location where weather data txt will be saved
location="/home/tony/.conky/intelli-weather.txt"
--set location of weather images
weathericons="/home/tony/.conky/weathericons/"
--location of intellicast icons #not currently supported
-- intellicast_icons="/home/sector11/Conky/images/weathericons/intelli"
--#########################################################################################################
require 'imlib2'
require 'cairo'
------------------------------------------------------------------------------
function string:split(delimiter)
local result = { }
local from = 1
local delim_from, delim_to = string.find( self, delimiter, from )
while delim_from do
table.insert( result, string.sub( self, from , delim_from-1 ) )
from = delim_to + 1
delim_from, delim_to = string.find( self, delimiter, from )
end
table.insert( result, string.sub( self, from ) )
return result
end
--------------------------------------------------------------------------------
--###################################
function conky_weatherdata()--#######
--###################################
--catch circling variables and set them to nil
now={}
day1={}
day2={}
day3={}
day4={}
day5={}
day6={}
day7={}
day8={}
day9={}
day10={}
image={}
font={}
windfont={}
moonfont={}
xpos=nil
ypos=nil
scale1=nil
scale2=nil
conkydata=nil
--###################
--table to convert intellicast images to icons and fonts
wimage={
wx_65="32,a",wx_66="30,c",
wx_67="26,f",
wx_68="32,a",
wx_69="28,d",
wx_70="20,0",
wx_71="32,a",
wx_72="21,9",
wx_73="36,5",
wx_74="14,p",
wx_75="28,d",
wx_76="18,w",
wx_77="14,p",
wx_78="23,6",
wx_79="05,x",
wx_80="15,8",
wx_81="15,8",
wx_82="11,h",
wx_83="16,q",
wx_84="00,m",
wx_85="32,a",
wx_86="25,-",
wx_87="09,h",
wx_88="05,x",
wx_89="18,w",
wx_90="18,w",
wx_91="39,g",
wx_92="39,g",
wx_93="39,g",
wx_94="39,g",
wx_95="37,k",
wx_96="37,k",
wx_97="31,A",
wx_98="29,C",
wx_99="27,D",
wx_100="47,K",
wx_101="47,K",
wx_102="33,B",
wx_103="26,f",
wx_104="20,0",
wx_105="45,G",
wx_106="45,G",
wx_107="11,h",
wx_108="46,O",
wx_109="46,O",
wx_110="06,x",
wx_111="18,w",
wx_112="06,x",
wx_113="46,O",
wx_114="46,O",
wx_115="31,A",
wx_116="47,K",
}--end table
--table to convert wind direction to font
windfontt={S="9",SSW=":",SW=";",WSW="<",W="=",WNW=">",NW="?",NNW="@",N="1",NNE="2",NE="3",ENE="4",E="5",ESE="6",SE="7",SSE="8"}
--table to convert moonphase to font
moonfontt={New="=",Full="@",FirstQuarter="G",LastQuarter="T",WaningGibbous="R",WaningCrescent="V",WaxingCrescent="E",WaxingGibbous="I"}
days={
Monday="Mon",
Tuesday="Tue",
Wednesday="Wed",
Thursday="Thu",
Friday="Fri",
Saturday="Sat",
Sunday="Sun",
}
--##################################################
--######data gatering and initial processing########
--##################################################
local updates=tonumber(conky_parse('${updates}'))
local timer=(updates %secs)+1
if timer==secs or updates==0 then
--gets current data
local f=io.popen("curl '"..web.."' | grep -A62 'As of ' | gawk -F'>' -v RS='</' 'RT{print $NF}' | sed -e 's/^[ \t]*//' -e '/^$/d' -e 's/°//g' -e 's/%//g' -e 's/ / /g' -e 's/Thunderstorms/T.Storms/g'")
data1=f:read("*a")
f:close()
data=string.split(data1,"\n")
--gets forecast data
local f=io.popen("curl '"..web.."' | grep -A554 'View the Calendar Forecast' | gawk -F'>' -v RS='<' 'RT{print $NF}' | sed -e 's/^[ \t]*//' -e 's/°//g' -e 's/ / /g' -e 's/%//g' -e 's/°//g' -e 's/Thunderstorms/T.Storms/g'")
fdata1=f:read("*a")
f:close()
fdata=string.split(fdata1,"\n")
fdata2={}
for i,v in pairs(fdata) do
if string.find(v,"[%a%d]")~=nil then
table.insert(fdata2,fdata[i])
end
end
--gets weather image codes
local f=io.popen("curl '"..web.."' | gawk -F'App_Images' -v RS='.png' 'RT{print $NF}'")
icondata1=f:read("*a")
f:close()
icondata=string.split(icondata1,"\n")
icondata2={}
for i,v in pairs(icondata) do
if string.find(v,"32_white")==nil then
table.insert(icondata2,icondata[i])
end
end
--##################################################
--######data processing#############################
--##################################################
--current conditions
if string.find(data[3],"/")~=nil then
cdn=string.split(data[3],"/")
con=cdn[1]
cd2="/"..string.gsub(cdn[2],"[\r\n]","")
else
con=string.gsub(data[3],"[\r\n]","")
cd2=""
end
wdr=string.split(data[32]," ")
now={con=con,tmp=string.gsub(data[5],units,""),flk=string.gsub(data[7],"Feels Like: ",""),wch=data[11],cel=data[14],hid=data[17],vis=string.gsub(data[20],"[ %a]",""),dpt=data[23],wsp=string.gsub(data[26],"[ %a]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),wgs=string.gsub(data[38],"[ mph]",""),hum=data[29],prs=string.gsub(data[35],"\"",""),cd2=cd2}
--forecast days
if string.find(fdata2[3],"/")~=nil then
cdn=string.split(fdata2[3],"/")
con=cdn[1]
cd2="/"..string.gsub(cdn[2],"[\r\n]","")
else
con=string.gsub(fdata2[3],"[\r\n]","")
cd2=""
end
local dyt=string.split(fdata2[2],",")
local uvi=string.split(fdata2[20]," ")
local wsp=string.split(fdata2[32]," ")
local wdr=string.split(fdata2[34]," ")
day1={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=con,hih=fdata2[4],low=fdata2[5],sri=fdata2[8],sst=fdata2[10],mri=fdata2[12],mst=fdata2[14],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[22],ppt=fdata2[24],snw=fdata2[26],cld=fdata2[28],mph=fdata2[30],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cd2,das=(loadstring("return ".."days."..dyt[1])())}
--day2
if string.find(fdata2[36],"/")~=nil then
cdn=string.split(fdata2[36],"/")
con=cdn[1]
cd2="/"..string.gsub(cdn[2],"[\r\n]","")
else
con=string.gsub(fdata2[36],"[\r\n]","")
cd2=""
end
local dyt=string.split(fdata2[35],",")
local uvi=string.split(fdata2[53]," ")
local wsp=string.split(fdata2[65]," ")
local wdr=string.split(fdata2[67]," ")
day2={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=con,hih=fdata2[37],low=fdata2[38],sri=fdata2[41],sst=fdata2[43],mri=fdata2[45],mst=fdata2[47],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[55],ppt=fdata2[57],snw=fdata2[59],cld=fdata2[61],mph=fdata2[63],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cd2,das=(loadstring("return ".."days."..dyt[1])())}
--day3
local start=68
if string.find(fdata2[start+1],"/")~=nil then
cdn=string.split(fdata2[start+1],"/")
con=cdn[1]
cd2="/"..string.gsub(cdn[2],"[\r\n]","")
else
con=string.gsub(fdata2[start+1],"[\r\n]","")
cd2=""
end
local dyt=string.split(fdata2[start],",")
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day3={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=con,hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cd2,das=(loadstring("return ".."days."..dyt[1])())}
--day4
local start=start+29
if string.find(fdata2[start+1],"/")~=nil then
cdn=string.split(fdata2[start+1],"/")
con=cdn[1]
cd2="/"..string.gsub(cdn[2],"[\r\n]","")
else
con=string.gsub(fdata2[start+1],"[\r\n]","")
cd2=""
end
local dyt=string.split(fdata2[start],",")
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day4={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=con,hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cd2,das=(loadstring("return ".."days."..dyt[1])())}
--day5
local start=start+29
if string.find(fdata2[start+1],"/")~=nil then
cdn=string.split(fdata2[start+1],"/")
con=cdn[1]
cd2="/"..string.gsub(cdn[2],"[\r\n]","")
else
con=string.gsub(fdata2[start+1],"[\r\n]","")
cd2=""
end
local dyt=string.split(fdata2[start],",")
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day5={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=con,hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cd2,das=(loadstring("return ".."days."..dyt[1])())}
--day6
local start=start+29
if string.find(fdata2[start+1],"/")~=nil then
cdn=string.split(fdata2[start+1],"/")
con=cdn[1]
cd2="/"..string.gsub(cdn[2],"[\r\n]","")
else
con=string.gsub(fdata2[start+1],"[\r\n]","")
cd2=""
end
local dyt=string.split(fdata2[start],",")
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day6={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=con,hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cd2,das=(loadstring("return ".."days."..dyt[1])())}
--day7
local start=start+29
if string.find(fdata2[start+1],"/")~=nil then
cdn=string.split(fdata2[start+1],"/")
con=cdn[1]
cd2="/"..string.gsub(cdn[2],"[\r\n]","")
else
con=string.gsub(fdata2[start+1],"[\r\n]","")
cd2=""
end
local dyt=string.split(fdata2[start],",")
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day7={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=con,hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cd2,das=(loadstring("return ".."days."..dyt[1])())}
--day8
local start=start+29
if string.find(fdata2[start+1],"/")~=nil then
cdn=string.split(fdata2[start+1],"/")
con=cdn[1]
cd2="/"..string.gsub(cdn[2],"[\r\n]","")
else
con=string.gsub(fdata2[start+1],"[\r\n]","")
cd2=""
end
local dyt=string.split(fdata2[start],",")
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day8={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=con,hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cd2,das=(loadstring("return ".."days."..dyt[1])())}
--day9
local start=start+29
if string.find(fdata2[start+1],"/")~=nil then
cdn=string.split(fdata2[start+1],"/")
con=cdn[1]
cd2="/"..string.gsub(cdn[2],"[\r\n]","")
else
con=string.gsub(fdata2[start+1],"[\r\n]","")
cd2=""
end
local dyt=string.split(fdata2[start],",")
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day9={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=con,hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cd2,das=(loadstring("return ".."days."..dyt[1])())}
--day10
local start=start+29
if string.find(fdata2[start+1],"/")~=nil then
cdn=string.split(fdata2[start+1],"/")
con=cdn[1]
cd2="/"..string.gsub(cdn[2],"[\r\n]","")
else
con=string.gsub(fdata2[start+1],"[\r\n]","")
cd2=""
end
local dyt=string.split(fdata2[start],",")
local uvi=string.split(fdata2[start+14]," ")
local wsp=string.split(fdata2[start+26]," ")
local wdr=string.split(fdata2[start+28]," ")
day10={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=con,hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cd2,das=(loadstring("return ".."days."..dyt[1])())}
--##################################################
--######font and image processing###################
--##################################################
nowif=string.split((loadstring("return ".."wimage."..string.gsub(icondata2[1],"/40_white/",""))()),",")
day1if=string.split((loadstring("return ".."wimage."..string.gsub(icondata2[2],"/40_white/",""))()),",")
day2if=string.split((loadstring("return ".."wimage."..string.gsub(icondata2[3],"/40_white/",""))()),",")
day3if=string.split((loadstring("return ".."wimage."..string.gsub(icondata2[4],"/40_white/",""))()),",")
day4if=string.split((loadstring("return ".."wimage."..string.gsub(icondata2[5],"/40_white/",""))()),",")
day5if=string.split((loadstring("return ".."wimage."..string.gsub(icondata2[6],"/40_white/",""))()),",")
day6if=string.split((loadstring("return ".."wimage."..string.gsub(icondata2[7],"/40_white/",""))()),",")
day7if=string.split((loadstring("return ".."wimage."..string.gsub(icondata2[8],"/40_white/",""))()),",")
day8if=string.split((loadstring("return ".."wimage."..string.gsub(icondata2[9],"/40_white/",""))()),",")
day9if=string.split((loadstring("return ".."wimage."..string.gsub(icondata2[10],"/40_white/",""))()),",")
day10if=string.split((loadstring("return ".."wimage."..string.gsub(icondata2[11],"/40_white/",""))()),",")
---------------------------------------------------
image={
now=nowif[1],
day1=day1if[1],
day2=day2if[1],
day3=day3if[1],
day4=day4if[1],
day5=day5if[1],
day6=day6if[1],
day7=day7if[1],
day8=day8if[1],
day9=day9if[1],
day10=day10if[1]
}
---------------------------------------------------
font={
now=nowif[2],
day1=day1if[2],
day2=day2if[2],
day3=day3if[2],
day4=day4if[2],
day5=day5if[2],
day6=day6if[2],
day7=day7if[2],
day8=day8if[2],
day9=day9if[2],
day10=day10if[2]
}
--wind font-----------------------------------------
windfont={
now=(loadstring("return ".."windfontt."..now.wdi)()),
day1=(loadstring("return ".."windfontt."..day1.wdi)()),
day2=(loadstring("return ".."windfontt."..day2.wdi)()),
day3=(loadstring("return ".."windfontt."..day3.wdi)()),
day4=(loadstring("return ".."windfontt."..day4.wdi)()),
day5=(loadstring("return ".."windfontt."..day5.wdi)()),
day6=(loadstring("return ".."windfontt."..day6.wdi)()),
day7=(loadstring("return ".."windfontt."..day7.wdi)()),
day8=(loadstring("return ".."windfontt."..day8.wdi)()),
day9=(loadstring("return ".."windfontt."..day9.wdi)()),
day10=(loadstring("return ".."windfontt."..day10.wdi)()),
}
--moon font-----------------------------------------
moonfont={
day1=(loadstring("return ".."moonfontt."..string.gsub(day1.mph," ",""))()),
day2=(loadstring("return ".."moonfontt."..string.gsub(day2.mph," ",""))()),
day3=(loadstring("return ".."moonfontt."..string.gsub(day3.mph," ",""))()),
day4=(loadstring("return ".."moonfontt."..string.gsub(day4.mph," ",""))()),
day5=(loadstring("return ".."moonfontt."..string.gsub(day5.mph," ",""))()),
day6=(loadstring("return ".."moonfontt."..string.gsub(day6.mph," ",""))()),
day7=(loadstring("return ".."moonfontt."..string.gsub(day7.mph," ",""))()),
day8=(loadstring("return ".."moonfontt."..string.gsub(day8.mph," ",""))()),
day9=(loadstring("return ".."moonfontt."..string.gsub(day9.mph," ",""))()),
day10=(loadstring("return ".."moonfontt."..string.gsub(day10.mph," ",""))()),
}
--##################################################
--##writing data to file for conkyrc restart########
--##################################################
local datastringnow=now.con.."|"..now.tmp.."|"..now.flk.."|"..now.wch.."|"..now.cel.."|"..now.hid.."|"..now.vis.."|"..now.dpt.."|"..now.wsp.."|"..now.wdg.."|"..now.wdi.."|"..now.wgs.."|"..now.hum.."|"..now.prs.."|"..now.cd2
local datastringday1=day1.day.."|"..day1.dat.."|"..day1.con.."|"..day1.hih.."|"..day1.low.."|"..day1.sri.."|"..day1.sst.."|"..day1.mri.."|"..day1.mst.."|"..day1.uvn.."|"..day1.uvt.."|"..day1.hum.."|"..day1.ppt.."|"..day1.snw.."|"..day1.cld.."|"..day1.mph.."|"..day1.wmh.."|"..day1.wkm.."|"..day1.wkt.."|"..day1.wdg.."|"..day1.wdi.."|"..day1.cd2.."|"..day1.das
local datastringday2=day2.day.."|"..day2.dat.."|"..day2.con.."|"..day2.hih.."|"..day2.low.."|"..day2.sri.."|"..day2.sst.."|"..day2.mri.."|"..day2.mst.."|"..day2.uvn.."|"..day2.uvt.."|"..day2.hum.."|"..day2.ppt.."|"..day2.snw.."|"..day2.cld.."|"..day2.mph.."|"..day2.wmh.."|"..day2.wkm.."|"..day2.wkt.."|"..day2.wdg.."|"..day2.wdi.."|"..day2.cd2.."|"..day2.das
local datastringday3=day3.day.."|"..day3.dat.."|"..day3.con.."|"..day3.hih.."|"..day3.low.."|"..day3.sri.."|"..day3.sst.."|"..day3.mri.."|"..day3.mst.."|"..day3.uvn.."|"..day3.uvt.."|"..day3.hum.."|"..day3.ppt.."|"..day3.snw.."|"..day3.cld.."|"..day3.mph.."|"..day3.wmh.."|"..day3.wkm.."|"..day3.wkt.."|"..day3.wdg.."|"..day3.wdi.."|"..day3.cd2.."|"..day3.das
local datastringday4=day4.day.."|"..day4.dat.."|"..day4.con.."|"..day4.hih.."|"..day4.low.."|"..day4.sri.."|"..day4.sst.."|"..day4.mri.."|"..day4.mst.."|"..day4.uvn.."|"..day4.uvt.."|"..day4.hum.."|"..day4.ppt.."|"..day4.snw.."|"..day4.cld.."|"..day4.mph.."|"..day4.wmh.."|"..day4.wkm.."|"..day4.wkt.."|"..day4.wdg.."|"..day4.wdi.."|"..day4.cd2.."|"..day4.das
local datastringday5=day5.day.."|"..day5.dat.."|"..day5.con.."|"..day5.hih.."|"..day5.low.."|"..day5.sri.."|"..day5.sst.."|"..day5.mri.."|"..day5.mst.."|"..day5.uvn.."|"..day5.uvt.."|"..day5.hum.."|"..day5.ppt.."|"..day5.snw.."|"..day5.cld.."|"..day5.mph.."|"..day5.wmh.."|"..day5.wkm.."|"..day5.wkt.."|"..day5.wdg.."|"..day5.wdi.."|"..day5.cd2.."|"..day5.das
local datastringday6=day6.day.."|"..day6.dat.."|"..day6.con.."|"..day6.hih.."|"..day6.low.."|"..day6.sri.."|"..day6.sst.."|"..day6.mri.."|"..day6.mst.."|"..day6.uvn.."|"..day6.uvt.."|"..day6.hum.."|"..day6.ppt.."|"..day6.snw.."|"..day6.cld.."|"..day6.mph.."|"..day6.wmh.."|"..day6.wkm.."|"..day6.wkt.."|"..day6.wdg.."|"..day6.wdi.."|"..day6.cd2.."|"..day6.das
local datastringday7=day7.day.."|"..day7.dat.."|"..day7.con.."|"..day7.hih.."|"..day7.low.."|"..day7.sri.."|"..day7.sst.."|"..day7.mri.."|"..day7.mst.."|"..day7.uvn.."|"..day7.uvt.."|"..day7.hum.."|"..day7.ppt.."|"..day7.snw.."|"..day7.cld.."|"..day7.mph.."|"..day7.wmh.."|"..day7.wkm.."|"..day7.wkt.."|"..day7.wdg.."|"..day7.wdi.."|"..day7.cd2.."|"..day7.das
local datastringday8=day8.day.."|"..day8.dat.."|"..day8.con.."|"..day8.hih.."|"..day8.low.."|"..day8.sri.."|"..day8.sst.."|"..day8.mri.."|"..day8.mst.."|"..day8.uvn.."|"..day8.uvt.."|"..day8.hum.."|"..day8.ppt.."|"..day8.snw.."|"..day8.cld.."|"..day8.mph.."|"..day8.wmh.."|"..day8.wkm.."|"..day8.wkt.."|"..day8.wdg.."|"..day8.wdi.."|"..day8.cd2.."|"..day8.das
local datastringday9=day9.day.."|"..day9.dat.."|"..day9.con.."|"..day9.hih.."|"..day9.low.."|"..day9.sri.."|"..day9.sst.."|"..day9.mri.."|"..day9.mst.."|"..day9.uvn.."|"..day9.uvt.."|"..day9.hum.."|"..day9.ppt.."|"..day9.snw.."|"..day9.cld.."|"..day9.mph.."|"..day9.wmh.."|"..day9.wkm.."|"..day9.wkt.."|"..day9.wdg.."|"..day9.wdi.."|"..day9.cd2.."|"..day9.das
local datastringday10=day10.day.."|"..day10.dat.."|"..day10.con.."|"..day10.hih.."|"..day10.low.."|"..day10.sri.."|"..day10.sst.."|"..day10.mri.."|"..day10.mst.."|"..day10.uvn.."|"..day10.uvt.."|"..day10.hum.."|"..day10.ppt.."|"..day10.snw.."|"..day10.cld.."|"..day10.mph.."|"..day10.wmh.."|"..day10.wkm.."|"..day10.wkt.."|"..day10.wdg.."|"..day10.wdi.."|"..day10.cd2.."|"..day10.das
local datastringfont=font.now.."|"..font.day1.."|"..font.day2.."|"..font.day3.."|"..font.day4.."|"..font.day5.."|"..font.day6.."|"..font.day7.."|"..font.day8.."|"..font.day9.."|"..font.day10
local datastringimage=image.now.."|"..image.day1.."|"..image.day2.."|"..image.day3.."|"..image.day4.."|"..image.day5.."|"..image.day6.."|"..image.day7.."|"..image.day8.."|"..image.day9.."|"..image.day10
local datastringwindfont=windfont.now.."|"..windfont.day1.."|"..windfont.day2.."|"..windfont.day3.."|"..windfont.day4.."|"..windfont.day5.."|"..windfont.day6.."|"..windfont.day7.."|"..windfont.day8.."|"..windfont.day9.."|"..windfont.day10
local datastringmoonfont=moonfont.day1.."|"..moonfont.day2.."|"..moonfont.day3.."|"..moonfont.day4.."|"..moonfont.day5.."|"..moonfont.day6.."|"..moonfont.day7.."|"..moonfont.day8.."|"..moonfont.day9.."|"..moonfont.day10
--set alldata string
alldata=datastringnow.."<>"..datastringday1.."<>"..datastringday2.."<>"..datastringday3.."<>"..datastringday4.."<>:"..datastringday5.."<>"..datastringday6.."<>"..datastringday7.."<>"..datastringday8.."<>"..datastringday9.."<>"..datastringday10.."<>"..datastringfont.."<>"..datastringimage.."<>"..datastringwindfont.."<>"..datastringmoonfont
--write alldata string
local file = io.open(location, "w")
file:write(alldata)
file:close()
--######################################################################################################################################################################################################################################################################################################################################################
--set alldata string
alldata=datastringnow.."<>"..datastringday1.."<>"..datastringday2.."<>"..datastringday3.."<>"..datastringday4.."<>:"..datastringday5.."<>"..datastringday6.."<>"..datastringday7.."<>"..datastringday8.."<>"..datastringday9.."<>"..datastringday10.."<>"..datastringfont.."<>"..datastringimage.."<>"..datastringwindfont.."<>"..datastringmoonfont
--remove any open variables except all data
wimage={}
windfontt={}
moonfontt={}
data1=nil
data={}
fdata1=nil
fdata={}
fdata2={}
icondata1=nil
icondata={}
icondata2={}
cdn={}
con=nil
cd2=nil
wdr={}
now={}
dyt={}
uvi={}
wsp={}
wdr={}
day1={}
day2={}
day3={}
day4={}
day5={}
day6={}
day7={}
day8={}
day9={}
day10={}
nowif={}
day1if={}
day2if={}
day3if={}
day4if={}
day5if={}
day6if={}
day7if={}
day8if={}
day9if={}
day10if={}
image={}
font={}
windfont={}
moonfont={}
end--timed section
--##################################################
--#read written data and process for conyrc restart#
--##################################################
if alldata==nil then
local f=io.popen("cat '"..location.."'")
alldata=f:read("*a")
f:close()
end
--################################
daydata=string.split(alldata,"<>")
now=string.split(daydata[1],"|")
day1=string.split(daydata[2],"|")
day2=string.split(daydata[3],"|")
day3=string.split(daydata[4],"|")
day4=string.split(daydata[5],"|")
day5=string.split(daydata[6],"|")
day6=string.split(daydata[7],"|")
day7=string.split(daydata[8],"|")
day8=string.split(daydata[9],"|")
day9=string.split(daydata[10],"|")
day10=string.split(daydata[11],"|")
font=string.split(daydata[12],"|")
image=string.split(daydata[13],"|")
windfont=string.split(daydata[14],"|")
moonfont=string.split(daydata[15],"|")
--set individual data points
now={con=now[1],tmp=now[2],flk=now[3],wch=now[4],cel=now[5],hid=now[6],vis=now[7],dpt=now[8],wsp=now[9],wdg=now[10],wdi=now[11],wgs=now[12],hum=now[13],prs=now[14],cd2=now[15]}
day1={day=day1[1],dat=day1[2],con=day1[3],hih=day1[4],low=day1[5],sri=day1[6],sst=day1[7],mri=day1[8],mst=day1[9],uvn=day1[10],uvt=day1[11],hum=day1[12],ppt=day1[13],snw=day1[14],cld=day1[15],mph=day1[16],wmh=day1[17],wkm=day1[18],wkt=day1[19],wdg=day1[20],wdi=day1[21],cd2=day1[22],das=day1[23]}
day2={day=day2[1],dat=day2[2],con=day2[3],hih=day2[4],low=day2[5],sri=day2[6],sst=day2[7],mri=day2[8],mst=day2[9],uvn=day2[10],uvt=day2[11],hum=day2[12],ppt=day2[13],snw=day2[14],cld=day2[15],mph=day2[16],wmh=day2[17],wkm=day2[18],wkt=day2[19],wdg=day2[20],wdi=day2[21],cd2=day2[22],das=day2[23]}
day3={day=day3[1],dat=day3[2],con=day3[3],hih=day3[4],low=day3[5],sri=day3[6],sst=day3[7],mri=day3[8],mst=day3[9],uvn=day3[10],uvt=day3[11],hum=day3[12],ppt=day3[13],snw=day3[14],cld=day3[15],mph=day3[16],wmh=day3[17],wkm=day3[18],wkt=day3[19],wdg=day3[20],wdi=day3[21],cd2=day3[22],das=day3[23]}
day4={day=day4[1],dat=day4[2],con=day4[3],hih=day4[4],low=day4[5],sri=day4[6],sst=day4[7],mri=day4[8],mst=day4[9],uvn=day4[10],uvt=day4[11],hum=day4[12],ppt=day4[13],snw=day4[14],cld=day4[15],mph=day4[16],wmh=day4[17],wkm=day4[18],wkt=day4[19],wdg=day4[20],wdi=day4[21],cd2=day4[22],das=day4[23]}
day5={day=string.gsub(day5[1],":",""),dat=day5[2],con=day5[3],hih=day5[4],low=day5[5],sri=day5[6],sst=day5[7],mri=day5[8],mst=day5[9],uvn=day5[10],uvt=day5[11],hum=day5[12],ppt=day5[13],snw=day5[14],cld=day5[15],mph=day5[16],wmh=day5[17],wkm=day5[18],wkt=day5[19],wdg=day5[20],wdi=day5[21],cd2=day5[22],das=day5[23]}
day6={day=day6[1],dat=day6[2],con=day6[3],hih=day6[4],low=day6[5],sri=day6[6],sst=day6[7],mri=day6[8],mst=day6[9],uvn=day6[10],uvt=day6[11],hum=day6[12],ppt=day6[13],snw=day6[14],cld=day6[15],mph=day6[16],wmh=day6[17],wkm=day6[18],wkt=day6[19],wdg=day6[20],wdi=day6[21],cd2=day6[22],das=day6[23]}
day7={day=day7[1],dat=day7[2],con=day7[3],hih=day7[4],low=day7[5],sri=day7[6],sst=day7[7],mri=day7[8],mst=day7[9],uvn=day7[10],uvt=day7[11],hum=day7[12],ppt=day7[13],snw=day7[14],cld=day7[15],mph=day7[16],wmh=day7[17],wkm=day7[18],wkt=day7[19],wdg=day7[20],wdi=day7[21],cd2=day7[22],das=day7[23]}
day8={day=day8[1],dat=day8[2],con=day8[3],hih=day8[4],low=day8[5],sri=day8[6],sst=day8[7],mri=day8[8],mst=day8[9],uvn=day8[10],uvt=day8[11],hum=day8[12],ppt=day8[13],snw=day8[14],cld=day8[15],mph=day8[16],wmh=day8[17],wkm=day8[18],wkt=day8[19],wdg=day8[20],wdi=day8[21],cd2=day8[22],das=day8[23]}
day9={day=day9[1],dat=day9[2],con=day9[3],hih=day9[4],low=day9[5],sri=day9[6],sst=day9[7],mri=day9[8],mst=day9[9],uvn=day9[10],uvt=day9[11],hum=day9[12],ppt=day9[13],snw=day9[14],cld=day9[15],mph=day9[16],wmh=day9[17],wkm=day9[18],wkt=day9[19],wdg=day9[20],wdi=day9[21],cd2=day9[22],das=day9[23]}
day10={day=day10[1],dat=day10[2],con=day10[3],hih=day10[4],low=day10[5],sri=day10[6],sst=day10[7],mri=day10[8],mst=day10[9],uvn=day10[10],uvt=day10[11],hum=day10[12],ppt=day10[13],snw=day10[14],cld=day10[15],mph=day10[16],wmh=day10[17],wkm=day10[18],wkt=day10[19],wdg=day10[20],wdi=day10[21],cd2=day10[22],das=day10[23]}
font={now=font[1],day1=font[2],day2=font[3],day3=font[4],day4=font[5],day5=font[6],day6=font[7],day7=font[8],day8=font[9],day9=font[10],day10=font[11]}
image={now=image[1],day1=image[2],day2=image[3],day3=image[4],day4=image[5],day5=image[6],day6=image[7],day7=image[8],day8=image[9],day9=image[10],day10=image[11]}
windfont={now=windfont[1],day1=windfont[2],day2=windfont[3],day3=windfont[4],day4=windfont[5],day5=windfont[6],day6=windfont[7],day7=windfont[8],day8=windfont[9],day9=windfont[10],day10=windfont[11]}
moonfont={day1=moonfont[1],day2=moonfont[2],day3=moonfont[3],day4=moonfont[4],day5=moonfont[5],day6=moonfont[6],day7=moonfont[7],day8=moonfont[8],day9=moonfont[9],day10=moonfont[10]}
return ""
--#########################################
end--weather data gathering function#######
--#########################################
--#############################################################
function conky_weather(conkydata,xpos,ypos,scale1,scale2)--####
--#############################################################
if xpos==nil then xpos=0 end
if ypos==nil then ypos=0 end
if scale1==nil then scale1=0 end
if scale2==nil then scale2=0 end
--########################
--####print moon font#####
--########################
if string.find(conkydata,"moonfont")~=nil then
local wfont="Moon Phases"
local text=(loadstring("return "..conkydata)())
txt(text,xpos,ypos,wfont,scale1,scale2)
conkydata=""
end--moon font
--########################
--####print wind font#####
--########################
if string.find(conkydata,"windfont")~=nil then
local wfont="ConkyWindNESW"
local text=(loadstring("return "..conkydata)())
txt(text,xpos,ypos,wfont,scale1,scale2)
conkydata=""
end--wind font
--########################
--####print weather font#####
--########################
--weather font comes last as will match windfont and moonfont
if string.find(conkydata,"font")~=nil then
local wfont="ConkyWeather"
local text=(loadstring("return "..conkydata)())
txt(text,xpos,ypos,wfont,scale1,scale2)
conkydata=""
end--weather font
--#######################
--#####weather image#####
--#######################
if string.find(conkydata,"image")~=nil then
output="${image "..weathericons..(loadstring("return "..conkydata)())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}"
conkydata=""
elseif
loadstring("return " .. conkydata)()==nil then
output=""
else
output=(loadstring("return " .. conkydata)())
end
--------------------------------------
--------------------------------------
return output
--######################
end--main function######
--######################
function txt(dtext,dxpos,dypos,dfont,dfsize,dcolor)
---------------------------------------------
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)
local cr = cairo_create(cs)
---------------------------------------------
--set font and size
local function rgb_to_r_g_b(color)
return ((color/0x10000) % 0x100)/255,((color/0x100) % 0x100)/255,(color % 0x100)/255,1
end
cairo_select_font_face (cr, dfont, CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size (cr, dfsize)
--get extents info
local extents=cairo_text_extents_t:create()
cairo_text_extents(cr,dtext,extents)
local xb=extents.x_bearing
local yb=extents.y_bearing
local height=extents.height
local ybadj=-height-yb
--set color
cairo_set_source_rgba (cr ,rgb_to_r_g_b(dcolor))
cairo_move_to (cr,dxpos-xb,dypos+ybadj)
cairo_show_text (cr,dtext)
cairo_stroke (cr)
---------------------------------
cairo_destroy(cr)
cairo_surface_destroy(cs)
end--function