NAME

BBS::Perm - a component for your own BBS client

VERSION

This document describes BBS::Perm version 0.0.1

SYNOPSIS

use BBS::Perm qw/Feed IP URI/;
my $perm = BBS::Perm->new(
    perm   => { accel => 1 },
    config => { file   => '.bbs-perm/config.yml' },
    term => { agent => 'bbs-perm-agent' },
);

DESCRIPTION

Want to build your own BBS client using Gtk2? Maybe BBS::Perm can help you.

Although BBS::Perm is still very, very young, it can help you now.

With BBS::Perm, you can:

1. have multi terminals at the same time, and quickly switch among them.

2. anti-idle

3. commit sth. from file or even command output directly.

4. extract URIs and browse them quickly.

5. get some useful information of IPv4 addresses.

6. build your window layout freely.

7. use your own agent script.

INTERFACE

new ( %opt )

Create a new BBS::Perm object.

%opt is some configuration options:

{ config => $config, $uri => $uri, perm => $perm }

All the values of %opt are hashrefs.

For each component, there can be a configuration pair for it. perm => $perm is for BBS::Perm itself, where $perm is as follows:

window => $window
$window is a Gtk2::Window object, which is your main window.
accel => 1 | 0
use accelerator keys or not, default is 1
connect($sitename)

connect to $sitename.

config, uri, ip, ...

For each sub component, there's a method with the componnet's last name(lowcase), so you can get each sub component from a BBS::Perm object.

e.g. $self->config is the BBS::Perm::Config object.

window

return the main window object, which is a Gtk2::Window object.

DEPENDENCIES

Gtk2, Regexp::Common, UNIVERSAL::require, UNIVERSAL::moniker,version

INCOMPATIBILITIES

None reported.

BUGS AND LIMITATIONS

When a terminal is destroyed, if there is a warning like "gdk_window_invalidate_maybe_recurse: assertion `window != NULL' failed", please update you vte lib to 0.14 or above, this bug will gone, ;-)

AUTHOR

sunnavy <sunnavy@gmail.com>

LICENCE AND COPYRIGHT

Copyright (c) 2007, sunnavy <sunnavy@gmail.com>. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.