aboutsummaryrefslogtreecommitdiffstats
path: root/docs/Irssi.pm
diff options
context:
space:
mode:
authorTom Feist <shabble@cowu.be>2010-07-16 19:13:02 +0000
committerTom Feist <shabble@cowu.be>2010-07-16 19:13:02 +0000
commitced8aef9e7966a75b43c1d54b7fa06377bad8dff (patch)
treee6d635be017f2d6ddc84bc36d42c7677d3117e9d /docs/Irssi.pm
parentsignals maybe finished! (diff)
downloadirssi-scripts-ced8aef9e7966a75b43c1d54b7fa06377bad8dff.tar.gz
irssi-scripts-ced8aef9e7966a75b43c1d54b7fa06377bad8dff.zip
renamed everything to .pod since they are not actually perl modules
Diffstat (limited to 'docs/Irssi.pm')
-rw-r--r--docs/Irssi.pm563
1 files changed, 0 insertions, 563 deletions
diff --git a/docs/Irssi.pm b/docs/Irssi.pm
deleted file mode 100644
index 11837d4..0000000
--- a/docs/Irssi.pm
+++ /dev/null
@@ -1,563 +0,0 @@
-__END__
-
-=head1 NAME
-
-Irssi.pm
-
-=head1 DESCRIPTION
-
-L<Irssi|http://irssi.org> is a console based fullscreen IRC client. It is
-written in the C programming language, and can be modified through both
-I<Modules> -- dynamically loadable compiled libraries -- and I<Scripts>, written
-in L<Perl|http://perl.org>.
-
-Modules are not covered in this documentation, other than to note that Perl
-scripting support itself may be compiled as a module rather than built directly
-into Irssi. The C</LOAD> command can be used from within Irssi to check if Perl
-support is available. If not, refer to the F<INSTALL> file for how to recompile
-irssi.
-
-The C<Irssi> package is the basis of Perl scripting in Irssi. It does not export any
-functions, and requires that all function-calls be fully qualified with the
-C<Irssi::I<cmd>> prefix.
-
-=head1 CLASSES
-
-This documentation has been split into a number of pages, each documenting a
-particular class or pseudo-class. The following list contains all of these
-additional pages.
-
-=over 4
-
-=item L<Irssi::Ban>
-
-=item L<Irssi::Chatnet>
-
-=item L<Irssi::Chatnet>
-
-=item L<Irssi::Client>
-
-=item L<Irssi::Command>
-
-=item L<Irssi::Dcc>
-
-=item L<Irssi::Ignore>
-
-=item L<Irssi::Log>
-
-=item L<Irssi::Logitem>
-
-=item L<Irssi::Nick>
-
-=item L<Irssi::Notifylist>
-
-=item L<Irssi::Process>
-
-=item L<Irssi::Query>
-
-=item L<Irssi::Rawlog>
-
-=item L<Irssi::Reconnect>
-
-=item L<Irssi::Script>
-
-=item L<Irssi::Server>
-
-=item L<Irssi::Theme>
-
-=item L<Irssi::Window>
-
-=item L<Irssi::Windowitem>
-
-=back
-
-
-=head1 EXPORTS
-
-Nothing by default, but passing a list of function names when C<use>ing the module
-will import them into the current namespace.
-
-For example:
-
- use Irssi qw/signal_emit signal_add .../;
-
-=head1 METHODS
-
-=head2 Accessors
-
-=head3 active_win
-
-C<my $win = Irssi::active_win();>
-
-returns the currently active L<Irssi::Window>
-
-=head3 active_server
-
-C<my $server = Irssi::active_server();>
-
-returns the currently active L<Irssi::Server> in active window.
-
-=head3 windows
-
-returns a list of all L<windows|Irssi::Window>.
-
-=head3 servers
-
-returns a list of all L<servers|Irssi::Server>.
-
-=head3 reconnects
-
-returns a list of all L<server reconnections|Irssi::Reconnect>.
-
-=head3 channels
-
-returns a list of all L<channels|Irssi::Channel>.
-
-=head3 queries
-
-returns a list of all L<queries|Irssi::Query>.
-
-=head3 commands
-
-returns a list of all L<commands|Irssi::Command>.
-
-=head3 logs
-
-returns a list of all L<log files|Irssi::Log>.
-
-=head3 ignores
-
-returns a list of all L<ignores|Irssi::Ignore>.
-
-=head3 dccs
-
-returns a list of all L<DCC connections|Irssi::Dcc>
-
-=head2 Signals
-
-See also L<Signals>
-
-Irssi is pretty much based on sending and handling different signals.
-Like when you receive a message from server, say:
-
-C<:nick!user@there.org PRIVMSG you :blahblah>
-
-Irssi will first send a signal:
-
-C<"server incoming", SERVER_REC, "nick!user@there PRIVMSG ...">
-
-You probably don't want to use this signal. Default handler for this
-signal interprets the header and sends a signal:
-
-C<"server event", Irssi::Server, "PRIVMSG ...", "nick", "user@there.org">
-
-You probably don't want to use this either, since this signal's default
-handler parses the event string and sends a signal:
-
-C<"event privmsg", Irssi::Server, "you :blahblah", "nick", "user@there.org">
-
-You can at any point grab the signal, do whatever you want to do with
-it and optionally stop it from going any further by calling
-L<Irssi::signal_stop|Irssi/signal_stop>
-
-For example:
-
- sub event_privmsg {
- # $data = "nick/#channel :text"
- my ($server, $data, $nick, $address) = @_;
- my ($target, $text) = split(/ :/, $data, 2);
-
- Irssi::signal_stop() if ($text =~ /free.*porn/ || $nick =~ /idiot/);
- }
-
- Irssi::signal_add("event privmsg", "event_privmsg");
-
-This will hide all public or private messages that match the regexp
-C<"free.*porn"> or the sender's nick contain the word "idiot". Yes, you
-could use /IGNORE instead for both of these C<:)>
-
-You can also use L<Irssi::signal_add_last|/signal_add_last> if you wish to let the
-Irssi's internal functions be run before yours.
-
-A list of signals that irssi sends can be found in the L<Signals> documentation.
-
-
-
-
-=head3 Handling Signals
-
-=head4 C<signal_add $sig_name, $func>
-
-Bind C<$sig_name> to function C<$func>. The C<$func> argument may be either
-a string containing the name of a function to call, or a coderef.
-
-For example:
-
- Irssi::signal_add("default command", sub { ... });
-
- Irssi::signal_add("default command", "my_function");
-
- Irssi::signal_add("default command", \&my_function);
-
-In all cases, the specified function will be passed arguments in C<@_> as specified
-in L<Signals>.
-
-=head4 C<signal_add_first $sig_name, $func>
-
-Bind C<$sig_name> to function C<$func>. Call C<$func> as soon as possible when
-the signal is raised.
-
-=head4 C<signal_add_last $sig_name, $func>
-
-Bind C<$sig_name> to function C<$func>. Call C<$func> as late as possible (after
-all other signal handlers).
-
-=head4 C<signal_remove $sig_name, $func>
-
-Unbind C<$sig_name> from function C<$func>.
-B<TODO: Can you unbind a signal from a C<sub { ...}> coderef? What happens?>
-
-
-=head3 Controlling Signal Propagation
-
-=head4 C<signal_emit $sig_name, @params>
-
-Send a signal of type C<$sig_name>. Up to 6 parameters can be passed in C<@params>.
-
-=head4 C<signal_continue @params>
-
-Propagate a currently emitted signal, but with different parameters. This only
-needs to be called if you wish to change them, otherwise all subsequent handlers
-will be invoked as normal.
-
-B<Should only be called from within a signal handler>
-
-=head4 C<signal_stop>
-
-Stop the signal that's currently being emitted, no other handlers after this one will
-be called.
-
-=head4 C<signal_stop_by_name $sig_name>
-
-Stop the signal with name C<$sig_name> that is currently being emitted.
-
-=head3 Registering New Signals
-
-=head4 C<signal_register $hashref>
-
-Register parameter types for one or more signals. C<$hashref> must map one or
-more signal names to references to arrays containing 0 to 6 type names. Some
-recognized type names include int for integers, intptr for references to
-integers and string for strings. For all standard signals see
-F<src/perl/perl-signals-list.h> in the source code (this is generated by
-F<src/perl/get-signals.pl>).
-
-For example:
-
- my $signal_config_hash = { "new signal" => [ qw/string string integer/ ] };
- Irssi::signal_register($signal_config_hash);
-
-Any signals that were already registered are unaffected.
-
-B<Signals are not persistent.> Once registered, a signal cannot be unregistered without
-restarting Irssi. B<TODO: True?>, including modifying the type signature.
-
-Registration is required to get any parameters to signals written in
-Perl and to emit and continue signals from Perl.
-
-B<TODO: What are the complete list of recognised types?>
-
-
-
-
-=head2 Commands
-
-See also L<Irssi::Command>
-
-=head3 Registering Commands
-
-=head4 C<command_bind $cmd, $func, $category>
-
-Bind a command string C<$cmd> to call function C<$func>. C<$func> can be
-either a string or coderef. C<$category> is an optional string specifying
-the category to display the command in when C</HELP> is used.
-
-=head4 C<command_runsub $cmd, $data, $server, $item>
-
-Run subcommands for `cmd'. First word in `data' is parsed as
-subcommand. `server' is L<Irssi::Server> record for current
-L<Irssi::Windowitem> `item'.
-
-Call command_runsub in handler function for `cmd' and bind
-with command_bind("`cmd' `subcmd'", subcmdfunc[, category]);
-
-B<TODO: example here>
-
-=head4 C<command_unbind $cmd, $func>
-
-Unbind command C<$cmd> from function C<$func>.
-
-=head3 Invoking Commands
-
-=head4 C<command $string>
-
-Run the command specified in C<$string> in the currently active context.
-
-B<TODO: passing args in C<@_> vs concatenating into the command string?>
-
-See also L<Irssi::Server/command $string>
-
-=head3 Parsing Command Arguments
-
-=head4 C<command_set_options $cmd, $data>
-
-Set options for command C<$cmd> to C<$data>. C<$data> is a string of
-space separated words which specify the options. Each word can be
-optionally prefixed with one of the following character:
-
-=over 16
-
-=item C<->: optional argument
-
-=item C<@>: optional numeric argument
-
-=item C<+>: required argument
-
-=back
-
-For example:
-
- my $argument_format = "+something -other -another @number";
- Irssi::command_set_options('mycmd', $argument_format);
-
-Thus, the command may be run as C</mycmd -something value -other value rest of args>.
-
-=head4 C<command_parse_options $cmd, $data>
-
-Parse out options as specified by L<command_set_options|/command_set_options
-$cmd, $data> for command C<$cmd>. A string containing the input received by the
-command handler should be passed in as C<$data>.
-
-The return value is either C<undef> if an error occurred, or a list containing
-two items. The first is a hashref mapping the option names to their
-values. Optional arguments which were not present in the input will not be
-included in the hash.
-
-The second item in the return list is a string containing the remainder of the input
-after the arguments have been parsed out.
-
-For example:
-
- sub my_cmd_handler {
- my ($command_args) = @_;
- my @options_list = Irssi::command_parse_options "my_cmd", $command_args;
- if (@options_list) {
- my $options = $options_list->[0];
- my $arg_remainder = $options_list->[1];
-
- if (exists $options->{other} && $options->{something} eq 'hello') {
-
- ...
-
- }
- }
- }
-
-=head2 Settings
-
-
-=head3 Creating New Settings
-
-=head4 C<settings_add_str(section, key, def)>
-
-=head4 C<settings_add_int(section, key, def)>
-
-=head4 C<settings_add_bool(section, key, def)>
-
-=head4 C<settings_add_time(section, key, def)>
-
-=head4 C<settings_add_level(section, key, def)>
-
-=head4 C<settings_add_size(section, key, def)>
-
-
-=head3 Retrieving Settings
-
-=head4 C<settings_get_str($key)>
-
-=head4 C<settings_get_int($key)>
-
-=head4 C<settings_get_bool($key)>
-
-=head4 C<settings_get_time($key)>
-
-=head4 C<settings_get_level($key)>
-
-=head4 C<settings_get_size($key)>
-
-=head3 Modifying Settings
-
-Set value for setting.
-
-B<If you change the settings of another module/script with one of these, you
-must emit a C<"setup changed"> signal afterwards.>
-
-=head4 C<settings_set_str(key, value)>
-
-=head4 C<settings_set_int(key, value)>
-
-=head4 C<settings_set_bool(key, value)>
-
-=head4 C<settings_set_time(key, value)>
-
-=head4 C<settings_set_level(key, value)>
-
-=head4 C<settings_set_size(key, value)>
-
-=head4 C<settings_remove(key)>
-
-Remove a setting.
-
-
-=head2 IO and Process Management
-
-timeout_add(msecs, func, data)
- Call `func' every `msecs' milliseconds (1000 = 1 second) with
- parameter `data'. Returns tag which can be used to stop the timeout.
-
-timeout_add_once(msecs, func, data);
- Call `func' once after `msecs' milliseconds (1000 = 1 second)
- with parameter `data'. Returns tag which can be used to stop the timeout.
-
-timeout_remove(tag)
- Remove timeout with tag.
-
-input_add(source, condition, func, data)
- Call `func' with parameter `data' when specified IO happens.
- `source' is the file handle that is being listened. `condition' can
- be INPUT_READ, INPUT_WRITE or both. Returns tag which can be used to
- remove the listener.
-
-input_remove(tag)
- Remove listener with tag.
-
-pidwait_add(pid)
- Adds `pid' to the list of processes to wait for. The pid must identify
- a child process of the irssi process. When the process terminates, a
- "pidwait" signal will be sent with the pid and the status from
- waitpid(). This is useful to avoid zombies if your script forks.
-
-pidwait_remove(pid)
- Removes `pid' from the list of processes to wait for. Terminated
- processes are removed automatically, so it is usually not necessary
- to call this function.
-
-
-
-=head2 Message Levels
-
-level2bits(level)
- Level string -> number
-
-bits2level(bits)
- Level number -> string
-
-combine_level(level, str)
- Combine level number to level string ("+level -level").
- Return new level number.
-
-
-=head2 Themes
-
-See also L<Irssi::Theme>
-
-You can have user configurable texts in scripts that work just like
-irssi's internal texts that can be changed in themes.
-
-First you'll have to register the formats:
-
-
-Irssi::theme_register([
- 'format_name', '{hilight my perl format!}',
- 'format2', 'testing.. nick = $0, channel = $1'
-]);
-
-Printing happens with one of the functions:
-
-printformat(level, format, ...)
-Window::printformat(level, format, ...)
-Server::printformat(target, level, format, ...)
-Windowitem::printformat(level, format, ...)
-
-For example:
-
- $channel->printformat(MSGLEVEL_CRAP, 'format2',
- 'nick', $channel->{name});
-
-
-=head2 DCC
-
-See also L<Irssi::Dcc>
-
-Dcc
-dcc_find_item(type, nick, arg)
- Find DCC connection.
-
-Dcc
-dcc_find_by_port(nick, port)
- Find DCC connection by port.
-
-
-=head2 Channels
-
-Channel
-channel_find(channel)
- Find channel from any server.
-
-=head2 Ignores
-
-
-ignore_add_rec(ignore)
- Add ignore record.
-
-ignore_update_rec(ignore)
- Update ignore record in configuration
-
-ignore_check(nick, host, channel, text, level)
-
-=head2 Logging
-
-
-Log
-log_create_rec(fname, level)
- Create log file.
-
-
-Log
-log_find(fname)
- Find log with file name.
-
-=head2 Raw Logging
-
-Rawlog rawlog_create()
- Create a new rawlog.
-
-rawlog_set_size(lines)
- Set the default rawlog size for new rawlogs.
-
-=head2 Chat-Nets
-
-chatnet_find(name)
- Find chat network with name.
-
-=head2 Status Bars
-
-B<TODO>
-
-=head1 COPYRIGHT
-
-All the content of this site is copyright E<copy> 2000-2010 L<The Irssi
-project|http://irssi.org>.
-
-Formatting to POD and linking by Tom Feist
- L<shabble+irssi@metavore.org|mailto:shabble+irssi@metavore.org>