texのerrorとかwarningとかの監視
texの状態をApp::watcherで監視してエラーとか警告の監視をしたかったので、!とかWarning出たらCocoa::Growlで通知するようにした。
watcherの引数を組立ててるけど、結局量が増えてくるとFilesys::Notify::Simpleだけで書いたほうが良い気がしてきた........
use IPC::Cmd qw/run_forked/; use Cocoa::Growl ':all'; my @commands; my $print_handle = sub { my $line = shift; if ( $line =~ /^! / ) { growl_notify( name => "error", title => "error", description => $line, ); } elsif ( $line =~ /^Warning/ ) { growl_notify( name => "warning", title => "warning", description => $line, ); } print $line; }; run_forked( join(" ", @commands), { stdout_handler => $print_handle, stderr_handler => $print_handle, }, );
追記
こうした。