作者 beep_beep.pl [perl] 2010-11-19 22:12 (点击下载)

  1. #!/usr/bin/perl
  2. #
  3. # irssi beep replace script (tested with v0.8.4.CVS (20020413-1428))
  4. # (C) 2002 Ge0rG@IRCnet (Georg Lukas <georg@op-co.de>)
  5. # inspired and tested by Macrotron@IRCnet (macrotron@president.eu.org)
  6.  
  7. # added beep_flood to irssi settings: beep_cmd will be run not more often
  8. # then every $beep_flood milliseconds
  9.  
  10. $VERSION = "0.8";
  11. %IRSSI = (
  12. authors => "Georg Lukas",
  13. contact => "georg\@op-co.de",
  14. name => "beep_beep",
  15. description => "runs arbitrary command instead of system beep, includes flood protection",
  16. license => "Public Domain",
  17. url => "none",
  18. );
  19.  
  20. use Irssi;
  21.  
  22. my $might_beep = 1;
  23.  
  24. sub beep_overflow_timeout() {
  25. $might_beep = 1;
  26. }
  27.  
  28. sub beep_beep() {
  29. my $beep_cmd = Irssi::settings_get_str("beep_cmd");
  30. if ($beep_cmd) {
  31. my $beep_flood = Irssi::settings_get_int('beep_flood');
  32. $beep_flood = 1000 if $beep_flood < 0;
  33. Irssi::timeout_add($beep_flood, 'beep_overflow_timeout', undef);
  34. if ($might_beep) {
  35. system($beep_cmd);
  36. $might_beep = 0;
  37. }
  38. Irssi::signal_stop();
  39. }
  40. }
  41.  
  42. Irssi::settings_add_str("lookandfeel", "beep_cmd", "aplay /home/pity/.irssi/scripts/message.wav 2>/dev/null &");
  43. Irssi::settings_add_int("lookandfeel", "beep_flood", 250);
  44. Irssi::signal_add("beep", "beep_beep");

提交下面的校正或者修改. (点击这里开始一个新的帖子)
姓名: 在 cookie 中记住我的名字

屏幕抓图:(jpeg 或 png)