diff options
-rw-r--r-- | docs/Guide.pod | 29 | ||||
-rw-r--r-- | docs/Irssi.pod | 63 | ||||
-rw-r--r-- | docs/Signals.pod | 18 | ||||
-rw-r--r-- | history-search/irssi/config | 4 | ||||
-rw-r--r-- | history-search/irssi/default.theme | 2 |
5 files changed, 79 insertions, 37 deletions
diff --git a/docs/Guide.pod b/docs/Guide.pod index 8f27823..9d52ed1 100644 --- a/docs/Guide.pod +++ b/docs/Guide.pod @@ -176,7 +176,7 @@ that the package and function exist, and generate an error otherwise. Other error handling is possible, including executing a C</SCRIPT LOAD> to load the necessary script and retry, but is not shown here. -I<This snippet was provided by C<Bazerka> on Freenode/#irssi.> +I<This snippet was provided by C<Bazerka> on Freenode/#irssi>. =head2 If In Doubt, Dump! @@ -219,6 +219,9 @@ This example demonstrates overriding the C</HELP> command, and if the argument matches our command, print some custom help and prevent the internal Irssi help function from being called. Otherwise, it falls back to the default help. + +I<This snippet was provided by C<nightfrog> on Freenode/#irssi>. + =head3 Use Tab Completion One of the great features of Irssi is the ability to complete commands, @@ -226,6 +229,30 @@ subcommands and even certain arguments. Using the subcommands processing featur described below automatically allows those subcommands to be tab-completed, but for more complex tasks, you can hook into the autocompletion system itself. +In order to create your own completions, you must intercept the C<"complete +word"> signal and return a list of completion candidates. + + sub do_complete { + my ($strings, $window, $word, $linestart, $want_space) = @_; + + # only provide these completions if the input line is otherwise empty. + return unless ($linestart eq '' && $word eq ''); + + # add the completion candidates + push @$strings, qw/foo bar baz bacon/; + + # indicate that we want to include a space after the completion + $$want_space = 1; + + # prevent internal Irssi completion from responding + Irssi::signal_stop; + } + + Irssi::signal_add_first('complete word', \&do_complete); + +I<This snippet taken from +L<F<complete_lastspoke.pl>|http://scripts.irssi.org/scripts/complete_lastspoke.pl> +by Daenyth> =head3 Use Settings for Customisation diff --git a/docs/Irssi.pod b/docs/Irssi.pod index 3187763..49e83fa 100644 --- a/docs/Irssi.pod +++ b/docs/Irssi.pod @@ -65,7 +65,7 @@ B<TODO: fix this list with proper package names> =item L<Irssi::Theme> -=item L<Irssi::Window> +=item L<Irssi::UI::Window> =item L<Irssi::Windowitem> @@ -90,7 +90,7 @@ For example: C<my $win = Irssi::active_win();> -returns the currently active L<Irssi::Window> +returns the currently active L<Irssi::UI::Window> =head3 C<active_server> @@ -100,7 +100,7 @@ returns the currently active L<Irssi::Server> in active window. =head3 C<windows> -returns a list of all L<windows|Irssi::Window>. +returns a list of all L<windows|Irssi::UI::Window>. =head3 C<servers> @@ -130,11 +130,6 @@ returns a list of all L<log files|Irssi::Log>. returns a list of all L<ignores|Irssi::Ignore>. -=head3 C<dccs> - -B<TODO: this shouldn't be here> -returns a list of all L<DCC connections|Irssi::Irc::Dcc> - =head2 Signals See also L<Signals> @@ -428,6 +423,8 @@ used to build space-separated lists of entries. An integer type. Integers must be whole numbers, but may also be negative or zero. +It is stored internally as a C<signed int>, and has a range of +/- 2^31. + =item C<bool> A boolean type. In Perl terms, values are C<0> for false, and anything else for @@ -435,16 +432,32 @@ true. When acting on them externally, C<ON> and C<OFF> are the usual terms used =item C<time> -A time type. B<TODO: what values can it take?> +A time type. An integer with optional unit specifier. Valid specifiers are: + + days + hours + minutes / mins + seconds / secs + milliseconds / millisecs / mseconds / msecs + +B<TODO: can different specifiers be combined?> + +The value is stored internally as a number of milliseconds. Since it is stored +as an C<signed int>, it will overflow at 2^31 ms, or approximately 24 days. + +Times longer than this are considered invalid. =item C<level> An irssi Messagelevel. See C</HELP LEVELS> for a full list and description, or -L</Message Levels> for a description of the Perl equivalents. +L</Message Levels> for a list of the Perl equivalents. =item C<size> -B<TODO: What is this for?> +A size type. This is an non-negative integer, and the default suffix is I<kbytes>. +An optional suffix of C<bytes>, C<kbytes>, C<mbytes>, or C<gbytes> can be used +to set the size accordingly. Note that sizes are given using the exponent of 2 +scheme, rather than the decimal C<$x * 1000> system. =back @@ -489,20 +502,21 @@ This can be done with: Remove a setting specified with C<$key>. - =head2 IO and Process Management =head3 C<timeout_add $msecs, $func, $data> -Call C<$func> every C<$msecs> milliseconds (1/1000th of a second) with -parameter C<$data>. Returns a tag which can be used to stop the timeout via -L</timeout_remove $tag>. +Call C<$func> every C<$msecs> milliseconds (1/1000th of a second) with parameter +C<$data>. C<$msecs> must be at least 10 or an error is signaled via C<croak>. + +Returns a tag which can be used to stop the timeout via L</timeout_remove $tag>. =head3 C<timeout_add_once $msecs, $func, $data> Call C<$func> once after C<$msecs> milliseconds (1000 = 1 second) with parameter -C<$data>. Returns tag which can be used to stop the timeout via -L</timeout_remove $tag>. +C<$data>. C<$msecs> must be at least 10 or an error is signaled via C<croak>. + +Returns tag which can be used to stop the timeout via L</timeout_remove $tag>. =head3 C<timeout_remove $tag> @@ -644,21 +658,6 @@ For example: Returns the current L<theme|Irssi::UI::Theme> object. -=head2 DCC - -B<TODO: This should probably move to L<Irssi::Irc> - -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 =head3 C<channel_find $channel> diff --git a/docs/Signals.pod b/docs/Signals.pod index 2fcf913..93c79db 100644 --- a/docs/Signals.pod +++ b/docs/Signals.pod @@ -1614,7 +1614,7 @@ B<Requires to work properly:> =back -(Can be used to determine when all "gui print text"s are sent (not required)) +(Can be used to determine when all C<"gui print text">s are sent (not required)) =back @@ -1629,16 +1629,30 @@ B<Provides signals:> =over -=item arrayref of string C<$WHAT> B<TODO: ???> +=item arrayref of strings C<$strings_ref> + +An arrayref which can be modified to add additional completion candidates. + +For example: + + push @$strings_ref, "another_candidate"; =item L<Irssi::Window> C<$window> =item string C<$word> +The prefix of the word currently being typed. + =item string C<$linestart> +The contents of the input line up to (but not including) the current +word prefix C<$word>. + =item int C<$want_space> +A scalar reference which can be set to indicate if tab completion of these +candidates should be appended with a space. + =back =back diff --git a/history-search/irssi/config b/history-search/irssi/config index 693c426..6b7db48 100644 --- a/history-search/irssi/config +++ b/history-search/irssi/config @@ -251,10 +251,12 @@ statusbar = { }; prompt = { items = { - custom_prompt = { priority = "-5"; }; + prompt = { }; + prompt_empty = { }; input = { priority = "10"; }; }; }; + promptadd = { disabled = "yes"; }; }; }; settings = { diff --git a/history-search/irssi/default.theme b/history-search/irssi/default.theme index 98af18b..5e2a735 100644 --- a/history-search/irssi/default.theme +++ b/history-search/irssi/default.theme @@ -271,7 +271,7 @@ abstracts = { topicsbstart = "{sbstart $*}"; topicsbend = "{sbend $*}"; - prompt = "[$*] "; + prompt = "[$* $expando_test] "; sb = " %c[%n$*%c]%n"; sbmode = "(%c+%n$*)"; |