Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
dmillerct
Right, I just meant natively but your right Bruce it can be done. I am getting the impression that it can ALWAYS be done.
Oh, well in that case, yes, your are 100% correct.
Although, combining a few "native" commands was used to do that!!!!
Of course that is "splitting hairs" - and I have precious few left to split so lets just say: Yup, you're right!
"Making friends may not be as easy as making enemies, but the rewards are much better!" :)
Anonymous (me just now)
Have a GREAT day!
Bruce
1 Attachment(s)
Re: Post your .conkyrc files w/ screenshots
OK, finally time for some awesome awesomeness! I'll attach and link the screenie, not sure how the forum will handle the size.
Check it out here!
.conkyrc
Code:
# Conky, a system monitor, based on torsmo
#
# Any original torsmo code is licensed under the BSD license
#
# All code written since the fork of torsmo is licensed under the GPL
#
# Please see COPYING for details
#
# Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
# Copyright (c) 2005-2007 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
# All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
override_utf8_locale yes
use_spacer none
use_xft yes
xftfont FreeMono:italic:size=8
xftalpha 1
double_buffer yes
minimum_size 1280 72
no_buffers yes
update_interval 1
own_window yes
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
own_window_transparent yes
own_window_type override
border_inner_margin 0
border_width 0
draw_borders no
draw_shades no
stippled_borders 0
default_color 7C807C
#default_outline_color 1E1C1A
#default_shade_color white
own_window_colour ffffff
alignment bottom_right
gap_x 0
gap_y 0
cpu_avg_samples 1
net_avg_samples 1
no_buffers yes
text_buffer_size 1024
#short_units true
#Lua Scripts
lua_load ~/.conkygui/scripts/luas.lua
lua_draw_hook_pre all
TEXT
${voffset 0}${offset 1223}${time %T}
${voffset 0}${offset 1240}
${voffset 0}${offset 1240}
${voffset 0}${offset 1240}${time %p}
${voffset 0}${offset 1240}
${voffset 0}${offset 1223}${time %d/%m/%g}
${voffset -84}${offset 1165}${if_match ${freq cpu1}<1000}0${endif}${freq cpu1}MHz
${voffset 0}${offset 1165}${exec sensors | grep "Core 0:" | cut -c15-16 ;}°C
${voffset 0}${offset 1165}
${voffset 0}${offset 1165}
${voffset 0}${offset 1165}${exec sensors | grep "Core 1:" | cut -c15-16 ;}°C
${voffset 0}${offset 1165}${if_match ${freq cpu2}<1000}0${endif}${freq cpu2}MHz
${voffset -84}${offset 1100}${if_existing /sys/class/power_supply/AC0/online}Power${else}${battery BAT0}${endif}
${voffset 0}${offset 1100}${battery_percent BAT0}%
${voffset 0}${offset 1100}
${voffset 0}${offset 1100}
${voffset 0}${offset 1100}${wireless_link_qual_perc wlan0}%
${voffset 0}${offset 1100}${wireless_essid wlan0}
${voffset -84}${offset 1035}Memory
${voffset 0}${offset 1035}${memperc}%
${voffset 0}${offset 1035}
${voffset 0}${offset 1035}
${voffset 0}${offset 1035}${swapperc}%
${voffset 0}${offset 1035}Swap
${voffset -132}${offset 0}${execpi 1800 conkyForecast --location=POXX0016 --template=/home/proxess/.conkygui/templates/lisbonforecast.template}
${voffset -64}${offset 90}${execpi 1800 conkyForecast --location=JAXX0071 --template=/home/proxess/.conkygui/templates/osakaforecast.template}
${voffset -96}${offset 210}${fs_free /}
${voffset 0}${offset 220}/
${voffset 0}${offset 210}
${voffset 0}${offset 210}
${voffset 0}${offset 220}G
${voffset 0}${offset 210}${fs_free /media/G}
luas.lua (I was too lazy to figure out how multiple scripts work, sorry.)
Code:
--[[
Clock Rings by londonali1010 (2009)
This script draws percentage meters as rings, and also draws clock hands if you want! It is fully customisable; all options are described in the script. This script is based off a combination of my clock.lua script and my rings.lua script.
IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement on line 145 uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num>5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num>3; conversely if you update Conky every 0.5s, you should use update_num>10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.
Clock Rings Mod by Proxess (2009)
This modification permits you to add warning colours on both countdown values (batteries, wlan, etc) and status percentages (cpu, file system usage, etc).
+ v0.3 -- Fixed some seriously stupid errors from my part. Added some awesomeness by making the most precise conky clock! Also added individual clock hand alpha. Removed some redundant code.
+ v0.2 -- Intermediate, testing.
+ v0.1 -- Added Background colouring and alphaing.
Clock Rings Mod Mod by Crinos512 (2009)
+ v0.1 -- This modification adds alpha to the warning colours.
]]
settings_table = {
{
name='time', arg='%I',
max=43200,
x=1248, y=36,
radius=14, thickness=1,
start_angle=0, end_angle=360,
bg_colour=0x7C807C, bg_alpha=0.8,
fg_colour=0x7C807C, fg_alpha=0.8,
colour_coding=false, coding_direction=false,
warning=0, warning_colour=0xE38513, warning_alpha=0.5,
danger=0, danger_colour=0x840000, danger_alpha=0.8
},
{
name='time', arg='%M.%S',
max=3600,
x=1248, y=36,
radius=18, thickness=1,
start_angle=0, end_angle=360,
bg_colour=0x7C807C, bg_alpha=0.8,
fg_colour=0x7C807C, fg_alpha=0.8,
colour_coding=false, coding_direction=false,
warning=0, danger=0,
warning_bgc=0xE38513, warning_bga=0.2,
warning_colour=0xE38513, warning_alpha=0.5,
danger_bgc=0x840000, danger_bga=0.2,
danger_colour=0x840000, danger_alpha=0.8
},
{
name='time', arg='%S',
max=60,
x=1248, y=36,
radius=22, thickness=1,
start_angle=0, end_angle=360,
bg_colour=0x7C807C, bg_alpha=0.8,
fg_colour=0x7C807C, fg_alpha=0.8,
colour_coding=false, coding_direction=false,
warning=0, danger=0,
warning_bgc=0xE38513, warning_bga=0.2,
warning_colour=0xE38513, warning_alpha=0.5,
danger_bgc=0x840000, danger_bga=0.2,
danger_colour=0x840000, danger_alpha=0.8
},
{
name='cpu', arg='cpu1',
max=100,
x=1180, y=0,
radius=36, thickness=10,
start_angle=90, end_angle=180,
bg_colour=0x7C807C, bg_alpha=0.2,
fg_colour=0x7C807C, fg_alpha=0.8,
colour_coding=true, coding_direction=true,
warning=70, danger=90,
warning_bgc=0xE38513, warning_bga=0.2,
warning_colour=0xE38513, warning_alpha=0.5,
danger_bgc=0x840000, danger_bga=0.2,
danger_colour=0x840000, danger_alpha=0.8
},
{
name='cpu', arg='cpu2',
max=100,
x=1180, y=72,
radius=36, thickness=10,
start_angle=0, end_angle=90,
bg_colour=0x7C807C, bg_alpha=0.2,
fg_colour=0x7C807C, fg_alpha=0.8,
colour_coding=true, coding_direction=true,
warning=70, danger=90,
warning_bgc=0xE38513, warning_bga=0.2,
warning_colour=0xE38513, warning_alpha=0.5,
danger_bgc=0x840000, danger_bga=0.2,
danger_colour=0x840000, danger_alpha=0.8
},
{
name='battery_percent', arg='BAT0',
max=100,
x=1120, y=0,
radius=36, thickness=10,
start_angle=90, end_angle=180,
bg_colour=0x7C807C, bg_alpha=0.2,
fg_colour=0x7C807C, fg_alpha=0.8,
colour_coding=true, coding_direction=false,
warning=30, danger=10,
warning_bgc=0xE38513, warning_bga=0.2,
warning_colour=0xE38513, warning_alpha=0.5,
danger_bgc=0x840000, danger_bga=0.2,
danger_colour=0x840000, danger_alpha=0.8
},
{
name='wireless_link_qual_perc', arg='wlan0',
max=100,
x=1120, y=72,
radius=36, thickness=10,
start_angle=0, end_angle=90,
bg_colour=0x7C807C, bg_alpha=0.2,
fg_colour=0x7C807C, fg_alpha=0.8,
colour_coding=true, coding_direction=false,
warning=30, danger=10,
warning_bgc=0xE38513, warning_bga=0.2,
warning_colour=0xE38513, warning_alpha=0.5,
danger_bgc=0x840000, danger_bga=0.2,
danger_colour=0x840000, danger_alpha=0.8
},
{
name='memperc', arg='',
max=100,
x=1060, y=0,
radius=36, thickness=10,
start_angle=90, end_angle=180,
bg_colour=0x7C807C, bg_alpha=0.2,
fg_colour=0x7C807C, fg_alpha=0.8,
colour_coding=true, coding_direction=true,
warning=70, danger=90,
warning_bgc=0xE38513, warning_bga=0.2,
warning_colour=0xE38513, warning_alpha=0.5,
danger_bgc=0x840000, danger_bga=0.2,
danger_colour=0x840000, danger_alpha=0.8
},
{
name='swapperc', arg='',
max=100,
x=1060, y=72,
radius=36, thickness=10,
start_angle=0, end_angle=90,
bg_colour=0x7C807C, bg_alpha=0.2,
fg_colour=0x7C807C, fg_alpha=0.8,
colour_coding=true, coding_direction=true,
warning=70, danger=90,
warning_bgc=0xE38513, warning_bga=0.2,
warning_colour=0xE38513, warning_alpha=0.5,
danger_bgc=0x840000, danger_bga=0.2,
danger_colour=0x840000, danger_alpha=0.8
},
{
name='fs_free_perc', arg='/',
max=100,
x=236, y=0,
radius=36, thickness=10,
start_angle=180, end_angle=270,
bg_colour=0x7C807C, bg_alpha=0.2,
fg_colour=0x7C807C, fg_alpha=0.8,
colour_coding=true, coding_direction=false,
warning=30, danger=10,
warning_bgc=0xE38513, warning_bga=0.2,
warning_colour=0xE38513, warning_alpha=0.5,
danger_bgc=0x840000, danger_bga=0.2,
danger_colour=0x840000, danger_alpha=0.8
},
{
name='fs_free_perc', arg='/media/G',
max=100,
x=236, y=72,
radius=36, thickness=10,
start_angle=270, end_angle=360,
bg_colour=0x7C807C, bg_alpha=0.2,
fg_colour=0x7C807C, fg_alpha=0.8,
colour_coding=true, coding_direction=false,
warning=30, danger=10,
warning_bgc=0xE38513, warning_bga=0.2,
warning_colour=0xE38513, warning_alpha=0.5,
danger_bgc=0x840000, danger_bga=0.2,
danger_colour=0x840000, danger_alpha=0.8
}
}
-- Use these settings to define the origin and extent of your clock.
clock_r=24
-- "clock_x" and "clock_y" are the coordinates of the centre of the clock, in pixels, from the top left of the Conky window.
clock_x=1248
clock_y=36
-- Colour & alpha of the clock hands
hour_colour=0x7C807C
hour_alpha=0.5
minute_colour=0x7C807C
minute_alpha=0.5
second_colour=0x7C807C
second_alpha=0.3
-- Do you want to show the seconds hand?
show_seconds=true
require 'cairo'
function rgb_to_r_g_b(colour,alpha)
return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function draw_ring(cr,t,pt,value)
local w,h=conky_window.width,conky_window.height
local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']
local angle_0=sa*(2*math.pi/360)-math.pi/2
local angle_f=ea*(2*math.pi/360)-math.pi/2
local t_arc=t*(angle_f-angle_0)
local cc, cd=pt['colour_coding'], pt['coding_direction']
local wn, dn=pt['warning'], pt['danger']
local wbgc, wbga, wc, wa=pt['warning_bgc'], pt['warning_bga'], pt['warning_colour'], pt['warning_alpha']
local dbgc, dbga, dc, da=pt['danger_bgc'], pt['danger_bga'], pt['danger_colour'], pt['danger_alpha']
-- Draw background ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
cairo_set_line_width(cr,ring_w)
if cc == false then
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
else
if cd == true then
if value < wn then
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
elseif value >= dn then
cairo_set_source_rgba(cr,rgb_to_r_g_b(dbgc,dbga))
else
cairo_set_source_rgba(cr,rgb_to_r_g_b(wbgc,wbga))
end
else
if value > wn then
cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
elseif value <= dn then
cairo_set_source_rgba(cr,rgb_to_r_g_b(dbgc,dbga))
else
cairo_set_source_rgba(cr,rgb_to_r_g_b(wbgc,wbga))
end
end
end
cairo_stroke(cr)
-- Draw indicator ring
cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
if cc == false then
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
else
if cd == true then
if value < wn then
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
elseif value >= dn then
cairo_set_source_rgba(cr,rgb_to_r_g_b(dc,da))
else
cairo_set_source_rgba(cr,rgb_to_r_g_b(wc,wa))
end
else
if value > wn then
cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
elseif value <= dn then
cairo_set_source_rgba(cr,rgb_to_r_g_b(dc,da))
else
cairo_set_source_rgba(cr,rgb_to_r_g_b(wc,wa))
end
end
end
cairo_stroke(cr)
end
function draw_clock_hands(cr,xc,yc)
local secs,mins,hours,secs_arc,mins_arc,hours_arc
local xh,yh,xm,ym,xs,ys
secs=os.date("%S")
mins=os.date("%M")
hours=os.date("%I")
secs_arc=(2*math.pi/60)*secs
mins_arc=(2*math.pi/60)*mins+secs_arc/60
hours_arc=(2*math.pi/12)*hours+mins_arc/12
-- Draw hour hand
xh=xc+0.5*clock_r*math.sin(hours_arc)
yh=yc-0.5*clock_r*math.cos(hours_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xh,yh)
cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
cairo_set_line_width(cr,5)
cairo_set_source_rgba(cr,rgb_to_r_g_b(hour_colour,hour_alpha))
cairo_stroke(cr)
-- Draw minute hand
xm=xc+0.7*clock_r*math.sin(mins_arc)
ym=yc-0.7*clock_r*math.cos(mins_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xm,ym)
cairo_set_line_width(cr,3)
cairo_set_source_rgba(cr,rgb_to_r_g_b(minute_colour,minute_alpha))
cairo_stroke(cr)
-- Draw seconds hand
if show_seconds then
xs=xc+0.9*clock_r*math.sin(secs_arc)
ys=yc-0.9*clock_r*math.cos(secs_arc)
cairo_move_to(cr,xc,yc)
cairo_line_to(cr,xs,ys)
cairo_set_line_width(cr,1)
cairo_set_source_rgba(cr,rgb_to_r_g_b(second_colour,second_alpha))
cairo_stroke(cr)
end
end
function conky_clock_rings()
local function setup_rings(cr,pt)
local str=''
local value=0
str=string.format('${%s %s}',pt['name'],pt['arg'])
str=conky_parse(str)
if pt['name'] == 'time' and pt['arg'] == '%I' then
local his=tonumber(str)*60*60
local mis=tonumber(conky_parse('${time %M.%S}'))*60
local secs=tonumber(conky_parse('${time %S}'))
value=his+mis+secs
elseif pt['name'] == 'time' and pt['arg'] == '%M.%S' then
local mis=tonumber(str)*60
local secs=tonumber(conky_parse('${time %S}'))
value=mis+secs
else
value=tonumber(str)
end
pct=value/pt['max']
draw_ring(cr,pct,pt,value)
end
-- Check that Conky has been running for at least 5s
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)
local updates=conky_parse('${updates}')
update_num=tonumber(updates)
if update_num>5 then
for i in pairs(settings_table) do
setup_rings(cr,settings_table[i])
end
end
draw_clock_hands(cr,clock_x,clock_y)
end
--[[
Background by londonali1010 (2009)
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.
Changelog:
+ v1.0 -- Original release.
Corner Mod by Proxess (2009)
+ v0.1 -- Added seperate corners radius.
]]
-- Set Corner's Radius.
corner_r_tr=35
corner_r_br=0
corner_r_tl=35
corner_r_bl=0
-- Set colour and transparency.
bg_colour=0x000000
bg_alpha=0.6
function conky_draw_bg()
if conky_window==nil then return end
local w=conky_window.width
local h=conky_window.height
local cs=cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, w, h)
cr=cairo_create(cs)
cairo_move_to(cr,corner_r_tr,0)
cairo_line_to(cr,w-corner_r_tr,0)
cairo_curve_to(cr,w,0,w,0,w,corner_r_tl)
cairo_line_to(cr,w,h-corner_r_br)
cairo_curve_to(cr,w,h,w,h,w-corner_r_br,h)
cairo_line_to(cr,corner_r_bl,h)
cairo_curve_to(cr,0,h,0,h,0,h-corner_r_bl)
cairo_line_to(cr,0,corner_r_tl)
cairo_curve_to(cr,0,0,0,0,corner_r_tl,0)
cairo_close_path(cr)
cairo_set_source_rgba(cr,rgb_to_r_g_b(bg_colour,bg_alpha))
cairo_fill(cr)
end
-- DRAW IT ALL
function conky_all()
conky_draw_bg()
conky_clock_rings()
end
lisbonforecast.template
Code:
${image [--datatype=WI] -s 36x36 -p 0,0}
${image [--datatype=WI --startday=1] -s 36x36 -p 0,38}
${voffset 12}${offset 40}[--datatype=OB]
${voffset 0}${offset 40}[--datatype=HT --hideunits]C
${voffset 0}${offset 40}
${voffset 0}${offset 40}
${voffset 0}${offset 40}[--datatype=HT --hideunits --startday=1]C
${voffset 0}${offset 40}[--datatype=DW --startday=1]
osakaforecast.template
Code:
${image [--datatype=WI] -s 36x36 -p 90,0}
${image [--datatype=WI --startday=1] -s 36x36 -p 90,38}
${voffset -68}${offset 130}[--datatype=OB]
${voffset 0}${offset 130}[--datatype=HT --hideunits]C
${voffset 0}${offset 130}
${voffset 0}${offset 130}
${voffset 0}${offset 130}[--datatype=HT --hideunits --startday=1]C
${voffset 0}${offset 130}[--datatype=DW --startday=1]
Edit: The reason I have Osaka's weather is because I want to live in Japan, mainly Osaka, so I'm making my Conky future-proof! (Tho it usually changes a lot before that future, sort of unfortunately).
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
proxess
OK, finally time for some awesome awesomeness
When I saw that I thought "Yea! Right!"
When I saw what you did:
Y E S !!
Now that is awesome!
Nice work.
Have a nice day.
Bruce
EDIT: Japan huh! Nice.
I should create a weather conky for every place I've lived: 13 - Naaaaaa, not worth it.
Re: Post your .conkyrc files w/ screenshots
Quote:
The reason I have Osaka's weather is because I want to live in Japan, mainly Osaka, so I'm making my Conky future-proof! (Tho it usually changes a lot before that future, sort of unfortunately).
I hear there is a great SM club there. ;)
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
dmillerct
I hear there is a great SM club there. ;)
Now how would you know that? :popcorn: {munch munch}
This should be entertaining.
have a nice evening.
Bruce
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
Bruce M.
Now how would you know that? :popcorn: {munch munch}
This should be entertaining.
have a nice evening.
Bruce
Good sushi.
http://www.jail-ory.com/~osaka/
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
mobilediesel
Hmmm.. "screenruler" apparently wasn't added to the repository for Hardy. Is there anywhere I can download that? I keep finding kruler and I don't want to add KDE dependencies.
I did an ftp to the debian side and downloaded screenruler_0.85-2_all.deb (then deleted it)
ftp://ftp.debian.org/debian/pool/main/s/screenruler/
That works in FF as well.
I have NO idea if it will work on Hardy. It's the same version number I have.
When I got it from the repos it was only one file, no dependencies.
Give it a try, worst case: doesn't work, best case: it does.
Code:
SCREENRULER(1) SCREENRULER(1)
NAME
screenruler - a graphical ruler to measure objects on screen
SYNOPSIS
screenruler
DESCRIPTION
Screen Ruler is a simple graphical ruler which allows you to measure
horizontal or vertically any object on screen using different metric
systems (pixels, centimetres, inches, picas, points or as a percent‐
age).
It was created for GNOME desktops and can be controled either using the
mouse or, if you need more precision, with the keyboard. If you need
it, it also has an option to keep on top of other windows.
OPTIONS
As already said, Screen Ruler is a graphical application, and as such
it takes no command line options. All configuration must be done using
its GTK interface.
AUTHORS
ScreenRuler was created by Ian McIntosh <ian@openanswers.org> and this
manual page was written by Siegfried-A. Gevatter <rainct@ubuntu.com>.
LICENSE
ScreenRuler has been released under the GNU General Public License,
version 2 or later.
May 4, 2008 SCREENRULER(1)
Manual page screenruler(1) line 1/41 (END)
CHIMO!
Bruce
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
dmillerct
So that's sushi! :lolflag:
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
dmillerct
could be fun? and proxess that is pure awesomeness. I agree entirely
Re: Post your .conkyrc files w/ screenshots
Quote:
Originally Posted by
Bruce M.
I did an ftp to the debian side and downloaded screenruler_0.85-2_all.deb (then deleted it)
ftp://ftp.debian.org/debian/pool/main/s/screenruler/
That works in FF as well.
I have NO idea if it will work on Hardy. It's the same version number I have.
When I got it from the repos it was only one file, no dependencies.
Give it a try, worst case: doesn't work, best case: it does.
CHIMO!
Bruce
Works perfect in Hardy! It needed 12 dependencies, mostly having to do with Ruby.
Now I can "Rule" my screen! Ha! :lol: