Max, First, thanks for the plugin -- now I've read it I see how the display stuff is done, whereas before I had no clue!
Second, there's a small bug on line 140: the 'sendAndReceive' call uses the literal value 30 instead of $displayTime. Third, I've managed to get 'NCID' (http://ncid.sourceforge.net/) working through your script, with some modifications. The 'client program' (http://ncid.sourceforge.net/ncid/ncid.html) can be set to call any external program when a call comes in, passing date, time, number and name on separate lines of stdin. It can also use an aliases file to match up names to numbers, so that all clients can use the same data. I modified the script to not take arguments from ARGV, but to read the four lines from stdin. I replaced this: Code: -------------------- # Number that's calling my $number = $ARGV[1]; -------------------- ...with this (although I ignore the date/time): Code: -------------------- my $incoming_date = <STDIN>; chomp($incoming_date); my $incoming_time = <STDIN>; chomp($incoming_time); # Number that's calling my $number = <STDIN>; chomp($number); $number = uri_escape($number); if ($debug && $debugLog) { open(STDOUT, ">>$debugLog"); } -------------------- The use of 'uri_escape' was to deal with spaces etc in the data passed in by NCID; it requires the following near the top of the file: Code: -------------------- use URI::Escape; -------------------- Because I don't use the CSV feature of the script, I removed that whole section: Code: -------------------- # Read the phone number csv file ... $debug && print "Caller: $name\n"; -------------------- ...and replaced it with this: Code: -------------------- my $name = <STDIN>; chomp($name); if($name eq "NO NAME") { $name = "Unknown: $number"; } $name = uri_escape($name); $debug && print "Caller: $name\n"; -------------------- To invoke this, one should first get ncidd (the daemon) running and confirmed working. Then run this: Code: -------------------- ncid --no-gui --all --call-prog --program /usr/local/bin/ncid-slim.pl & -------------------- ...where "ncid-slim.pl" is the modified "cid.pl", living in "/usr/local/bin" and given execute permissions. (The trailing ampersand is to make this a background process when launching from a terminal; I don't know what the best way is to launch this automatically, but I think the ampersand is not required then.) I have this setup running on an old P90 with a cheap ISA modem (which I bought when I saw your original script available!), which also acts as my firewall etc. SlimServer is on a separate box, so of course I modified $serverAddress appropriately (tip there for anyone else who may find it doesn't work initially, as I did)... -- smst ------------------------------------------------------------------------ smst's Profile: http://forums.slimdevices.com/member.php?userid=752 View this thread: http://forums.slimdevices.com/showthread.php?t=18377 _______________________________________________ plugins mailing list [email protected] http://lists.slimdevices.com/lists/listinfo/plugins
