When you live on a rock there are certain things you need to know.
--> like: time, weather and computer stuff!
Bunch of people to thank for this,
An extremely interesting clock!
conky:
Code: Select all
# killall conky && conky -c /media/5/Conky/jed_greyclock_conkyrc &
# from jed
# — Conky settings — #
background yes
update_interval 1
#total_run_times 0
#net_avg_samples 2
override_utf8_locale yes
double_buffer yes
no_buffers yes
text_buffer_size 256
imlib_cache_size 0
# — Window specifications — #
own_window_type normal #override
own_window_class Conky
own_window yes
own_window_transparent yes
own_window_hints undecorated,below,skip_taskbar,skip_pager
border_inner_margin 0
border_outer_margin 0
minimum_size 600 840
maximum_width 460
alignment br
gap_x 10
gap_y 30
# — Graphics settings — #
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
# — Text settings — #
use_xft yes
xftfont DS\-Digital:size=12
xftalpha 1.0
default_color 227992 ##dark red A84C47 ##opaque white FFFFFF
default_shade_color gray
default_outline_color black
color0 8FBC8F #143 188 143 DarkSeaGreen
color1 778899 #119 136 153 LightSlateGray
color2 FF8C00 #255 140 0 DarkOrange
color3 7FFF00 #127 255 0 Chartreuse
color4 FFA07A #255 160 122 LightSalmon
color5 FFDEAD #255 222 173 NavajoWhite
color6 00BFFF # 0 191 255 DeepSkyBlue
color7 00FFFF # 0 255 255 Cyan
color8 FFFF00 #255 255 0 Yellow
color9 B22222 #178 34 34 FireBrick
uppercase no
use_spacer right
# — Lua Load — #
lua_load /media/5/Conky/LUA/greyclock.lua
lua_draw_hook_post main
lua_load ~/v9000/v9000.lua
lua_draw_hook_pre weather
lua_load /media/5/Conky/LUA/chrono-full_jed.template.lua
#lua_load /media/5/Conky/LUA/crono_full_2.template.lua
lua_load /media/5/Conky/LUA/draw-bg.lua
TEXT
${lua conky_draw_bg 30 0 0 0 0 0x000000 0.5}
chrono-full_jed.template.lua - now modified
Code: Select all
--[[
The latest script is a lua only weather script. aka: v9000
http://crunchbang.org/forums/viewtopic.php?id=16100
the file:
http://dl.dropbox.com/u/19008369/weatheragain9000.lua.tar.gz
mrppeachys LUA Tutorial
http://crunchbang.org/forums/viewtopic.php?id=17246
]]
_G.weather_script = function()--#### DO NOT EDIT THIS LINE ##############
--these tables hold the coordinates for each repeat do not edit #########
top_left_x_coordinate={}--###############################################
top_left_y_coordinate={}--###############################################
--#######################################################################
--SET DEFAULTS ##########################################################
--set defaults do not localise these defaults if you use a seperate display script
default_font="monofur"--font must be in quotes
default_font_size=16
default_color=0xffffff --white
default_alpha=1 --fully opaque
default_image_width=50
default_image_height=50
-- ## New Options ###
default_face="bold"
-- "normal" for normal/normal
-- "bold" for normal/bold
-- "italic" for italic/normal
-- "bolditalic" for italic/bold
--END OF DEFAULTS #######################################################
--START OF WEATHER CODE -- START OF WEATHER CODE -- START OF WEATHER CODE
--[[ forecast
datay=450 --375
datayy=15 --datay+(datayy*1)
datafx1=20
imgx=35
imgy=575
imgyy=60 -- imgy+(imgyy*1)
]]
-- forecast
datay=450
datayy=15 --datay+(datayy*1)
datafx1=20
imgx=45
imgy=575
imgyy=60 -- imgy+(imgyy*1)
ih=60
iw=60
-- ======================================================================
-- SUN & MOON RISE ------------------------------------------------------
out({c=0xFAFAEC,a=1,x=10,y=25,txt="Sunrise"})
out({c=0xFAFAEC,a=1,x=20,y=40,txt=sun_rise_24[1]})
out({c=0xC0C0C0,a=1,x=382,y=25,txt="Moonrise"})
out({c=0xC0C0C0,a=1,x=392,y=40,txt=moon_rise_24[1]})
-- SUN & MOON SET -------------------------------------------------------
out({c=0xFAFAEC,a=1,x=10,y=410,txt="Sunset"})
out({c=0xFAFAEC,a=1,x=15,y=425,txt=sun_set_24[1]})
out({c=0xC0C0C0,a=1,x=382,y=410,txt="Moonset"})
out({c=0xC0C0C0,a=1,x=392,y=425,txt=moon_set_24[1]})
-- ======================================================================
-- MOON PHASE - CENTRE --------------------------------------------------
image({x=170,y=170,w=120,h=120,file=moon_icon[1]})
-- image({x=170,y=170,w=120,h=120,file="/media/5/Conky/images/red+.png"})
out({c=0xFFFFFF,a=1.0,x=190,y=235,txt=moon_phase[1]})
-- ======================================================================
-- CURRENT FOR TODAY - SEE TOP LEFT -------------------------------------
image({x=110,y=100,w=60,h=60,file=now["weather_icon"]})
-- image({x=110,y=100,w=60,h=60,file="/media/5/Conky/images/red+.png"})
out({c=0xFAFAEC,a=1,x=120,y=100,txt="T "})
out({c=0xFF8C00,fs=14,a=1,x=135,y=100,txt=now["temp"].."°"})
out({c=0xC0C0C0,a=1,x=120,y=170,txt="± "})
out({c=0xC0C0C0,fs=14,a=1,x=135,y=170,txt=now["feels_like"].."°"})
-- FORECAST TODAY - SEE TOP RIGHT ---------------------------------------
image({x=285,y=100,w=60,h=60,file=weather_icon[1]})
-- image({x=285,y=100,w=60,h=60,file="/media/5/Conky/images/red+.png"})
out({c=0xFF8C00,fs=14,a=1,x=295,y=100,txt="↑"})
out({c=0xFF8C00,fs=14,a=1,x=305,y=100,txt=high_temp[1].."°"})
out({c=0xC0C0C0,fs=14,a=1,x=295,y=170,txt="↓"})
out({c=0xC0C0C0,fs=14,a=1,x=305,y=170,txt=low_temp[1].."°"})
-- ======================================================================
-- WIND INFORMATION - SEE BOTTOM ----------------------------------------
image({x=185,y=290,w=90,h=90,file=now["wind_icon"]})
-- image({x=185,y=290,w=90,h=90,file="/media/5/Conky/images/red+.png"})
out({c=0xffffff,a=0.5,x=158,y=341,txt=now["wind_deg"]})
out({c=0xffffff,a=0.5,x=273,y=341,txt=now["wind_nesw"]})
-- out({c=0xffffff,a=1,x=333,y=295,txt="@"})
out({c=0xffffff,a=0.5,x=200,y=390,txt=now["wind_km"].."3"})
-- ======================================================================
-- BOTTOM LEFT
-- Barometric Pressure
out({c=0xFAFAEC,a=1,x=30,y=450,txt=" BP:"})
out({c=0xC0C0C0,a=1,x=60,y=450,txt=now["pressure_mb"].." mb"})
-- Humidity -------------------------------------------------------------
out({c=0xFAFAEC,a=1,x=90,y=495,txt="Hum:"})
out({c=0xC0C0C0,a=1,x=135,y=495,txt=now["humidity"].."%"})
-- Dew Point ------------------------------------------------------------
out({c=0xFAFAEC,a=1,x=90,y=520,txt="DP:"})
out({c=0xC0C0C0,a=1,x=135,y=520,txt=now["dew_point"].."°"})
-- ======================================================================
-- BOTTOM RIGHT
-- Ceiling
-- out({c=0xFAFAEC,a=1,x=265,y=315,txt="Ceil:"})
-- out({c=0x227992,a=1,x=300,y=315,txt=now["ceiling"]})
-- Chance of Rain -------------------------------------------------------
out({c=0xFAFAEC,a=1,x=270,y=495,txt="Rain:"})
out({c=0xC0C0C0,a=1,x=325,y=495,txt=precipitation[1].."%"})
-- Cloud Cover
out({c=0xFAFAEC,a=1,x=270,y=520,txt="Cloud:"})
out({c=0xC0C0C0,a=1,x=325,y=520,txt=cloud_cover[1].."%"})
-- ======================================================================
-- BOTTOM CENTRE
-- UV -------------------------------------------------------------------
out({c=0xFAFAEC,a=1,x=330,y=450,txt="UV:"})
out({c=0xC0C0C0,a=1,x=360,y=450,txt=uv_index_num[1]})
out({c=0xC0C0C0,a=1,x=380,y=450,txt=uv_index_txt[1]})
-- ======================================================================
-- FORECAST FOR NEXT 3 HOURS --------------------------------------------
-- image({x=5,y=353,w=340,h=2,file="/media/5/Conky/images/LightSlateGrey_1.png"})
--out({c=0x227992,a=1,f="Arial",fs=16,x=10,y=448,txt="Next 3 Hours"})
-- out({c=0x227992,a=1,f="Arial",fs=16,x=35,y=463,txt="Hours"})
-- 1st hour
out({c=0xFF9600,x=31,y=470,txt=now["fc_hour1_time_24"]..":00"})
image({w=60,h=60,x=20,y=475,file=now["fc_hour1_wicon"]})
-- image({w=60,h=60,x=20,y=475,file="/media/5/Conky/images/red+.png"})
out({c=0xAFAFAF,x=40,y=550,txt=now["fc_hour1_temp"] .."°"})
-- 2nd hour
out({c=0xFF9600,x=212,y=470,txt=now["fc_hour2_time_24"]..":00"})
image({w=60,h=60,x=200,y=475,file=now["fc_hour2_wicon"]})
-- image({w=60,h=60,x=200,y=475,file="/media/5/Conky/images/red+.png"})
out({c=0xAFAFAF,x=221,y=550,txt=now["fc_hour2_temp"] .."°"})
-- 3rd hour
out({c=0xFF9600,x=392,y=470,txt=now["fc_hour3_time_24"]..":00"})
image({w=60,h=60,x=380,y=475,file=now["fc_hour3_wicon"]})
-- image({w=60,h=60,x=380,y=475,file="/media/5/Conky/images/red+.png"})
out({c=0xAFAFAF,x=401,y=550,txt=now["fc_hour3_temp"] .."°"})
-- ======================================================================
-- FORECAST for the next 9 days
-- Forecast day 2 -- x = l|r y = u|d
out({c=0x9ACD32,a=1,x=datafx1*0.4,y=datay+(datayy*8),txt=forecast_day_short[2]})
out({c=0x9ACD32,a=1,x=datafx1*2.4,y=datay+(datayy*8),txt=forecast_date[2]})
out({c=0x9ACD32,a=1,x=datafx1*4.0,y=datay+(datayy*8),txt=forecast_month_short[2]})
image({w=iw,h=ih,x=imgx*0.6,y=imgy,file=weather_icon[2]})
-- image({w=iw,h=ih,x=imgx*0.6,y=imgy,file="/media/5/Conky/images/red+.png"})
out({c=0xFF8C00,a=1,x=datafx1*0.4,y=datay+(datayy*9.5),txt=high_temp[2]})
out({c=0x00BFFF,a=1,x=datafx1*0.4,y=datay+(datayy*11),txt=low_temp[2]})
out({c=0xFAFAEC,a=1,x=datafx1*4.6,y=datay+(datayy*9.0),txt=sun_rise_24[2]})
out({c=0xFAFAEC,a=1,x=datafx1*4.6,y=datay+(datayy*10.1),txt=sun_set_24[2]})
out({c=0xC0C0C0,a=1,x=datafx1*4.6,y=datay+(datayy*11.5),txt=moon_rise_24[2]})
out({c=0xC0C0C0,a=1,x=datafx1*4.6,y=datay+(datayy*12.5),txt=moon_set_24[2]})
-- Forecast day 3 -- x = l|r y = u|d
out({c=0x9ACD32,a=1,x=datafx1*8.3,y=datay+(datayy*8),txt=forecast_day_short[3]})
out({c=0x9ACD32,a=1,x=datafx1*10.5,y=datay+(datayy*8),txt=forecast_date[3]})
out({c=0x9ACD32,a=1,x=datafx1*12.2,y=datay+(datayy*8),txt=forecast_month_short[3]})
image({w=iw,h=ih,x=imgx*4.15,y=imgy,file=weather_icon[3]})
-- image({w=iw,h=ih,x=imgx*4.15,y=imgy,file="/media/5/Conky/images/red+.png"})
out({c=0xFF8C00,a=1,x=datafx1*8.2,y=datay+(datayy*9.5),txt=high_temp[3]})
out({c=0x00BFFF,a=1,x=datafx1*8.2,y=datay+(datayy*11),txt=low_temp[3]})
out({c=0xFAFAEC,a=1,x=datafx1*12.6,y=datay+(datayy*9.0),txt=sun_rise_24[3]})
out({c=0xFAFAEC,a=1,x=datafx1*12.6,y=datay+(datayy*10.1),txt=sun_set_24[3]})
out({c=0xC0C0C0,a=1,x=datafx1*12.6,y=datay+(datayy*11.5),txt=moon_rise_24[3]})
out({c=0xC0C0C0,a=1,x=datafx1*12.6,y=datay+(datayy*12.5),txt=moon_set_24[3]})
-- Forecast day 4 -- x = l|r y = u|d
out({c=0x9ACD32,a=1,x=datafx1*16.0,y=datay+(datayy*8),txt=forecast_day_short[4]})
out({c=0x9ACD32,a=1,x=datafx1*18.1,y=datay+(datayy*8),txt=forecast_date[4]})
out({c=0x9ACD32,a=1,x=datafx1*19.8,y=datay+(datayy*8),txt=forecast_month_short[4]})
image({w=iw,h=ih,x=imgx*7.52,y=imgy,file=weather_icon[4]})
-- image({w=iw,h=ih,x=imgx*7.52,y=imgy,file="/media/5/Conky/images/red+.png"})
out({c=0xFF8C00,a=1,x=datafx1*15.8,y=datay+(datayy*9.5),txt=high_temp[4]})
out({c=0x00BFFF,a=1,x=datafx1*15.8,y=datay+(datayy*11),txt=low_temp[4]})
out({c=0xFAFAEC,a=1,x=datafx1*20.3,y=datay+(datayy*9.0),txt=sun_rise_24[4]})
out({c=0xFAFAEC,a=1,x=datafx1*20.3,y=datay+(datayy*10.1),txt=sun_set_24[4]})
out({c=0xC0C0C0,a=1,x=datafx1*20.3,y=datay+(datayy*11.5),txt=moon_rise_24[4]})
out({c=0xC0C0C0,a=1,x=datafx1*20.3,y=datay+(datayy*12.5),txt=moon_set_24[4]})
-- ======================================================================
-- Forecast day 5 -- x = l|r y = u|d
out({c=0x9ACD32,a=1,x=datafx1*0.4,y=datay+(datayy*14.5),txt=forecast_day_short[5]})
out({c=0x9ACD32,a=1,x=datafx1*2.4,y=datay+(datayy*14.5),txt=forecast_date[5]})
out({c=0x9ACD32,a=1,x=datafx1*4.0,y=datay+(datayy*14.5),txt=forecast_month_short[5]})
image({w=iw,h=ih,x=imgx*0.6,y=imgy+(imgyy*1.6),file=weather_icon[5]})
-- image({w=iw,h=ih,x=imgx*0.6,y=imgy+(imgyy*1.6),file="/media/5/Conky/images/red+.png"})
out({c=0xFF8C00,a=1,x=datafx1*0.4,y=datay+(datayy*16.2),txt=high_temp[5]})
out({c=0x00BFFF,a=1,x=datafx1*0.4,y=datay+(datayy*17.7),txt=low_temp[5]})
out({c=0xFAFAEC,a=1,x=datafx1*4.6,y=datay+(datayy*15.5),txt=sun_rise_24[5]})
out({c=0xFAFAEC,a=1,x=datafx1*4.6,y=datay+(datayy*16.6),txt=sun_set_24[5]})
out({c=0xC0C0C0,a=1,x=datafx1*4.6,y=datay+(datayy*18.0),txt=moon_rise_24[5]})
out({c=0xC0C0C0,a=1,x=datafx1*4.6,y=datay+(datayy*18.9),txt=moon_set_24[5]})
-- Forecast day 6 -- x = l|r y = u|d
out({c=0x9ACD32,a=1,x=datafx1*8.3,y=datay+(datayy*14.5),txt=forecast_day_short[6]})
out({c=0x9ACD32,a=1,x=datafx1*10.5,y=datay+(datayy*14.5),txt=forecast_date[6]})
out({c=0x9ACD32,a=1,x=datafx1*12.2,y=datay+(datayy*14.5),txt=forecast_month_short[6]})
image({w=iw,h=ih,x=imgx*4.18,y=imgy+(imgyy*1.6),file=weather_icon[6]})
-- image({w=iw,h=ih,x=imgx*4.18,y=imgy+(imgyy*1.6),file="/media/5/Conky/images/red+.png"})
out({c=0xFF8C00,a=1,x=datafx1*8.2,y=datay+(datayy*16.2),txt=high_temp[6]})
out({c=0x00BFFF,a=1,x=datafx1*8.2,y=datay+(datayy*17.7),txt=low_temp[6]})
out({c=0xFAFAEC,a=1,x=datafx1*12.6,y=datay+(datayy*15.5),txt=sun_rise_24[6]})
out({c=0xFAFAEC,a=1,x=datafx1*12.6,y=datay+(datayy*16.6),txt=sun_set_24[6]})
out({c=0xC0C0C0,a=1,x=datafx1*12.6,y=datay+(datayy*18.0),txt=moon_rise_24[6]})
out({c=0xC0C0C0,a=1,x=datafx1*12.6,y=datay+(datayy*18.9),txt=moon_set_24[6]})
-- Forecast day 7 -- x = l|r y = u|d
out({c=0x9ACD32,a=1,x=datafx1*16.0,y=datay+(datayy*14.5),txt=forecast_day_short[7]})
out({c=0x9ACD32,a=1,x=datafx1*18.1,y=datay+(datayy*14.5),txt=forecast_date[7]})
out({c=0x9ACD32,a=1,x=datafx1*19.8,y=datay+(datayy*14.5),txt=forecast_month_short[7]})
image({w=iw,h=ih,x=imgx*7.49,y=imgy+(imgyy*1.6),file=weather_icon[7]})
-- image({w=iw,h=ih,x=imgx*7.49,y=imgy+(imgyy*1.6),file="/media/5/Conky/images/red+.png"})
out({c=0xFF8C00,a=1,x=datafx1*15.8,y=datay+(datayy*16.2),txt=high_temp[7]})
out({c=0x00BFFF,a=1,x=datafx1*15.8,y=datay+(datayy*17.7),txt=low_temp[7]})
out({c=0xFAFAEC,a=1,x=datafx1*20.3,y=datay+(datayy*15.5),txt=sun_rise_24[7]})
out({c=0xFAFAEC,a=1,x=datafx1*20.3,y=datay+(datayy*16.6),txt=sun_set_24[7]})
out({c=0xC0C0C0,a=1,x=datafx1*20.3,y=datay+(datayy*18.0),txt=moon_rise_24[7]})
out({c=0xC0C0C0,a=1,x=datafx1*20.3,y=datay+(datayy*18.9),txt=moon_set_24[7]})
-- ======================================================================
-- Forecast day 8 -- x = l|r y = u|d
out({c=0x9ACD32,a=1,x=datafx1*0.4,y=datay+(datayy*21),txt=forecast_day_short[8]})
out({c=0x9ACD32,a=1,x=datafx1*2.5,y=datay+(datayy*21),txt=forecast_date[8]})
out({c=0x9ACD32,a=1,x=datafx1*4.2,y=datay+(datayy*21),txt=forecast_month_short[8]})
image({w=iw,h=ih,x=imgx*0.6,y=imgy+(imgyy*3.2),file=weather_icon[8]})
-- image({w=iw,h=ih,x=imgx*0.6,y=imgy+(imgyy*3.2),file="/media/5/Conky/images/red+.png"})
out({c=0xFF8C00,a=1,x=datafx1*0.4,y=datay+(datayy*22.5),txt=high_temp[8]})
out({c=0x00BFFF,a=1,x=datafx1*0.4,y=datay+(datayy*24),txt=low_temp[8]})
out({c=0xFAFAEC,a=1,x=datafx1*4.6,y=datay+(datayy*21.9),txt=sun_rise_24[8]})
out({c=0xFAFAEC,a=1,x=datafx1*4.6,y=datay+(datayy*22.9),txt=sun_set_24[8]})
out({c=0xC0C0C0,a=1,x=datafx1*4.6,y=datay+(datayy*24.4),txt=moon_rise_24[8]})
out({c=0xC0C0C0,a=1,x=datafx1*4.6,y=datay+(datayy*25.4),txt=moon_set_24[8]})
-- Forecast day 9 -- x = l|r y = u|d
out({c=0x9ACD32,a=1,x=datafx1*8.3,y=datay+(datayy*21),txt=forecast_day_short[9]})
out({c=0x9ACD32,a=1,x=datafx1*10.5,y=datay+(datayy*21),txt=forecast_date[9]})
out({c=0x9ACD32,a=1,x=datafx1*12.2,y=datay+(datayy*21),txt=forecast_month_short[9]})
image({w=iw,h=ih,x=imgx*4.14,y=imgy+(imgyy*3.2),file=weather_icon[9]})
-- image({w=iw,h=ih,x=imgx*4.14,y=imgy+(imgyy*3.2),file="/media/5/Conky/images/red+.png"})
out({c=0xFF8C00,a=1,x=datafx1*8.2,y=datay+(datayy*22.5),txt=high_temp[9]})
out({c=0x00BFFF,a=1,x=datafx1*8.2,y=datay+(datayy*24),txt=low_temp[9]})
out({c=0xFAFAEC,a=1,x=datafx1*12.6,y=datay+(datayy*21.9),txt=sun_rise_24[9]})
out({c=0xFAFAEC,a=1,x=datafx1*12.6,y=datay+(datayy*22.9),txt=sun_set_24[9]})
out({c=0xC0C0C0,a=1,x=datafx1*12.6,y=datay+(datayy*24.4),txt=moon_rise_24[9]})
out({c=0xC0C0C0,a=1,x=datafx1*12.6,y=datay+(datayy*25.4),txt=moon_set_24[9]})
-- Forecast day 10 -- x = l|r y = u|d
out({c=0x9ACD32,a=1,x=datafx1*16.0,y=datay+(datayy*21),txt=forecast_day_short[10]})
out({c=0x9ACD32,a=1,x=datafx1*18.1,y=datay+(datayy*21),txt=forecast_date[10]})
out({c=0x9ACD32,a=1,x=datafx1*19.8,y=datay+(datayy*21),txt=forecast_month_short[10]})
image({w=iw,h=ih,x=imgx*7.55,y=imgy+(imgyy*3.2),file=weather_icon[10]})
-- image({w=iw,h=ih,x=imgx*7.55,y=imgy+(imgyy*3.2),file="/media/5/Conky/images/red+.png"})
out({c=0xFF8C00,a=1,x=datafx1*15.8,y=datay+(datayy*22.5),txt=high_temp[10]})
out({c=0x00BFFF,a=1,x=datafx1*15.8,y=datay+(datayy*24),txt=low_temp[10]})
out({c=0xFAFAEC,a=1,x=datafx1*20.3,y=datay+(datayy*21.9),txt=sun_rise_24[10]})
out({c=0xFAFAEC,a=1,x=datafx1*20.3,y=datay+(datayy*22.9),txt=sun_set_24[10]})
out({c=0xC0C0C0,a=1,x=datafx1*20.3,y=datay+(datayy*24.4),txt=moon_rise_24[10]})
out({c=0xC0C0C0,a=1,x=datafx1*20.3,y=datay+(datayy*25.4),txt=moon_set_24[10]})
--#######################################################################
--END OF WEATHER CODE ----END OF WEATHER CODE ----END OF WEATHER CODE ---
--#######################################################################
end--of weather_display function do not edit this line ##################
--#######################################################################
what I call:
greyclock.lua - a modified version of: cups_n_saucers.lua
Code: Select all
--==============================================================================
-- Cups and Saucers
-- Lua conky script
--
-- author : Abu Yahya (abuyahya) - http://tiny.cc/whbpow
-- license : Distributed under the terms of GNU GPL v3
-- 30.05.2012
-- v.1.0.1
--==============================================================================
-- got this from jed who said some striiped the above info
-- I put it back in - Thanks to abuyahya for a nice clock.
-- greyclock.lua
require 'cairo'
--------------------------------------------------------------------------------
----Adjustable Settings
coffee_table = {
-- HOUR HAND
{
name='time', arg='%I.%M',
max_value=12, x=230, y=230,
cup_radius=112, cup_wall_thickness=90,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
handle_length=70, handle_circ=5,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.6,
graduation_radius=184, graduation_thickness=8,
graduation_mark_circ=1.5, graduation_mark_angle=30,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.5,
saucer_thickness=6, thick_saucer_circ=11/12,
saucer_radius=195, thin_saucer_circ=11/12,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha=0.3,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.0,
inner_saucer=true,
txt_weight=0, txt_size=8.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.0,
caption='', caption2='',
},
-- DOT IN CENTRE
{
name='time', arg='%H',
max_value=12, x=230, y=230,
cup_radius=2, cup_wall_thickness=3,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
handle_length=40, handle_circ=4,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.0,
graduation_radius=187, graduation_thickness=1,
graduation_mark_circ=0.5, graduation_mark_angle=3,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.5,
saucer_thickness=6, thick_saucer_circ=11/12,
saucer_radius=195, thin_saucer_circ=11/12,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha=0.0,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.0,
inner_saucer=true,
txt_weight=0, txt_size=8.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.0,
caption='', caption2='',
},
-- MINUTE HAND
{
name='time', arg='%M',
max_value=60, x=230, y=230,
cup_radius=118, cup_wall_thickness=120,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
handle_length=110, handle_circ=3,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.6,
graduation_radius=183, graduation_thickness=10,
graduation_mark_circ=2.5, graduation_mark_angle=90,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.5,
saucer_thickness=6, thick_saucer_circ=11/12,
saucer_radius=220, thin_saucer_circ=11/12,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha=0.3,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.0,
inner_saucer=true,
txt_weight=0, txt_size=8.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.0,
caption='', caption2='',
},
-- SECOND HAND
{
name='time', arg='%S',
max_value=60, x=230, y=230,
cup_radius=120, cup_wall_thickness=120,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
handle_length=118, handle_circ=1,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.5,
graduation_radius=185, graduation_thickness=6,
graduation_mark_circ=0.5, graduation_mark_angle=6,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.5,
saucer_thickness=5, thick_saucer_circ=1,
saucer_radius=205, thin_saucer_circ=11/12,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha=0.4,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.4,
inner_saucer=true,
txt_weight=0, txt_size=8.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.0,
caption='', caption2='',
},
-- CPU CIRCLE - TOP
{
name='cpu', arg='cpu0',
max_value=100, x=350, y=230,
cup_radius=20, cup_wall_thickness=40,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
cup_start_angle=0,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.0,
handle_length=40, handle_circ=4,
graduation_radius=35, graduation_thickness=3,
graduation_mark_circ=2, graduation_mark_angle=36,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.6,
saucer_thickness=6, thick_saucer_circ=0.85,
saucer_radius=40, thin_saucer_circ=0.85,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha= 0.3,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.5,
inner_saucer=true,
xtxt=-20, ytxt= -12,
txt_weight=0, txt_size=10.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.8,
caption='CPU ', caption2=' %',
},
--[[ -- BOTTOM RIGHT - LEFT OF WIND!
{
name='cpu', arg='cpu1',
max_value=100, x=120, y=320,
cup_radius=20, cup_wall_thickness=40,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
cup_start_angle=0,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.0,
handle_length=40, handle_circ=4,
xtxt=-20, ytxt= -8,
txt_weight=0, txt_size=8.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.8,
caption=' 1 ', caption2=' %',
graduation_radius=25, graduation_thickness=3,
graduation_mark_circ=2, graduation_mark_angle=36,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.6,
saucer_thickness=3, thick_saucer_circ=0.85,
saucer_radius=30, thin_saucer_circ=0.85,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha= 0.3,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.5,
inner_saucer=true,
},
{
name='cpu', arg='cpu2',
max_value=100, x=120, y=320,
cup_radius=20, cup_wall_thickness=40,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
cup_start_angle=0,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.0,
handle_length=40, handle_circ=4,
xtxt=-20, ytxt= 3,
txt_weight=0, txt_size=8.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.8,
caption=' 2 ', caption2=' %',
graduation_radius=25, graduation_thickness=3,
graduation_mark_circ=2, graduation_mark_angle=36,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.6,
saucer_thickness=3, thick_saucer_circ=0.85,
saucer_radius=30, thin_saucer_circ=0.85,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha= 0.3,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.5,
inner_saucer=true,
},
{
name='cpu', arg='cpu3',
max_value=100, x=120, y=320,
cup_radius=20, cup_wall_thickness=40,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
cup_start_angle=0,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.0,
handle_length=40, handle_circ=4,
xtxt=-20, ytxt= 14,
txt_weight=0, txt_size=8.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.8,
caption=' 3 ', caption2=' %',
graduation_radius=25, graduation_thickness=3,
graduation_mark_circ=2, graduation_mark_angle=36,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.6,
saucer_thickness=3, thick_saucer_circ=0.85,
saucer_radius=30, thin_saucer_circ=0.85,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha= 0.3,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.5,
inner_saucer=true,
},
]]
-- CPU CIRCLE - TOP
{
name='freq_g', arg='/',
max_value=5, x=350, y=230,
cup_radius=12, cup_wall_thickness=23,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
cup_start_angle=0,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.0,
handle_length=40, handle_circ=4,
graduation_radius=25, graduation_thickness=6,
graduation_mark_circ=4, graduation_mark_angle=30,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.0,
saucer_thickness=6, thick_saucer_circ=0.75,
saucer_radius=45, thin_saucer_circ=0.75,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha= 0.3,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.5,
inner_saucer=true,
xtxt=-20, ytxt= 0,
txt_weight=0, txt_size=10.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.8,
caption='', caption2=' GHz',
},
-- CPU CIRCLE - TOP
{
name='hwmon', arg='temp 1',
max_value=100, x=350, y=230,
cup_radius=12, cup_wall_thickness=23,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
cup_start_angle=0,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.0,
handle_length=40, handle_circ=4,
graduation_radius=35, graduation_thickness=6,
graduation_mark_circ=2, graduation_mark_angle=36,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.6,
saucer_thickness=6, thick_saucer_circ=0.85,
saucer_radius=40, thin_saucer_circ=0.85,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha= 0.3,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.5,
inner_saucer=true,
xtxt=-15, ytxt= 12,
txt_weight=0, txt_size=10.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.8,
caption='', caption2=' ºC',
},
-- RAM CIRCLE
{
name='memperc', arg='/',
max_value=100, x=230, y=105,
cup_radius=12, cup_wall_thickness=23,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
cup_start_angle=0,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.0,
handle_length=40, handle_circ=4,
graduation_radius=35, graduation_thickness=6,
graduation_mark_circ=2, graduation_mark_angle=36,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.6,
saucer_thickness=6, thick_saucer_circ=0.85,
saucer_radius=40, thin_saucer_circ=0.85,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha= 0.3,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.5,
inner_saucer=true,
xtxt=-25, ytxt=0,
txt_weight=0, txt_size=10.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.8,
caption='RAM ', caption2=' %',
},
-- MEMORY CIRCLE
{
name='fs_used_perc', arg='/home',
max_value=100, x=105, y=230,
cup_radius=12, cup_wall_thickness=27,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
cup_start_angle=0,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.0,
handle_length=40, handle_circ=4,
graduation_radius=35, graduation_thickness=6,
graduation_mark_circ=2, graduation_mark_angle=36,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.6,
saucer_thickness=6, thick_saucer_circ=0.85,
saucer_radius=40, thin_saucer_circ=0.85,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha=0.3,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.5,
inner_saucer=true,
xtxt=-30, ytxt= 12,
txt_weight=0, txt_size=10.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.8,
caption=' FS H: ', caption2=' %',
},
-- MEMORY CIRCLE
{
name='fs_used_perc', arg='/',
max_value=100, x=105, y=230,
cup_radius=12, cup_wall_thickness=27,
cup_bg_clr=0xFFFFFF, cup_bg_alpha=0.0,
cup_fg_clr=0xFFFFFF, cup_fg_alpha=0.0,
cup_start_angle=0,
handle_fg_clr=0xFFFFFF, handle_fg_alpha=0.0,
handle_length=40, handle_circ=4,
graduation_radius=25, graduation_thickness=4,
graduation_mark_circ=4, graduation_mark_angle=36,
graduation_fg_clr=0xFFFFFF, graduation_fg_alpha=0.0,
saucer_thickness=6, thick_saucer_circ=0.85,
saucer_radius=45, thin_saucer_circ=0.85,
saucer_fg_clr=0xFFFFFF, saucer_fg_alpha=0.3,
saucer_mark_fg_clr=0xFFFFFF, saucer_mark_fg_alpha=0.5,
inner_saucer=true,
xtxt=-30, ytxt= -5,
txt_weight=0, txt_size=10.0,
txt_fg_clr=0xFFFFFF, txt_fg_alpha=0.8,
caption=' FS /: ', caption2=' %',
},
}
--Fixed code -do not edit unless you know what you are doing------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- converts color in hexa to decimal
function rgb_to_r_g_b(clr, alpha)
return ((clr / 0x10000) % 0x100) / 255., ((clr / 0x100) % 0x100) / 255., (clr % 0x100) / 255., alpha
end
-------------------------------------------------------------------------------
------------------------------------------------------------------------
local function draw_coffee_table(display, data, value)
max_value = data['max_value']
x, y = data['x'], data['y']
if x==nil then x=conky_window.width/2 end
if y==nil then y=conky_window.height/2 end
cup_radius = data['cup_radius']
if cup_radius==nil then cup_radius=conky_window.width/4 end
cup_wall_thickness = data['cup_wall_thickness']
if cup_wall_thickness==nil then cup_wall_thickness=20 end
handle_length, handle_circ = data['handle_length'], data['handle_circ']
if handle_length==nil then handle_length=20 end
if handle_circ==nil then handle_circ=1 end
cup_start_angle = data['cup_start_angle']
if cup_start_angle == nil then cup_start_angle =0 end
total_angle = data['total_angle']
if total_angle == nil then total_angle=360 end
cup_sector_angle = (math.abs(total_angle))/max_value
cup_end_angle = total_angle + cup_start_angle
cup_bg_clr, cup_bg_alpha = data['cup_bg_clr'], data['cup_bg_alpha']
if cup_bg_clr==nil then cup_bg_clr =0xffffff end
cup_fg_clr, cup_fg_alpha = data['cup_fg_clr'], data['cup_fg_alpha']
if cup_fg_clr==nil then cup_fg_clr =0xffffff end
if cup_fg_alpha==nil then cup_fg_alpha=0 end
handle_fg_clr, handle_fg_alpha = data['handle_fg_clr'], data['handle_fg_alpha']
if handle_fg_clr==nil then handle_fg_clr = 0xffffff end
if handle_fg_alpha==nil then handle_fg_alpha=0 end
saucer_radius = data['saucer_radius']
if saucer_radius==nil then saucer_radius=conky_window.width/2 end
total_saucer_angle=data['total_saucer_angle']
if total_saucer_angle==nil then total_saucer_angle=360 end
saucer_sector_angle=(math.abs(total_saucer_angle))/max_value
saucer_thickness = data['saucer_thickness']
if saucer_thickness==nil then saucer_thickness=6 end
saucer_fg_clr = data['saucer_fg_clr']
if saucer_fg_clr ==nil then saucer_fg_clr=0 end
saucer_fg_alpha = data['saucer_fg_alpha']
if saucer_fg_alpha ==nil then saucer_fg_alpha=0 end
saucer_mark_fg_alpha = data['saucer_mark_fg_alpha']
if saucer_mark_fg_alpha ==nil then saucer_mark_fg_alpha=0 end
saucer_mark_fg_clr = data['saucer_mark_fg_clr']
if saucer_mark_fg_clr ==nil then saucer_mark_fg_clr=0xffffff end
thick_saucer_circ = data['thick_saucer_circ']
if thick_saucer_circ==nil then thick_saucer_circ =0.9 end
thin_saucer_circ = data['thin_saucer_circ']
if thin_saucer_circ==nil then thin_saucer_circ =0.9 end
inner_saucer = data['inner_saucer']
graduation_radius = data['graduation_radius']
if graduation_radius ==nil then graduation_radius = conky_window.width/3 end
graduation_thickness, graduation_mark_circ = data['graduation_thickness'], data['graduation_mark_circ']
if graduation_thickness ==nil then graduation_thickness = 2 end
if graduation_mark_circ ==nil then graduation_mark_circ = 1 end
graduation_mark_angle = data['graduation_mark_angle']
if graduation_mark_angle == nil then graduation_mark_angle = total_angle/10 end
graduation_fg_clr, graduation_fg_alpha = data['graduation_fg_clr'], data['graduation_fg_alpha']
if graduation_fg_clr ==nil then graduation_fg_clr= 0xffffff end
if graduation_fg_alpha==nil then graduation_fg_alpha =0 end
txt_weight, txt_size = data['txt_weight'], data['txt_size']
if txt_weight == nil then txt_weight=1 end
if txt_size == nil then txt_size=8 end
txt_fg_clr, txt_fg_alpha = data['txt_fg_clr'], data['txt_fg_alpha']
if txt_fg_clr ==nil then txt_fg_clr= 0xffffff end
if txt_fg_alpha==nil then txt_fg_alpha =0 end
caption = data['caption']
if caption==nil then caption='' end
caption2 = data['caption2']
if caption2==nil then caption2='' end
xtxt, ytxt= data ['xtxt'], data['ytxt']
if xtxt ==nil then xtxt=0 end
if ytxt ==nil then ytxt=0 end
--convert degree to rad and rotate (0 degree is top/north)
function angle_to_position(start_angle, current_angle)
if total_angle < 0 then
local pos = start_angle - current_angle
return ( ( pos * (math.pi / 180) ) - (math.pi / 2) )
else
local pos = current_angle + start_angle
return ( ( pos * (math.pi / 180) ) - (math.pi / 2) )
end
end
--cup centre background
if cup_bg_alpha >0 then
if total_angle < 0 then
cairo_arc_negative(display, x, y, cup_radius, angle_to_position(cup_start_angle, 0), angle_to_position(cup_end_angle, 0))
else
cairo_arc(display, x, y, cup_radius, angle_to_position(cup_start_angle, 0), angle_to_position(cup_start_angle, cup_end_angle))
end
cairo_set_source_rgba(display, rgb_to_r_g_b(cup_bg_clr, cup_bg_alpha))
cairo_set_line_width(display, cup_wall_thickness)
cairo_stroke(display)
end
--cup wall fg
if cup_fg_alpha > 0 then
local fg_stop_arc = (cup_sector_angle * value)
if total_angle < 0 then
cairo_arc_negative(display, x, y, cup_radius, angle_to_position(cup_start_angle, 0), angle_to_position(cup_start_angle, fg_stop_arc))
else
cairo_arc(display, x, y, cup_radius, angle_to_position(cup_start_angle, 0), angle_to_position(cup_start_angle, fg_stop_arc))
end
cairo_set_source_rgba(display, rgb_to_r_g_b(cup_fg_clr, cup_fg_alpha))
cairo_set_line_width(display, cup_wall_thickness)
cairo_stroke(display)
end
-- cup handle
if handle_fg_alpha>0 then
local start_handle = (cup_sector_angle * value) - (handle_circ*0.5)
local stop_handle = (cup_sector_angle * value) + (handle_circ*0.5)
if total_angle < 0 then
cairo_arc_negative(display, x, y, cup_radius, angle_to_position(cup_start_angle, start_handle), angle_to_position(cup_start_angle, stop_handle))
else
cairo_arc(display, x, y, cup_radius, angle_to_position(cup_start_angle, start_handle), angle_to_position(cup_start_angle, stop_handle))
end
cairo_set_line_width(display, handle_length)
cairo_set_source_rgba(display, rgb_to_r_g_b(handle_fg_clr, handle_fg_alpha))
cairo_stroke(display)
end
--saucers
---thick saucer
if saucer_fg_alpha > 0 and (thin_saucer_circ >0 or thick_saucer_circ > 0)
then
if value < (max_value/2)
then j = value + ((max_value*total_saucer_angle)/720)
else j = value - ((max_value*total_saucer_angle)/720)
end
local start_saucer = (saucer_sector_angle * j) - (value*saucer_sector_angle*0.5*thick_saucer_circ)
local stop_saucer = (saucer_sector_angle * j) + (value*saucer_sector_angle*0.5*thick_saucer_circ)
if total_angle < 0 then
cairo_arc_negative(display, x, y, saucer_radius, angle_to_position(cup_start_angle, start_saucer), angle_to_position(cup_start_angle, stop_saucer))
else
cairo_arc(display, x, y, saucer_radius, angle_to_position(cup_start_angle, start_saucer), angle_to_position(cup_start_angle, stop_saucer))
end
cairo_set_source_rgba(display, rgb_to_r_g_b(saucer_fg_clr, saucer_fg_alpha))
cairo_set_line_width(display, saucer_thickness)
cairo_stroke(display)
--thin saucer
if inner_saucer == true
then rt = (saucer_radius - 0.5) + (0.5 * saucer_thickness)
else rt = (saucer_radius + 0.5) - (0.5 * saucer_thickness)
end
local start_thin_saucer = (saucer_sector_angle * j) - (max_value *0.5*saucer_sector_angle*thin_saucer_circ)
local stop_thin_saucer = (saucer_sector_angle * j) + (max_value *0.5*saucer_sector_angle*thin_saucer_circ)
if total_angle < 0 then
cairo_arc_negative(display, x, y, rt, angle_to_position(cup_start_angle, start_thin_saucer), angle_to_position(cup_start_angle, stop_thin_saucer))
else
cairo_arc(display, x, y, rt, angle_to_position(cup_start_angle, start_thin_saucer), angle_to_position(cup_start_angle, stop_thin_saucer))
end
cairo_set_source_rgba(display, rgb_to_r_g_b(saucer_fg_clr, saucer_fg_alpha))
cairo_set_line_width(display, 1)
cairo_stroke(display)
end
--saucer mark
if saucer_mark_fg_alpha > 0 then
local start_cm = (saucer_sector_angle * value) - (handle_circ *0.5 )
local stop_cm = (saucer_sector_angle * value) + (handle_circ *0.5 )
if total_angle < 0 then
cairo_arc_negative(display, x, y, saucer_radius, angle_to_position(cup_start_angle, start_cm), angle_to_position(cup_start_angle, stop_cm))
else
cairo_arc(display, x, y, saucer_radius, angle_to_position(cup_start_angle, start_cm), angle_to_position(cup_start_angle, stop_cm))
end
cairo_set_source_rgba(display, rgb_to_r_g_b(saucer_mark_fg_clr, saucer_mark_fg_alpha))
cairo_set_line_width(display, saucer_thickness)
cairo_stroke(display)
end
--graduation mark
if graduation_radius > 0 and graduation_thickness > 0 and graduation_mark_angle > 0 then
number_graduation = (math.abs(total_angle) +1)/ graduation_mark_angle
local start_arc_grad = 0
local stop_arc_grad = 0
local i = 0
while i < number_graduation do
local start_arc_grad = (graduation_mark_angle * (i)) - (graduation_mark_circ *0.5)
local stop_arc_grad = (graduation_mark_angle * (i)) + (graduation_mark_circ *0.5)
if total_angle < 0 then
cairo_arc_negative(display, x, y, graduation_radius, angle_to_position(cup_start_angle, start_arc_grad), angle_to_position(cup_start_angle, stop_arc_grad))
else
cairo_arc(display, x, y, graduation_radius, angle_to_position(cup_start_angle, start_arc_grad), angle_to_position(cup_start_angle, stop_arc_grad))
end
cairo_set_source_rgba(display,rgb_to_r_g_b(graduation_fg_clr,graduation_fg_alpha))
cairo_set_line_width(display, graduation_thickness)
cairo_stroke(display)
i = i + 1
end
end
-- text
if txt_fg_alpha>0 then
cairo_select_font_face (display, "hooge 05_53", CAIRO_FONT_SLANT_NORMAL, txt_weight);
cairo_set_font_size (display,txt_size)
cairo_set_source_rgba (display, rgb_to_r_g_b(txt_fg_clr, txt_fg_alpha))
cairo_move_to (display,x+xtxt,y+ytxt)
cairo_show_text (display, caption ) cairo_show_text (display,value)cairo_show_text (display, caption2 )
cairo_stroke (display)
end
end
-------------------------------------------------------------------------------
-- loads data and displays table_settings
function display_coffee_table(display)
local function load_coffee_table(display, data)
local str, value = '', 0
if data['name'] == 'time2' then
local max_value = data['max_value']
str = string.format('${time %s}', data['arg'])
str = conky_parse(str)
local value2 = tonumber(str:sub(0,2))
if value2 == max_value then value2 = 0 end
value = value2 + (tonumber(str:sub(4,5))/60)
else
str = string.format('${%s %s}',data['name'], data['arg'])
str = conky_parse(str)
value = tonumber(str)
end
if value == nil then value = 0 end
draw_coffee_table(display, data, value)
end
for i in pairs(coffee_table) do
load_coffee_table(display, coffee_table[i])
end
end
-------------------------------------------------------------------------------
runscheck = 0 -- fix for draw shades running script twice on every update
function conky_main()
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 display = cairo_create(cs)
local updates = conky_parse('${updates}')
update_num = tonumber(updates)
if update_num > 5 then
cairo_set_antialias (display, CAIRO_ANTIALIAS_SUBPIXEL)
display_coffee_table(display)
cairo_set_antialias (display, CAIRO_ANTIALIAS_DEFAULT)
end
cairo_surface_destroy(cs)
cairo_destroy(display)
end