Changeset 1097

Show
Ignore:
Timestamp:
07/17/06 13:37:11
Author:
miyagawa
Message:

Notify::Balloon

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/plagger/lib/Plagger/Plugin/Notify/Balloon.pm

    r1096 r1097  
    55our $VERSION = '0.01'; 
    66 
     7use File::Spec; 
    78use Encode (); 
    89 
     
    1112 
    1213    if ($^O eq 'MSWin32') { 
    13         $context->register_hook( 
    14             $self, 
    15             'publish.entry' => \&notify, 
    16             'plugin.init'   => \&initialize, 
    17         ); 
     14        if ($self->has_balloon_notify) { 
     15            $context->register_hook( 
     16                $self, 
     17                'publish.entry' => \&notify, 
     18                'plugin.init'   => \&initialize, 
     19            ); 
     20        } else { 
     21            $context->log(error => "BalloonNotify is not in your PATH."); 
     22        } 
    1823    } else { 
    1924        $context->log(error => "This plugin only works on Win32 systems"); 
    2025    } 
     26} 
     27 
     28sub has_balloon_notify { 
     29    my $self = shift; 
     30    grep { -e File::Spec->catfile($_, 'BallonNotify.exe') } 
     31        split /;/, $ENV{PATH}; 
    2132} 
    2233 
     
    4657sub scrub { 
    4758    my($self, $string) = @_; 
    48     $string =~ s/\s+/ /
     59    $string =~ s/\s+/ /g
    4960    Encode::encode($self->conf->{encoding}, $string); 
    5061} 
     
    6778updates to users. 
    6879 
     80You need to install BallonNotify.exe command line tool from 
     81L<http://www.gertrud.jp/soft/balloonnotify.html>. 
     82 
     83=head1 TODO 
     84 
     85=over 4 
     86 
     87=item Rewrite using Win32::GUI 
     88 
     89=back 
     90 
    6991=head1 AUTHOR 
    7092