Heh! That didn't last long! First update of the new year...
When the clock struck midnight, I was confronted with a 6-line calendar, and a single-digit day with two digits (01).
I got rid of the leading '0' on single-digit days of the month, and added a centering algo.
Plus, I moved the calendar frame code to the last line of the script. This will make it easier to align things, when the calendar reverts to 5-lines.
(Click image for full-size view)
.conkyrc
Code:
##################################
## VinDSL | rev. 11-01-01 02:33 ##
##################################
####
## Use XFT? Required to Force UTF8 (see below).
#
use_xft yes
xftfont LiberationSans:size=8.85
xftalpha 0.7
text_buffer_size 2048
####
## Force UTF8? Requires XFT (see above).
## Displays degree symbol, instead of °, etc.
#
override_utf8_locale yes
####
## Update interval in seconds.
#
update_interval 1.5
####
## This is the number of times Conky will update before quitting.
## Set to zero to run forever.
#
total_run_times 0
####
## Create own window instead of using desktop (required in nautilus)?
#
own_window yes
own_window_colour eeeeee
own_window_type override
own_window_transparent yes
####
## Use double buffering? Reduces flicker.
#
double_buffer yes
####
## Draw shades?
#
draw_shades no
####
## Draw outlines?
#
draw_outline no
####
## Draw borders around text?
#
draw_borders no
####
## Draw borders around graphs?
#
draw_graph_borders no
####
## Print text to stdout?
## Print text in console?
#
out_to_ncurses no
out_to_console no
####
## Text alignment.
#
alignment top_right
####
## Minimum size of text area.
#
minimum_size 235 0
####
## Gap between text and screen borders.
#
gap_x 8
gap_y 33
####
## Shorten MiB/GiB to M/G in stats.
#
short_units yes
####
## Pad % symbol spacing after numbers.
#
pad_percents 0
####
## Pad spacing between text and borders.
#
border_inner_margin 4
####
## Limit the length of names in "Top Processes".
#
top_name_width 10
####
## Subtract file system -/+buffers/cache from used memory?
## Set to yes, to produce meaningful physical memory stats.
#
no_buffers yes
####
## Set to yes, if you want all text to be in UPPERCASE.
#
uppercase no
####
## Number of cpu samples to average.
## Set to 1 to disable averaging.
#
cpu_avg_samples 2
####
## Number of net samples to average.
## Set to 1 to disable averaging.
#
net_avg_samples 2
####
## Add spaces to keep things from moving around?
## Only affects certain objects.
#
use_spacer right
####
## My colors (suit yourself).
#
color0 White
color1 Ivory
color2 Ivory2
color3 Ivory3
color4 Tan1
color5 Tan2
color6 Gray
color7 AntiqueWhite4
color8 DarkSlateGray
color9 Black
####
## Load Lua for shading (optional).
## Set the path to your script here.
#
lua_load ~/.conky/draw_bg.lua
lua_draw_hook_pre draw_bg
####
## Installed fonts (required).
#
# ConkyWeather (Stanko Metodiev)
# ConkyWindNESW (Stanko Metodiev)
# Cut Outs for 3D FX (Fonts & Things)
# Liberation Mono (Ascender Corp)
# Liberation Sans (Ascender Corp)
# Moon Phases (Curtis Clark)
# OpenLogos (Icoma)
# PizzaDude Bullets (Jakob Fischer)
# Radio Space (Iconian Fonts)
# StyleBats (Vinterstille)
# Ubuntu (Canonical Ltd)
# Ubuntu Title Bold (Paulo Silva)
# Weather (Jonathan Macagba)
# WenQuanYi Micro Hei (Google Corp)
TEXT
##################
## LOGO ##
##################
${voffset -33}${font OpenLogos:size=103}${color2}v${font}${voffset -76}${goto 178}${font UbuntuTitleBold:size=20}${color4}10.10${font}
##################
## SYSTEM ##
##################
${voffset 20}${font WenQuanYiMicroHei:bold:size=8.75}${color4}SYSTEM${offset 8}${color8}${voffset -2}${hr 2}${font}
${voffset 4}${font OpenLogos:size=10}${color2}u${voffset -4}${font}${color6}${offset 5}${sysname}${offset 5}${kernel}${alignr}${machine}
${voffset 2}${font StyleBats:size=10}${color2}A${voffset -1}${font}${color6}${offset 5}Intel${offset 3}P4${offset 3}Extreme${offset 3}Edition${alignr}${freq_g cpu0}${offset 1}GHz
${voffset 2}${font StyleBats:size=10}${color2}q${voffset -1}${font}${color6}${offset 5}Uptime${alignr}${uptime}
${voffset 2}${font StyleBats:size=10}${color2}o${voffset -1}${font}${color6}${offset 5}File${offset 3}System${alignr}${fs_type}
##################
## PROCESSORS ##
##################
${voffset 6}${font WenQuanYiMicroHei:bold:size=8.75}${color4}PROCESSORS${offset 8}${color8}${voffset -2}${hr 2}${font}
${voffset 4}${font StyleBats:size=10}${color2}k${voffset -2}${font}${color6}${offset 2}CPU1${offset 5}${cpu cpu1}%${color7}${alignr 2}${cpubar 4,153 cpu1}
${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font}${color6}${offset 2}CPU2${offset 5}${cpu cpu2}%${color7}${alignr 2}${cpubar 4,153 cpu2}
##################
## MEMORY ##
##################
${voffset 6}${font WenQuanYiMicroHei:bold:size=8.75}${color4}MEMORY${offset 8}${color8}${voffset -2}${hr 2}${font}
${voffset 4}${font StyleBats:size=10}${color2}l${voffset -2}${font}${color6}${offset 3}RAM${goto 97}${mem}${goto 133}/${offset 5}${memmax}${alignr}${memperc}%
${color7}${alignr 2}${membar 4,230}
##################
## HDD ##
##################
${voffset 2}${font WenQuanYiMicroHei:bold:size=8.75}${color4}HDD${offset 8}${color8}${voffset -2}${hr 2}${font}
${voffset 4}${font StyleBats:size=10}${color2}x${voffset -2}${font}${color6}${offset 4}ROOT${goto 95}${fs_used /}${goto 133}/${offset 5}${fs_size /}${alignr}${fs_free_perc /}%
${color7}${alignr 2}${fs_bar 4,230 /}
${voffset 1}${font StyleBats:size=10}${color2}x${voffset -2}${font}${color6}${offset 4}HOME${goto 95}${fs_used /home}${goto 133}/${offset 5}${fs_size /home}${alignr}${fs_free_perc /home}%
${color7}${alignr 2}${fs_bar 4,230 /home}
${voffset 1}${font StyleBats:size=10}${color2}4${voffset -2}${font}${color6}${offset 4}SWAP${goto 95}${swap}${goto 133}/${offset 5}${swapmax}${alignr}${swapperc}%
${color7}${alignr 2}${swapbar 4,230}
##################
# TOP PROCESSES ##
##################
${voffset 3}${font WenQuanYiMicroHei:bold:size=8.75}${color4}TOP PROCESSES${offset 8}${color8}${voffset -2}${hr 2}${font}
${voffset 4}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6}${offset 5}${top_mem name 1}${goto 115}${top_mem mem_res 1}${alignr}${top_mem mem 1}%
${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6}${offset 5}${top_mem name 2}${goto 115}${top_mem mem_res 2}${alignr}${top_mem mem 2}%
${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6}${offset 5}${top_mem name 3}${goto 115}${top_mem mem_res 3}${alignr}${top_mem mem 3}%
${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6}${offset 5}${top_mem name 4}${goto 115}${top_mem mem_res 4}${alignr}${top_mem mem 4}%
${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6}${offset 5}${top_mem name 5}${goto 115}${top_mem mem_res 5}${alignr}${top_mem mem 5}%
##################
## NETWORK ##
##################
${voffset 6}${font WenQuanYiMicroHei:bold:size=8.75}${color4}NETWORK${offset 8}${color8}${voffset -2}${hr 2}${font}
${voffset 4}${font PizzaDudeBullets:size=10}${color2}a${font}${color6}${offset 5}Private${offset 3}IP${alignr}${addr eth0}
${font PizzaDudeBullets:size=10}${color2}a${font}${color6}${offset 5}Public${offset 7}IP${alignr}${execi 1800 wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]\|.]//g'}
${voffset 4}${font PizzaDudeBullets:size=10}${color2}T${font}${color6}${offset 5}Down${alignr}${downspeed eth0}
${font PizzaDudeBullets:size=10}${color2}N${font}${color6}${offset 5}Up${alignr}${upspeed eth0}
${voffset 4}${font PizzaDudeBullets:size=10}${color2}T${font}${color6}${offset 5}Downloaded${alignr}${totaldown eth0}
${font PizzaDudeBullets:size=10}${color2}N${font}${color6}${offset 5}Uploaded${alignr}${totalup eth0}
##################
## WEATHER ##
##################
${voffset 6}${font WenQuanYiMicroHei:bold:size=8.75}${color4}WEATHER${offset 8}${color8}${voffset -2}${hr 2}${font}
${voffset 0}${goto 59}${font Weather:size=38}${color2}y${font}${voffset -33}${offset 14}${font RadioSpace:size=32}${color3}${execpi 1800 conkyForecast --imperial --location=USAZ0082}${font}
${voffset 0}${font Ubuntu:size=24}${color4}${alignc}${execi 1800 conkyForecast --location=USAZ0082 --datatype=CT}${font}
${voffset 15}${goto 20}${font ConkyWindNESW:style=Bold:size=38}${color2}${execi 1800 conkyForecast --location=USAZ0082 --datatype=BS}${font}${voffset -40}${goto 95}${font ConkyWeather:style=Bold:size=45}${execi 1800 conkyForecast --location=USAZ0082 --datatype=WF}${font}${voffset -36}${goto 185}${font MoonPhases:size=30}${execi 1800 conkyForecast --location=USAZ0082 --datatype=MF}${font}
${voffset 6}${goto 28}${font}${color6}${execpi 1800 conkyForecast --location=USAZ0082 --imperial --datatype=WS | sed -e 's/calm'/'\$\{offset 2}Calm/g' -e 's/mph'/'\$\{offset 2}mph/g'}${goto 89}Feels like ${execi 1800 conkyForecast --location=USAZ0082 --imperial --datatype=LT --centeredwidth=4 -iu}${execpi 1800 conkyForecast --location=USAZ0082 --datatype=MP | sed -e 's/First.*'/'\$\{goto 185}First Qtr/g' -e 's/Last.*'/'\$\{goto 185}Last Qtr/g' -e 's/New.*'/'\$\{goto 190}New/g' -e 's/Full.*'/'\$\{goto 194}Full/g' -e 's/Waning.*'/'\$\{goto 185}Waning/g' -e 's/Waxing.*'/'\$\{goto 185}Waxing/g'}
${voffset 10}${goto 35}${font}${color6}${execi 1800 conkyForecast --location=USAZ0082 --datatype=DW --startday=1 --shortweekday}${goto 89}${execi 1800 conkyForecast --location=USAZ0082 --datatype=DW --startday=2 --shortweekday}${goto 142}${execi 1800 conkyForecast --location=USAZ0082 --datatype=DW --startday=3 --shortweekday}${goto 196}${execi 1800 conkyForecast --location=USAZ0082 --datatype=DW --startday=4 --shortweekday}
${voffset 0}${goto 25}${font ConkyWeather:size=32}${color2}${execi 1800 conkyForecast --location=USAZ0082 --datatype=WF --startday=1 --endday=4 --spaces=1}${font}
${voffset 0}${goto 25}${font}${color6}${execi 1800 conkyForecast --location=USAZ0082 --imperial --datatype=HT --startday=1 --hideunits --centeredwidth=4 -iu}/${offset 4}${execi 1800 conkyForecast --location=USAZ0082 --imperial --datatype=LT --startday=1 --hideunits --centeredwidth=4 -iu}${goto 79}${execi 1800 conkyForecast --location=USAZ0082 --imperial --datatype=HT --startday=2 --hideunits --centeredwidth=4 -iu}/${offset 4}${execi 1800 conkyForecast --location=USAZ0082 --imperial --datatype=LT --startday=2 --hideunits --centeredwidth=4 -iu}${goto 133}${execi 1800 conkyForecast --location=USAZ0082 --imperial --datatype=HT --startday=3 --hideunits --centeredwidth=4 -iu}/${offset 4}${execi 1800 conkyForecast --location=USAZ0082 --imperial --datatype=LT --startday=3 --hideunits --centeredwidth=4 -iu}${goto 187}${execi 1800 conkyForecast --location=USAZ0082 --imperial --datatype=HT --startday=4 --hideunits --centeredwidth=4 -iu}/${offset 4}${execi 1800 conkyForecast --location=USAZ0082 --imperial --datatype=LT --startday=4 --hideunits --centeredwidth=4 -iu}
##################
## TIME ##
##################
${voffset 6}${font WenQuanYiMicroHei:bold:size=8.75}${color4}TIME${offset 8}${color8}${voffset -2}${hr 2}${font}
${voffset 3}${if_match ${time %l}<=9}${voffset -4}${font RadioSpace:size=32}${color3}${alignc 7}${time %l:%M%p}${font}${else}${if_match ${time %l}>=10}${voffset -4}${font RadioSpace:size=32}${color3}${alignc -1}${time %l:%M%p}${font}${endif}${endif}
${voffset 0}${font LiberationSans:size=8}${color4}${alignc 2}Sunrise${offset 1}${execi 1800 conkyForecast --location=USAZ0082 --datatype=SR --startday=1}${color3}${offset 2}|${offset 2}${color4}Sunset${offset 1}${execi 1800 conkyForecast --location=USAZ0082 --datatype=SS --startday=1}${font}
##################
## CALENDAR ##
##################
${voffset 6}${font WenQuanYiMicroHei:bold:size=8.75}${color4}DATE${offset 8}${color8}${voffset -2}${hr 2}${font}
${voffset 18}${font LiberationMono:size=8}${color3}${alignc 60}${time %A}${font}
${voffset -3}${if_match ${time %e}<=9}${font LiberationMono:size=22}${color4}${alignc 70}${time %e}${font}${else}${if_match ${time %e}>=10}${font LiberationMono:size=22}${color4}${alignc 60}${time %e}${font}${endif}${endif}
${voffset -1}${font LiberationMono:size=8}${color3}${alignc 60}${time %B}${font}
${voffset -3}${font LiberationMono:size=8}${color3}${alignc 60}${time %Y}${font}
${voffset -82}${font LiberationMono:size=8}${color3}${execpi 1800 VinDSL_Cal_4= cal | sed '1d' | sed s/^/"\$\{offset 97"\}/ | sed '/^ *$/d' | sed 's/\<'"$(date +%-d)"'\>/${color4}&${color3}/'}${font}
${voffset -90}${font CutOutsFor3DFX:size=64}${color8}${alignc 97}2${font}
draw_bg.lua
Code:
--[[
Background by londonali1010 (2009)
VinDSL Background Hack (2010)
This script draws a background to the Conky window. It covers the whole of the Conky window, but you can specify rounded corners, if you wish.
To call this script in Conky, use (assuming you have saved this script to ~/scripts/):
lua_load ~/scripts/draw_bg.lua
lua_draw_hook_pre draw_bg
Changelog:
+ v2.4 VinDSL Hack (12.31.2010) Added shading example(s).
+ v2.3 VinDSL Hack (12.30.2010) Cleaned up the code a bit.
+ v2.2 VinDSL Hack (12.24.2010) Added cairo destroy function(s).
+ v2.1 VinDSL Hack (12.21.2010) Added height adjustment variable.
+ v1.0 Original release (07.10.2009)
--]]
-- Change these settings to affect your background:
-- "corner_r" is the radius, in pixels, of the rounded corners. If you don't want rounded corners, use 0.
corner_r = 50
-- Set the colour and transparency (alpha) of your background (0.00 - 0.99).
-- (Light Shading Example)
-- bg_colour = 0x4d4d4d
-- bg_alpha = 0.50
-- (Dark Shading Example)
-- bg_colour = 0x000000
-- bg_alpha = 0.50
bg_colour = 0x000000
bg_alpha = 0.35
-- Tweaks the height of your background, in pixels. If you don't need to adjust the height, use 0.
vindsl_hack_height = -205
require 'cairo'
cs, cr = nil
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function conky_draw_bg()
if conky_window == nil then return end
if cs == nil then cairo_destroy(cs) end
if cr == nil then cairo_destroy(cr) end
local w = conky_window.width
local h = conky_window.height
local v = vindsl_hack_height
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)
cairo_move_to(cr,corner_r,0)
cairo_line_to(cr,w-corner_r,0)
cairo_curve_to(cr,w,0,w,0,w,corner_r)
cairo_line_to(cr,w,h+v-corner_r)
cairo_curve_to(cr,w,h+v,w,h+v,w-corner_r,h+v)
cairo_line_to(cr,corner_r,h+v)
cairo_curve_to(cr,0,h+v,0,h+v,0,h+v-corner_r)
cairo_line_to(cr,0,corner_r)
cairo_curve_to(cr,0,0,0,0,corner_r,0)
cairo_close_path(cr)
cairo_set_source_rgba(cr,rgb_to_r_g_b(bg_colour,bg_alpha))
cairo_fill(cr)
cairo_destroy(cr)
end
Bookmarks