package Plagger::Plugin::Notify::OpenBrowser::FirefoxRemote; use base qw( Plagger::Plugin::Notify::OpenBrowser ); use strict; use Net::Telnet; sub init { my $self = shift; $self->Plagger::Plugin::init(@_); # Don't call SUPER::init which does auto-dispatch } sub open { my($self, $link) = @_; $self->{conn} ||= do { my $host = $self->conf->{host} || "localhost"; my $port = $self->conf->{port} || 4242; my $telnet = Net::Telnet->new(Port => $port); $telnet->open($host) or return $self->log(error => "Can't connect to $host:$port"); $self->log(info => "Connect MozRepl at $host:$port"); $telnet; }; $self->log(info => "Open $link in a remote Firefox"); $self->{conn}->cmd("window.openNewTabWith('$link')"); } 1; __END__ =head1 NAME Plagger::Plugin::Notify::OpenBrowser::FirefoxRemote - Open updated entries in a browser =head1 SYNOPSIS - module: Notify::OpenBrowser::FirefoxRemote =head1 DESCRIPTION This plugins opens updated entries in a remote Firefox using MozRepl extension. You need to install MozRepl before running this plugin. See L<http://dev.hyperstruct.net/trac/mozlab/wiki/MozRepl> for more. =head1 CONFIG =over 4 =item port Port running Firefox MozRepl server. Defaults to 4242. =back =head1 TIPS You should use SSH port forwarding if you'd like to connect remote MozRepl instance. =head1 AUTHOR Tatsuhiko Miyagawa youpy =head1 SEE ALSO L<Plagger>, L<Plagger::Plugin::Notify::OpenBrowser> =cut