# $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++] = ) {}; $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;