My first attempt at a conky file.
alignment top_left
background no
border_margin 5
border_width 5
default_color d7d7d7 #413536 # grey 5f5f5f 3F3F3F 183149 3B3B3B 26211F
double_buffer yes
draw_borders no
draw_outline no
draw_shades no
gap_x 850
gap_y 150
maximum_width 1000
minimum_size 175
no_buffers yes
override_utf8_locale yes
own_window yes
own_window_title conky
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_transparent yes
own_window_type conky
own_window_argb_visual yes
own_window_class override
# own_window_type normal ## normal /override /desktop
text_buffer_size 8000
total_run_times 0
update_interval 60
uppercase no
use_xft yes
xftalpha 1
xftfont Freesans:pixelsize=9
# fonts
# Blue Highway
# Zegoe Light - U
# Zekton
# Calibri
# Engebrechtre
# Opeln2001
# Pricedown
TEXT
${font BankGothic:pixelsize=64}${offset -10}${time %d %B, %Y}${font}
${font BankGothic:pixelsize=18}[calendar]${font}
${font BankGothic:pixelsize=15}${exec ruby ~/.conky/cybercalendar/calendar.rb}${font}
${font BankGothic:pixelsize=18}[tasks]${font}
${font BankGothic:pixelsize=15}${exec ruby ~/.conky/cybercalendar/todo.rb}${font}
I use Google Calendar.
puts `gcalcli agenda --nocolor --calendar "<googleaccount>"`.split("\n\n")[0].split(/\d( )+(\d)/)[2..3].join.prepend("\n").gsub(/\n( )+/, "\n").gsub(/\n(\d):/) { |m| "\n0#{$1}:" }.strip
I use Asana for my todo list.
require "json"
require "rest-client"
json = JSON.parse(RestClient.get("https://app.asana.com/api/1.0/projects/<projectid>/tasks?completed_since=now", {Authorization: "Bearer <token>"}))["data"]
puts (json[1...(json.index { |task| task["name"] == "Soon:" })].map { |task| task["name"] })