1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
# $Id: IPC.pm,v 1.3 2001/06/08 00:48:08 muhri Exp $
# -*- perl -*-
package Pronto::IPC;
use strict;
use POSIX ":sys_wait_h";
sub ALRM_handler {
if($main::prefs{'AutoCheckTime'} > 0) {
&main::check_mail(0,"all",$main::prefs{'AutoCheckProgress'});
my $seconds = 60*$main::prefs{'AutoCheckTime'};
alarm $seconds;
}
}
sub USR1_handler {
if(open(TMP,"<$main::prefs{'MailDir'}/pronto.address")) {
my @fields;
my $i = 0;
while($fields[$i++] = <TMP>) {};
$fields[0] =~ s/mailto\://;
if(defined $fields[1]) {
if(defined $fields[2]) {
my $tmp = $fields[1];
$fields[1] = $fields[2];
$fields[2] = $tmp;
}
else {
$fields[2] = $fields[1];
$fields[1] = "";
}
}
else {
$fields[1] = "";
$fields[2] = "";
}
chomp($fields[0]);
chomp($fields[1]);
chomp($fields[2]);
chomp($fields[3]);
&Pronto::Compose::init_msg_window(0, undef, \@fields);
unlink("$main::prefs{'MailDir'}/pronto.address");
}
else {
&Pronto::Compose::init_msg_window;
# $main::root_window->window->show();
# $main::root_window->show();
# $main::root_window->window->raise();
}
}
sub USR2_handler {
my $box = &Pronto::FolderTree::get_folder_id();
&Pronto::FolderTree::refresh_folder_tree(1); #to playsound if any
if (!$box) { $box = 0 }
if ($box !=1000) {
if ($main::prefs{'messageview'} eq "clist") {
&Pronto::MessageList::refresh_messages;
} else {
&Pronto::MessageList::refresh_ctree;
}
}
return 1;
}
sub CHLD_handler {
waitpid(-1, WNOHANG);
$SIG{CHLD}=\&CHLD_handler;
}
1;
|