File: IPC.pm

package info (click to toggle)
pronto 2.2.6-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,892 kB
  • ctags: 406
  • sloc: perl: 21,215; makefile: 145; sh: 34
file content (72 lines) | stat: -rw-r--r-- 1,562 bytes parent folder | download | duplicates (3)
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;