1#!/usr/local/bin/perl
2#
3# by Simon 'corecode' Schuberty <corecode@corecode.ath.cx>
4
5use strict;
6use vars qw($VERSION %IRSSI);
7$VERSION = "2003011501";
8%IRSSI = (
9    authors     => "Simon 'corecode' Schubert",
10    contact     => "corecode\@corecode.ath.cx",
11    name        => "beepaway",
12    description => "Only beep when you are away",
13    license     => "BSD",
14    changed     => "$VERSION",
15);
16use Irssi 20020324;
17
18sub catch_away {
19	my $level;
20	my $server;
21	($server) = @_;
22
23	if ($server->{usermode_away}) {
24		$level = Irssi::settings_get_str("beep_away_msg_level")
25	} else {
26		$level = Irssi::settings_get_str("beep_back_msg_level")
27	}
28#	Irssi::print "%R>>%n setting levels ``$level''";
29	$server->command("/^set beep_msg_level ".$level);
30}
31
32Irssi::settings_add_str($IRSSI{name}, "beep_away_msg_level", "MSGS NOTICES DCC DCCMSGS HILIGHT");
33Irssi::settings_add_str($IRSSI{name}, "beep_back_msg_level", "NONE");
34
35Irssi::signal_add("away mode changed", "catch_away");
36
37print CLIENTCRAP '%B>>%n '.$IRSSI{name}.' '.$VERSION.' (c) '.$IRSSI{authors}.' loaded';
38