html/licq.pl
1 $VERSION = "0.5";
2 %IRSSI = (
3 authors => "Jari Matilainen",
4 contact => "jmn98015\@student.mdh.se",
5 name => "licq",
6 description => "Licq statusbar thingy",
7 license => "Public Domain",
8 url => "http://jari.cjb.net,http://irssi.org,http://scripts.irssi.de",
9 );
10
11 use Irssi::TextUI;
12
13 my $result;
14 my $refresh_tag;
15 my $rdir = "$ENV{'HOME'}/.licq/users/";
16
17 sub licq {
18 my ($item,$get_size_only) = @_;
19 $result = 0;
20 if(-e $rdir) {
21 opendir(DIR, $rdir);
22
23 while ( $_ = readdir(DIR) ) {
24 next if(($_ eq ".") or ($_ eq ".."));
25
26 my $filename = "$rdir" . "$_";
27 if(-e $filename) {
28 open(FILE, $filename);
29 $_ = "";
30 $_ = <FILE> until /NewMessages/;
31 my @total = split / /, $_;
32 if(defined $total[2]) {
33 $result += $total[2];
34 }
35 }
36 }
37 }
38
39 closedir(DIR);
40
41 $item->default_handler($get_size_only, undef, $result, 1);
42 }
43
44 sub refresh_licq {
45 Irssi::statusbar_items_redraw('licq');
46 }
47
48 sub init_licq {
49 my $time = Irssi::settings_get_int('licq_refresh_time');
50 $rdir = Irssi::settings_get_str('licq_path');
51 Irssi::timeout_remove($refresh_tag) if ($refresh_tag);
52 $refresh_tag = Irssi::timeout_add($time*1000, 'refresh_licq', undef);
53 }
54
55 Irssi::settings_add_int('LICQ','licq_refresh_time',10);
56 Irssi::settings_add_str('LICQ','licq_path',$rdir);
57 Irssi::statusbar_item_register('licq', '{sb ICQ: $0-}', 'licq');
58
59 init_licq();
60 Irssi::signal_add('setup changed','init_licq');
61 refresh_licq();
62
63 # EOF