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