I may possibly do a Tcl SigX client that can be just as portable as the Perl script but easier to configure. The planned config is this:
Code:
# Account Settings
namespace eval ::settings::account {}
set ::settings::account::username "breadcrust" ;# Your user name
set ::settings::account::password "" ;# Your password (encryted)
# Program Settings
namespace eval ::settings::programs {}
set ::settings::programs::hostnameCommand "hostname -f" ;# command to get your comp's hostname
set ::settings::programs::uptimeCommand "uptime" ;# command to use for uptime
set ::settings::programs::freeCommand "free -m" ;# command to use for free
set ::settings::programs::freeUnit mb ;# unit free will output in: b, kb, mb or gb
set ::settings::programs::dfCommand "df -m" ;# command to use for df (disk free)
set ::settings::programs::xdpyinfoCommand "xdpyinfo" ;# command to use for xdpyinfo
set ::settings::programs::netInfoFile "/proc/net/dev" ;# /proc file containing network info
# which network interfaces to include in i/o info, can be any interface name, all or allButLo
set ::settings::programs::netInfoInterfaces allButLo
# Path to an XML status file made by the Kopete plugin Web Presence
set ::settings::programs::kopeteWebPresenceFile "~/webpresence.xml"
# OS info string. can contain %file and/or %command but doesnt have to.
set ::settings::programs::osInfoFrom "%file (%command)"
set ::settings::programs::osInfoFile "/etc/SuSE-release" ;# file containing OS info
set ::settings::programs::osInfoFileLine 1 ;# the line to find the OS name on the OS info file
set ::settings::programs::osInfoCommand "uname -s -r" ;# command to use to get OS name/version
# A text file containing the song xmms is currently playing. Use the Song Change plugin
# with the command {echo "%s" > ~/.xmms/currentSong} (without the braces) for song
# changes and {echo "Nothing" > ~/.xmms/currentSong} for end of playlist in Song Change's
# configuration to set this up.
set ::settings::programs::xmmsSongFile "~/.xmms/currentSong"
# Program Settings - CPU Info
set ::settings::programs::cpuInfoFile "/proc/cpuinfo" ;# file where CPU info is kept
set ::settings::programs::cpuInfoHertzUnit ghz ;# unit to output hertz speed: khz, mhz or ghz
set ::settings::programs::cpuInfoBogomipsUnit gbm ;# bogomips speed unit: bm, kbm, mbm or gbm
# if set to true this will change (tm) and (r) in anycase to XHTML's proper versions.
set ::settings::programs::cpuInfoLegalSignReplace true
# If you put text here it will override reading info from Linux's /proc cpuInfo file. Useful
# for use on platforms other than linux (eg BSD, OS X (?)).
set ::settings::programs::cpuInfoCustom ""
# Other Settings
namespace eval ::settings::other {}
set ::settings::other::enableXml true ;# if you dont have TclXML installed, set this to false
set ::settings::other::linuxCounterNum "307180" ;# Your Linux Counter number
# Custom Text lines (put whatever you want here). Add as many as you want.
set ::settings::other::customText(0) "0"
set ::settings::other::customText(1) "1"
set ::settings::other::customText(2) "2"
set ::settings::other::customText(3) "3"
set ::settings::other::customText(4) "4"
# how to find your status info. can be kopeteWp or file
set ::settings::other::status kopeteWp
# details on the method on finding status info, different for every status info type
# file - path to file containing status
# kopeteWp - protocol to take status info from (empty string will return first one found)
set ::settings::other::statusDetails "JabberProtocol"
# Output Settings
namespace eval ::settings::output {}
set ::settings::output::lines 5 ;# number of lines to use (mozaik)
# Output Line strings.
# You can put any text you like here and stat variables.
#
# Stat variables :
# %customTextX - Custom text strings (where X is custom string number)
# %linuxCounter %linuxCounterWithURL - Linux Counter Number
# %status - Your current status
# %xmmsListening - The music you are currently listening to in XMMS
# %screenRes0 - Resolution of screen. Adjust 0 to wanted screen if needed
# %operatingSystem - Self-Explainitory :-)
# %memfreePhysical %memfreeSwap %memfreeAll - Free system memory
# %memusedPhysical %memusedSwap %memusedAll - Used system memory
# %memtotalPhysical %memtotalSwap %memtotalAll - Total system memory
# %memfreePercentPhysical %memfreePercentSwap %memfreePercentAll - Free memory in percent
# %cpuInfo %cpuModel %cpuHertz %cpuBogomips - CPU info (%cpuInfo displays all)
# %uptime - Displays uptime info
# %diskFree %diskUsed %diskTotal - Free, used and total space of all disks
# %diskFree-dev-hdx0 %diskUsed-dev-hdx0 %diskTotal-dev-hdx0 - As above for a perticular device
# %diskFree-mnt-/home %diskUsed-mnt-/home %diskTotal-mnt-/home - As above for a mount point
# %diskFreePercent %diskFreePercent-dev-hdx0 %diskFreePercent-mnt-/home - Free space in %
# %networkInputBytes %networkOutputBytes - Input and output of network in (mega/kila)bytes
# %networkInputPackets %networkOutputPackets - Input and output of network in packets
# %hostname - Computer Hostname
# %% - Insert a %
#
set ::settings::output::line(0) "Listening to %xmmsListening"
set ::settings::output::line(1) "CPU: %cpuInfo | Disk space: %diskTotal (%diskFreePercent used)"
set ::settings::output::line(2) "OS: %operatingSystem | Linux Counter: %linuxCounterWithURL"
set ::settings::output::line(3) "Network: %hostname, %networkInputBytes (%networkInputPackets packets) input, %networkOutputBytes (%networkOutputPackets packets) output"
set ::settings::output::line(4) "RAM: %freememPercentPhysical of %totalmemPhysical used | Status: %status"
set ::settings::output::line(5) ""
set ::settings::output::line(6) ""
set ::settings::output::line(7) ""
set ::settings::output::line(8) ""
set ::settings::output::line(9) ""
it stores the password in a weak encrytion that can be hacked, but isnt very easy for a usual pc user to figure out. i also will put in other fetaures like the winblows clients have later.
anyways, back to the original
main point of this post, i havent been able to find any real details on how SigX signatures are updated so i thought id ask here, how is this done?