On Sat, 2002-12-14 at 05:23, Jonathan M. Slivko wrote: > Hello, > > I noticed that Rick and a few other people are using dynamic e-mail signatures > for this list, I was wondering how I can do the same using Evolution. Please let > me know, thanks.
Surely this is the ultimate way! A signature that changes every time
you read it! (using pipes, but you don't need to know what they are to
use it) Save the attachment somewhere (ie ~/signature.pl) and then put
in, say, .bashrc the line:
~/signature.pl &
Now point your signature in your favourite mail client to ~/.signature
Every time you read it you will get a different fortune. If you don't
have the extra fortunes used, you can make the line that says
print FIFO "$FULLNAME $EMAILADDR\n",`fortune 25% homer 25% startrek 25% futurama 25%
kernelcookies -s`;
(one line) into
print FIFO "$FULLNAME $EMAILADDR\n",`fortune -s`;
or choose your favourite from /usr/share/games/fortune.
--
Iain Buchanan <[EMAIL PROTECTED]>
If I traveled to the end of the rainbow
As Dame Fortune did intend,
Murphy would be there to tell me
The pot's at the other end.
-- Bert Whitney
#!/usr/bin/perl
#
# signature.pl
#
# script that pumps out a funny quip and your email address and full name
# when you read from the (created) fifo.
#
# requires the Proc bundle from
# www.perl.com/CPAN-local/authors/id/D/DU/DURIST/Proc-ProcessTable-<VER>.tar.gz
#
# James McArthur, 5/12/02
#
use Proc::ProcessTable;
use User::pwent;
chdir; # go home
$FIFO = '.signature'; # name of where the signatures come from
$ENV{PATH} .= ":/etc:/usr/games:/usr/bin"; # path for the script, change if fortune moves
$TASKNAME = "signature.pl"; # the name of this task
$USER = `id -un`; # to get the name of the person running the script
$uid = `id -u`; # to get the uid of the person running the script
$HOST = `hostname -d`; # to get the domain name of this machine
chomp ($USER); # remove whitespaces and newlines
chomp ($HOST);
$DISCLAIMER = ""; # add your disclaimer here if you need to
$FULLNAME = getpwnam ($USER)->gecos; # works out your full name from /etc/password
$EMAILADDR = "<$USER\@$HOST>"; # and builds your email address
$process = new Proc::ProcessTable; # create an interface into the process table
$found_signature_task = "false";
foreach $proc ( @{$process->table})
{
chomp ($uid);
if ($uid eq $proc->uid)
{
# process is in our uid
if ($proc->fname eq $TASKNAME)
{
# we have a match to our task
# if we are running or zombie, then ignore the task.
if ( ($proc->state ne "defunct") &&
($proc->state ne "run"))
{
$found_signature_task = "true";
print "Found ", $TASKNAME, " [", $proc->pid, "] ", $proc->cmndline, " *", $proc->state, "*\n";
}
}
}
}
if ($found_signature_task eq "true")
{
exit (0);
}
while (1) {
unless (-p $FIFO) {
unlink $FIFO;
system('mknod', $FIFO, 'p')
&& die "can't mknod $FIFO: $!";
}
# next line blocks until there's a reader
open (FIFO, "> $FIFO") || die "can't write $FIFO: $!";
print FIFO "$FULLNAME $EMAILADDR\n",`fortune 25% homer 25% startrek 25% futurama 25% kernelcookies -s`;
close FIFO;
sleep 2; # to avoid dup signals
}
signature.asc
Description: This is a digitally signed message part
