From ced8aef9e7966a75b43c1d54b7fa06377bad8dff Mon Sep 17 00:00:00 2001 From: Tom Feist Date: Fri, 16 Jul 2010 20:13:02 +0100 Subject: renamed everything to .pod since they are not actually perl modules --- docs/Irssi.pm | 563 ---------------------------------------------------------- 1 file changed, 563 deletions(-) delete mode 100644 docs/Irssi.pm (limited to 'docs/Irssi.pm') 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 is a console based fullscreen IRC client. It is -written in the C programming language, and can be modified through both -I -- dynamically loadable compiled libraries -- and I, written -in L. - -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 command can be used from within Irssi to check if Perl -support is available. If not, refer to the F file for how to recompile -irssi. - -The C 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> 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 - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=item L - -=back - - -=head1 EXPORTS - -Nothing by default, but passing a list of function names when Cing 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 - -returns the currently active L - -=head3 active_server - -C - -returns the currently active L in active window. - -=head3 windows - -returns a list of all L. - -=head3 servers - -returns a list of all L. - -=head3 reconnects - -returns a list of all L. - -=head3 channels - -returns a list of all L. - -=head3 queries - -returns a list of all L. - -=head3 commands - -returns a list of all L. - -=head3 logs - -returns a list of all L. - -=head3 ignores - -returns a list of all L. - -=head3 dccs - -returns a list of all L - -=head2 Signals - -See also L - -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 - -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 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 documentation. - - - - -=head3 Handling Signals - -=head4 C - -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. - -=head4 C - -Bind C<$sig_name> to function C<$func>. Call C<$func> as soon as possible when -the signal is raised. - -=head4 C - -Bind C<$sig_name> to function C<$func>. Call C<$func> as late as possible (after -all other signal handlers). - -=head4 C - -Unbind C<$sig_name> from function C<$func>. -B coderef? What happens?> - - -=head3 Controlling Signal Propagation - -=head4 C - -Send a signal of type C<$sig_name>. Up to 6 parameters can be passed in C<@params>. - -=head4 C - -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 - -=head4 C - -Stop the signal that's currently being emitted, no other handlers after this one will -be called. - -=head4 C - -Stop the signal with name C<$sig_name> that is currently being emitted. - -=head3 Registering New Signals - -=head4 C - -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 in the source code (this is generated by -F). - -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 Once registered, a signal cannot be unregistered without -restarting Irssi. B, 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 - - - - -=head2 Commands - -See also L - -=head3 Registering Commands - -=head4 C - -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 is used. - -=head4 C - -Run subcommands for `cmd'. First word in `data' is parsed as -subcommand. `server' is L record for current -L `item'. - -Call command_runsub in handler function for `cmd' and bind -with command_bind("`cmd' `subcmd'", subcmdfunc[, category]); - -B - -=head4 C - -Unbind command C<$cmd> from function C<$func>. - -=head3 Invoking Commands - -=head4 C - -Run the command specified in C<$string> in the currently active context. - -B vs concatenating into the command string?> - -See also L - -=head3 Parsing Command Arguments - -=head4 C - -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. - -=head4 C - -Parse out options as specified by L 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 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 - -=head4 C - -=head4 C - -=head4 C - -=head4 C - -=head4 C - - -=head3 Retrieving Settings - -=head4 C - -=head4 C - -=head4 C - -=head4 C - -=head4 C - -=head4 C - -=head3 Modifying Settings - -Set value for setting. - -B signal afterwards.> - -=head4 C - -=head4 C - -=head4 C - -=head4 C - -=head4 C - -=head4 C - -=head4 C - -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 - -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 - -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 - -=head1 COPYRIGHT - -All the content of this site is copyright E 2000-2010 L. - -Formatting to POD and linking by Tom Feist - L -- cgit v1.2.3