aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/Guide.pod7
-rw-r--r--docs/Irssi.pod94
-rw-r--r--docs/Irssi/UI/Theme.pod45
-rw-r--r--docs/xsfuncs_args.txt538
-rw-r--r--patches/add_bindings_list_interface.patch62
-rw-r--r--test/irssi/config6
-rwxr-xr-xtest/run_irssi.sh3
7 files changed, 473 insertions, 282 deletions
diff --git a/docs/Guide.pod b/docs/Guide.pod
index c0787bc..3a9f43f 100644
--- a/docs/Guide.pod
+++ b/docs/Guide.pod
@@ -115,6 +115,13 @@ B<TODO: catch "messsage private", check params, generate response>
=head1 USEFUL THINGS
+
+=head2 Dealing with Blocking IO
+
+B<TODO: see F<hddtemp.pl> on SIO> - fork and use pipes to communicate. Also
+remember to pidwait the child>
+
+
=head2 Getting the Response Value of a Remote Command
B<TODO: Add bazerka's snippet here>
diff --git a/docs/Irssi.pod b/docs/Irssi.pod
index eba846e..5984116 100644
--- a/docs/Irssi.pod
+++ b/docs/Irssi.pod
@@ -133,6 +133,52 @@ returns a list of all L<log files|Irssi::Log>.
returns a list of all L<ignores|Irssi::Ignore>.
+
+=head2 File Accessors
+
+=head3 C<get_gui>
+
+Indicates if Irssi has been started with a GUI frontend.
+
+Return values are:
+
+=over
+
+=item C<IRSSI_GUI_NONE> - C<0>
+
+=item C<IRSSI_GUI_TEXT> - C<1>
+
+=item C<IRSSI_GUI_GTK> - C<2>
+
+=item C<IRSSI_GUI_GNOME> - C<3>
+
+=item C<IRSSI_GUI_QT> - C<4>
+
+=item C<IRSSI_GUI_KDE> - C<5>
+
+=back
+
+The symbolic constants listed above can be accessed from scripts as follows:
+
+ my $is_text = Irssi::get_gui == Irssi::IRSSI_GUI_TEXT;
+
+=head3 C<get_irssi_binary>
+
+Returns a string containing the absolute location of the binary that this
+instance of Irssi was invoked from.
+
+=head3 C<get_irssi_config>
+
+Returns a string containing the absolute location of the config file that was
+specified or defaulted to when Irssi started up. Can be modified at startup
+using the C<--config=> commandline option, or defaults to F<~/.irssi/config>.
+
+=head3 C<get_irssi_dir>
+
+Returns a string containing the absolute location of the base directory that was
+specified or defaulted to when Irssi started up. Can be modified at startup
+using the C<--home=> commandline option, or defaults to F<~/.irssi/>.
+
=head2 Signals
See also L<Signals>
@@ -230,7 +276,21 @@ 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>
+For example, we can intercept a public message and rewrite the content before
+passing it on:
+
+ Irssi::signal_add_first 'message public',
+ sub {
+ my ($server, $msg, @rest) = @_;
+ $msg =~ s/this/that/g;
+ Irssi::signal_continue($server, $msg, @rest);
+ };
+
+Note that if you want to do this sort of rewriting, it is important to add your
+handler using L<signal_add_first|/signal_add_first $sig_name, $func> to it is
+called before the internal Irssi handlers which would usually consume it.
+
+B<Note: It should only be called from within a signal handler>
=head4 C<signal_stop>
@@ -268,8 +328,6 @@ 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>
@@ -669,6 +727,33 @@ For example:
Returns the current L<theme|Irssi::UI::Theme> object.
+
+=head2 Text GUI
+
+=head3 C<gui_input_get_pos>
+
+Returns the position of the cursor in the input field.
+
+=head3 C<gui_input_set $str>
+
+Replaces the contents of the input field with C<$str>
+
+=head3 C<gui_input_set_pos $pos>
+
+Sets the position of the cursor in the input field.
+
+=head3 Getting the Input Field Contents
+
+There is no equivalent function for accessing this directly as there
+are for the others above, but it can be determined using the C<$L> expando
+documented in L<Formats>.
+
+For example:
+
+ my $gui_input_contents = Irssi::parse_special '$L', undef, 0;
+
+See L<parse_special|/parse_special $cmd, $data, $flags> for more detail.
+
=head2 Channels
=head3 C<channel_find $channel>
@@ -722,6 +807,7 @@ Find chat network with name.
=head2 Status Bars
See also L<Irssi::TextUI::Statusbaritem>
+
B<TODO>
=head1 COPYRIGHT
@@ -729,7 +815,7 @@ B<TODO>
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
+Formatting to POD, and some additional comments by Tom Feist
L<shabble+irssi@metavore.org|mailto:shabble+irssi@metavore.org>
=head1 Complete List of Functions
diff --git a/docs/Irssi/UI/Theme.pod b/docs/Irssi/UI/Theme.pod
index ce67408..1df1ada 100644
--- a/docs/Irssi/UI/Theme.pod
+++ b/docs/Irssi/UI/Theme.pod
@@ -16,15 +16,41 @@ I<undocumented>
I<undocumented>
-=head1 THEME DOCUMENTATION
+=head1 THEME DETAILS
-When testing changes, the easiest way to reload the theme is with /RELOAD.
-This reloads the configuration file too, so if you did any changes remember
-to /SAVE it first. Remember also that /SAVE overwrites the theme file with
-old data so keep backups C<:)>
+=head2 Loading and Testing
+
+You can change themes by issuing a C</SET theme F<theme-name>> command from Irssi.
+Reloading is slightly harder, since Irssi will only reload and process a new theme
+if the C<theme> variable I<changes>.
+
+You can force a reload of the theme (and everything else) with C</RELOAD>. This
+reloads the configuration file too, so if you did any changes remember to C</SAVE>
+first.
+
+B<Remember also that C</SAVE> overwrites the theme file with old data so keep
+backups C<:)>>
+
+Better alternatives are the following aliases:
+
+ /ALIAS THEMERELOAD SCRIPT EXEC Irssi::themes_reload();
+
+or
+
+ /ALIAS THEMERELOAD SET theme default; EVAL SET theme $theme
+
+The former is preferred if you have scripting support, whereas the latter will
+work without scripting (Perl) support loaded, but requires that you are editing
+a custom theme, rather than modifying F<default.theme>.
=head2 TEMPLATES
+The actual mechanism used by Irssi to print text into the client involves a
+certain amount of indirection, which allows themes to reformat messages in
+various ways before they are displayed.
+
+
+
The real text formats that irssi uses are the ones you can find with
/FORMAT command. Back in the old days all the colors and texts were mixed
up in those formats, and it was really hard to change the colors since you
@@ -72,3 +98,12 @@ with C<%Y>) but C<"bar"> would be green, which was set at the beginning before
the C<{foo}> template. If there wasn't the C<%g> at start, the normal behaviour
of C<%n> would occur. If you I<really> want to use the terminal's default color,
use C<%N>.
+
+=head1 AUTHOR
+
+Based on the original content found as comments in the F<default.theme> file.
+Copyright E<copy> 2000-2010 L<The Irssi project|http://irssi.org>.
+
+Formatting and additional content by Tom Feist
+ L<shabble+irssi@metavore.org|mailto:shabble+irssi@metavore.org>
+
diff --git a/docs/xsfuncs_args.txt b/docs/xsfuncs_args.txt
index 2febd6f..60883c6 100644
--- a/docs/xsfuncs_args.txt
+++ b/docs/xsfuncs_args.txt
@@ -1,324 +1,320 @@
-=over
-
Irssi::Channel::destroy(Irssi::Channel $channel)
-Irssi::Channel::nick_insert(Irssi::Channel $channel, Irssi::Nick $nick)
-Irssi::Channel::nick_remove(Irssi::Channel $channel, Irssi::Nick $nick)
Irssi::Channel::nick_find(Irssi::Channel $channel, string $nick)
Irssi::Channel::nick_find_mask(Irssi::Channel $channel, string $mask)
+Irssi::Channel::nick_insert(Irssi::Channel $channel, Irssi::Nick $nick)
+Irssi::Channel::nick_remove(Irssi::Channel $channel, Irssi::Nick $nick)
Irssi::Channel::nicks(Irssi::Channel $channel)
-Irssi::Server::channels(Irssi::Server $server)
-Irssi::Server::channels_join(Irssi::Server $server, string $channels, int $automatic)
-Irssi::Server::channel_find(Irssi::Server $server, string $name)
-Irssi::Server::nicks_get_same(Irssi::Server $server, string $nick)
-Irssi::channels()
-Irssi::channel_find(string $channel)
-Irssi::Server::parse_special(Irssi::Server $server, string $cmd, string $data, int $flags)
-Irssi::Server::command(Irssi::Server $server, string $cmd)
-Irssi::signal_emit(string $signal, ...)
-Irssi::signal_continue(...)
-Irssi::signal_add(...)
-Irssi::signal_add_first(...)
-Irssi::signal_add_last(...)
-Irssi::signal_add_priority(...)
-Irssi::signal_register(...)
-Irssi::SIGNAL_PRIORITY_LOW()
-Irssi::SIGNAL_PRIORITY_DEFAULT()
-Irssi::SIGNAL_PRIORITY_HIGH()
-Irssi::signal_remove(string $signal, SVptr $func)
-Irssi::signal_stop()
-Irssi::signal_stop_by_name(string $signal)
-Irssi::signal_get_emitted()
-Irssi::signal_get_emitted_id()
-Irssi::timeout_add(int $msecs, SVptr $func, SVptr $data)
-Irssi::timeout_add_once(int $msecs, SVptr $func, SVptr $data)
-Irssi::timeout_remove(int $tag)
+Irssi::EXPAND_FLAG_IGNORE_EMPTY()
+Irssi::EXPAND_FLAG_IGNORE_REPLACES()
+Irssi::EXPAND_FLAG_RECURSIVE_MASK()
Irssi::INPUT_READ()
Irssi::INPUT_WRITE()
-Irssi::input_add(int $source, int $condition, SVptr $func, SVptr $data)
-Irssi::input_remove(int $tag)
+Irssi::IRSSI_GUI_GNOME()
+Irssi::IRSSI_GUI_GTK()
+Irssi::IRSSI_GUI_KDE()
+Irssi::IRSSI_GUI_NONE()
+Irssi::IRSSI_GUI_QT()
+Irssi::IRSSI_GUI_TEXT()
+Irssi::Ignore::add_rec(Irssi::Ignore $rec)
+Irssi::Ignore::update_rec(Irssi::Ignore $rec)
+Irssi::Irc::Channel::ban_get_mask(Irssi::Irc::Channel $channel, string $nick, int $ban_type)
+Irssi::Irc::Channel::banlist_add(Irssi::Irc::Channel $channel, string $ban, string $nick, time_t $time)
+Irssi::Irc::Channel::banlist_remove(Irssi::Irc::Channel $channel, string $ban, string $nick)
+Irssi::Irc::Channel::bans(Irssi::Irc::Channel $channel)
+Irssi::Irc::Channel::nick_insert(Irssi::Irc::Channel $channel, string $nick, int $op, int $halfop, int $voice, int $send_massjoin)
+Irssi::Irc::Dcc::close(Irssi::Irc::Dcc $dcc)
+Irssi::Irc::Dcc::destroy(Irssi::Irc::Dcc $dcc)
+Irssi::Irc::Dcc::init_rec(Irssi::Irc::Dcc $dcc, Irssi::Irc::Server $server, Irssi::Irc::Dcc::Chat $chat, string $nick, string $arg)
+Irssi::Irc::Dcc::reject(Irssi::Irc::Dcc $dcc, Irssi::Irc::Server $server)
+Irssi::Irc::MASK_DOMAIN()
+Irssi::Irc::MASK_HOST()
+Irssi::Irc::MASK_NICK()
+Irssi::Irc::MASK_USER()
+Irssi::Irc::Notifylist::ircnets_match(Irssi::Irc::Notifylist $rec, string $ircnet)
+Irssi::Irc::Server::ctcp_send_reply(Irssi::Irc::Server $server, string $data)
+Irssi::Irc::Server::get_channels(Irssi::Irc::Server $server)
+Irssi::Irc::Server::isupport(Irssi::Irc::Server $server, string $name)
+Irssi::Irc::Server::netsplit_find(Irssi::Irc::Server $server, string $nick, string $address)
+Irssi::Irc::Server::netsplit_find_channel(Irssi::Irc::Server $server, string $nick, string $address, string $channel)
+Irssi::Irc::Server::notifylist_ison_server(Irssi::Irc::Server $server, string $nick)
+Irssi::Irc::Server::query_create(string $server_tag, string $nick, int $automatic)
+Irssi::Irc::Server::redirect_event(Irssi::Irc::Server $server, string $command, int $count, string $arg, int $remote, string $failure_signal, SVptr $signals)
+Irssi::Irc::Server::redirect_get_signal(Irssi::Irc::Server $server, string $prefix, string $event, string $args)
+Irssi::Irc::Server::redirect_peek_signal(Irssi::Irc::Server $server, string $prefix, string $event, string $args)
+Irssi::Irc::Server::redirect_register(string $command, int $remote, int $timeout, SVptr $start, SVptr $stop, SVptr $opt)
+Irssi::Irc::Server::send_raw(Irssi::Irc::Server $server, string $cmd)
+Irssi::Irc::Server::send_raw_first(Irssi::Irc::Server $server, string $cmd)
+Irssi::Irc::Server::send_raw_now(Irssi::Irc::Server $server, string $cmd)
+Irssi::Irc::Server::send_raw_split(Irssi::Irc::Server $server, string $cmd, int $nickarg, int $max_nicks)
+Irssi::Irc::dcc_chat_find_id(string $id)
+Irssi::Irc::dcc_chat_send(Irssi::Irc::Dcc::Chat $dcc, string $data)
+Irssi::Irc::dcc_ctcp_message(Irssi::Irc::Server $server, string $target, Irssi::Irc::Dcc::Chat $chat, int $notice, string $msg)
+Irssi::Irc::dcc_find_request(int $type, string $nick, string $arg)
+Irssi::Irc::dcc_find_request_latest(int $type)
+Irssi::Irc::dcc_get_download_path(string $fname)
+Irssi::Irc::dcc_register_type(string $type)
+Irssi::Irc::dcc_str2type(string $str)
+Irssi::Irc::dcc_type2str(int $type)
+Irssi::Irc::dcc_unregister_type(string $type)
+Irssi::Irc::dccs()
+Irssi::Irc::deinit()
+Irssi::Irc::get_mask(string $nick, string $address, int $flags)
+Irssi::Irc::init()
+Irssi::Irc::modes_join(Irssi::Irc::Server $server, string $old, string $mode, int $channel)
+Irssi::Irc::notifies()
+Irssi::Irc::notifylist_add(string $mask, string $ircnets, int $away_check, int $idle_check_time)
+Irssi::Irc::notifylist_find(string $mask, string $ircnet)
+Irssi::Irc::notifylist_ison(string $nick, string $serverlist)
+Irssi::Irc::notifylist_remove(string $mask)
+Irssi::Log::close(Irssi::Log $log)
+Irssi::Log::item_add(Irssi::Log $log, int $type, string $name, string $servertag)
+Irssi::Log::item_destroy(Irssi::Log $log, Irssi::Logitem $item)
+Irssi::Log::item_find(Irssi::Log $log, int $type, string $item, string $servertag)
+Irssi::Log::start_logging(Irssi::Log $log)
+Irssi::Log::stop_logging(Irssi::Log $log)
+Irssi::Log::update(Irssi::Log $log)
+Irssi::Log::write_rec(Irssi::Log $log, string $str, int $level)
+Irssi::MSGLEVEL_ACTIONS()
+Irssi::MSGLEVEL_ALL()
+Irssi::MSGLEVEL_CLIENTCRAP()
+Irssi::MSGLEVEL_CLIENTERROR()
+Irssi::MSGLEVEL_CLIENTNOTICE()
Irssi::MSGLEVEL_CRAP()
-Irssi::MSGLEVEL_MSGS()
-Irssi::MSGLEVEL_PUBLIC()
-Irssi::MSGLEVEL_NOTICES()
-Irssi::MSGLEVEL_SNOTES()
Irssi::MSGLEVEL_CTCPS()
-Irssi::MSGLEVEL_ACTIONS()
+Irssi::MSGLEVEL_DCC()
+Irssi::MSGLEVEL_DCCMSGS()
+Irssi::MSGLEVEL_HILIGHT()
+Irssi::MSGLEVEL_INVITES()
Irssi::MSGLEVEL_JOINS()
-Irssi::MSGLEVEL_PARTS()
-Irssi::MSGLEVEL_QUITS()
Irssi::MSGLEVEL_KICKS()
+Irssi::MSGLEVEL_LASTLOG()
Irssi::MSGLEVEL_MODES()
-Irssi::MSGLEVEL_TOPICS()
-Irssi::MSGLEVEL_WALLOPS()
-Irssi::MSGLEVEL_INVITES()
+Irssi::MSGLEVEL_MSGS()
+Irssi::MSGLEVEL_NEVER()
Irssi::MSGLEVEL_NICKS()
-Irssi::MSGLEVEL_DCC()
-Irssi::MSGLEVEL_DCCMSGS()
-Irssi::MSGLEVEL_CLIENTNOTICE()
-Irssi::MSGLEVEL_CLIENTCRAP()
-Irssi::MSGLEVEL_CLIENTERROR()
-Irssi::MSGLEVEL_HILIGHT()
-Irssi::MSGLEVEL_ALL()
Irssi::MSGLEVEL_NOHILIGHT()
+Irssi::MSGLEVEL_NOTICES()
Irssi::MSGLEVEL_NO_ACT()
-Irssi::MSGLEVEL_NEVER()
-Irssi::MSGLEVEL_LASTLOG()
-Irssi::level2bits(string $str)
+Irssi::MSGLEVEL_PARTS()
+Irssi::MSGLEVEL_PUBLIC()
+Irssi::MSGLEVEL_QUITS()
+Irssi::MSGLEVEL_SNOTES()
+Irssi::MSGLEVEL_TOPICS()
+Irssi::MSGLEVEL_WALLOPS()
+Irssi::Query::change_server(Irssi::Query $query, Irssi::Server $server)
+Irssi::Query::destroy(Irssi::Query $query)
+Irssi::Rawlog::close(Irssi::Rawlog $rawlog)
+Irssi::Rawlog::destroy(Irssi::Rawlog $rawlog)
+Irssi::Rawlog::get_lines(Irssi::Rawlog $rawlog)
+Irssi::Rawlog::input(Irssi::Rawlog $rawlog, string $str)
+Irssi::Rawlog::open(Irssi::Rawlog $rawlog, string $fname)
+Irssi::Rawlog::output(Irssi::Rawlog $rawlog, string $str)
+Irssi::Rawlog::redirect(Irssi::Rawlog $rawlog, string $str)
+Irssi::Rawlog::save(Irssi::Rawlog $rawlog, string $fname)
+Irssi::SIGNAL_PRIORITY_DEFAULT()
+Irssi::SIGNAL_PRIORITY_HIGH()
+Irssi::SIGNAL_PRIORITY_LOW()
+Irssi::Server::channel_find(Irssi::Server $server, string $name)
+Irssi::Server::channels(Irssi::Server $server)
+Irssi::Server::channels_join(Irssi::Server $server, string $channels, int $automatic)
+Irssi::Server::command(Irssi::Server $server, string $cmd)
+Irssi::Server::disconnect(Irssi::Server $server)
+Irssi::Server::format_create_dest(Irssi::Server $server, string $target, int $level, Irssi::UI::Window $window)
+Irssi::Server::get_nick_flags(Irssi::Server $server)
+Irssi::Server::ignore_check(Irssi::Server $server, string $nick, string $host, string $channel, string $text, int $level)
+Irssi::Server::ischannel(Irssi::Server $server, string $data)
+Irssi::Server::isnickflag(Irssi::Server $server, char $flag)
+Irssi::Server::mask_match(Irssi::Server $server, string $mask, string $nick, string $user, string $host)
+Irssi::Server::mask_match_address(Irssi::Server $server, string $mask, string $nick, string $address)
+Irssi::Server::masks_match(Irssi::Server $server, string $masks, string $nick, string $address)
+Irssi::Server::nicks_get_same(Irssi::Server $server, string $nick)
+Irssi::Server::parse_special(Irssi::Server $server, string $cmd, string $data, int $flags)
+Irssi::Server::print(Irssi::Server $server, string $channel, string $str, int $level)
+Irssi::Server::printformat(Irssi::Server $server, string $target, int $level, string $format, ...)
+Irssi::Server::queries(Irssi::Server $server)
+Irssi::Server::query_find(Irssi::Server $server, string $nick)
+Irssi::Server::ref(Irssi::Server $server)
+Irssi::Server::send_message(Irssi::Server $server, string $target, string $msg, int $target_type)
+Irssi::Server::unref(Irssi::Server $server)
+Irssi::Server::window_find_closest(Irssi::Server $server, string $name, int $level)
+Irssi::Server::window_find_item(Irssi::Server $server, string $name)
+Irssi::Server::window_find_level(Irssi::Server $server, int $level)
+Irssi::Server::window_item_find(Irssi::Server $server, string $name)
+Irssi::TextUI::Line::get_text(Irssi::TextUI::Line $line, int $coloring)
+Irssi::TextUI::Line::next(Irssi::TextUI::Line $line)
+Irssi::TextUI::Line::prev(Irssi::TextUI::Line $line)
+Irssi::TextUI::StatusbarItem::default_handler(Irssi::TextUI::StatusbarItem $item, int $get_size_only, string $str, string $data, int $escape_vars)
+Irssi::TextUI::TextBufferView::clear(Irssi::TextUI::TextBufferView $view)
+Irssi::TextUI::TextBufferView::get_bookmark(Irssi::TextUI::TextBufferView $view, string $name)
+Irssi::TextUI::TextBufferView::get_line_cache(Irssi::TextUI::TextBufferView $view, Irssi::TextUI::Line $line)
+Irssi::TextUI::TextBufferView::get_lines(Irssi::TextUI::TextBufferView $view)
+Irssi::TextUI::TextBufferView::redraw(Irssi::TextUI::TextBufferView $view)
+Irssi::TextUI::TextBufferView::remove_all_lines(Irssi::TextUI::TextBufferView $view)
+Irssi::TextUI::TextBufferView::remove_line(Irssi::TextUI::TextBufferView $view, Irssi::TextUI::Line $line)
+Irssi::TextUI::TextBufferView::scroll(Irssi::TextUI::TextBufferView $view, int $lines)
+Irssi::TextUI::TextBufferView::scroll_line(Irssi::TextUI::TextBufferView $view, Irssi::TextUI::Line $line)
+Irssi::TextUI::TextBufferView::set_bookmark(Irssi::TextUI::TextBufferView $view, string $name, Irssi::TextUI::Line $line)
+Irssi::TextUI::TextBufferView::set_bookmark_bottom(Irssi::TextUI::TextBufferView $view, string $name)
+Irssi::TextUI::TextBufferView::set_default_indent(Irssi::TextUI::TextBufferView $view, int $default_indent, int $longword_noindent)
+Irssi::TextUI::TextBufferView::set_scroll(Irssi::TextUI::TextBufferView $view, int $scroll)
+Irssi::TextUI::deinit()
+Irssi::TextUI::init()
+Irssi::UI::Server::gui_printtext_after(Irssi::Server $server, string $target, Irssi::TextUI::Line $prev, int $level, string $str)
+Irssi::UI::Server::term_refresh_freeze()
+Irssi::UI::Server::term_refresh_thaw()
+Irssi::UI::TextDest::print(Irssi::UI::TextDest $dest, string $str)
+Irssi::UI::Theme::format_expand(Irssi::UI::Theme $theme, string $format, int $flags)
+Irssi::UI::Theme::get_format(Irssi::UI::Theme $theme, string $module, string $tag)
+Irssi::UI::Window::activity(Irssi::UI::Window $window, int $data_level, string $hilight_color)
+Irssi::UI::Window::change_server(Irssi::UI::Window $window, Irssi::Server $server)
+Irssi::UI::Window::command(Irssi::UI::Window $window, string $cmd)
+Irssi::UI::Window::destroy(Irssi::UI::Window $window)
+Irssi::UI::Window::format_get_text(Irssi::UI::Window $window, string $module, Irssi::Server $server, string $target, int $formatnum, ...)
+Irssi::UI::Window::get_active_name(Irssi::UI::Window $window)
+Irssi::UI::Window::get_history_lines(Irssi::UI::Window $window)
+Irssi::UI::Window::gui_printtext_after(Irssi::UI::Window $window, Irssi::TextUI::Line $prev, int $level, string $str)
+Irssi::UI::Window::item_add(Irssi::UI::Window $window, Irssi::Windowitem $item, int $automatic)
+Irssi::UI::Window::item_destroy(Irssi::Windowitem $item)
+Irssi::UI::Window::item_find(Irssi::UI::Window $window, Irssi::Server $server, string $name)
+Irssi::UI::Window::item_next(Irssi::UI::Window $window)
+Irssi::UI::Window::item_prev(Irssi::UI::Window $window)
+Irssi::UI::Window::item_remove(Irssi::Windowitem $item)
+Irssi::UI::Window::items(Irssi::UI::Window $window)
+Irssi::UI::Window::last_line_insert(Irssi::UI::Window $window)
+Irssi::UI::Window::print(Irssi::UI::Window $window, string $str, int $level)
+Irssi::UI::Window::print_after(Irssi::UI::Window $window, Irssi::TextUI::Line $prev, int $level, string $str)
+Irssi::UI::Window::printformat(Irssi::UI::Window $window, int $level, string $format, ...)
+Irssi::UI::Window::set_active(Irssi::UI::Window $window)
+Irssi::UI::Window::set_history(Irssi::UI::Window $window, string $name)
+Irssi::UI::Window::set_level(Irssi::UI::Window $window, int $level)
+Irssi::UI::Window::set_name(Irssi::UI::Window $window, string $name)
+Irssi::UI::Window::set_refnum(Irssi::UI::Window $window, int $refnum)
+Irssi::UI::Window::view(Irssi::UI::Window $window)
+Irssi::UI::deinit()
+Irssi::UI::init()
+Irssi::UI::processes()
+Irssi::Window::format_create_dest(Irssi::UI::Window $window, int $level)
+Irssi::Windowitem::activity(Irssi::Windowitem $item, int $data_level, string $hilight_color)
+Irssi::Windowitem::change_server(Irssi::Windowitem $item, Irssi::Server $server)
+Irssi::Windowitem::command(Irssi::Windowitem $item, string $cmd)
+Irssi::Windowitem::get_dcc(Irssi::Windowitem $item)
+Irssi::Windowitem::is_active(Irssi::Windowitem $item)
+Irssi::Windowitem::parse_special(Irssi::Windowitem $item, string $cmd, string $data, int $flags)
+Irssi::Windowitem::print(Irssi::Windowitem $item, string $str, int $level)
+Irssi::Windowitem::printformat(Irssi::Windowitem $item, int $level, string $format, ...)
+Irssi::Windowitem::set_active(Irssi::Windowitem $item)
+Irssi::Windowitem::window(Irssi::Windowitem $item)
+Irssi::Windowitem::window_create(Irssi::Windowitem $item, int $automatic)
+Irssi::abstracts_register(SVptr $abstracts)
+Irssi::active_server()
+Irssi::active_win()
Irssi::bits2level(int $bits)
+Irssi::channel_find(string $channel)
+Irssi::channels()
+Irssi::chatnet_find(string $name)
+Irssi::chatnets()
Irssi::combine_level(int $level, string $str)
Irssi::command(string $cmd)
-Irssi::commands()
-Irssi::command_bind_first(...)
Irssi::command_bind(...)
+Irssi::command_bind_first(...)
Irssi::command_bind_last(...)
+Irssi::command_parse_options(string $cmd, string $data)
Irssi::command_runsub(string $cmd, string $data, Irssi::Server $server, Irssi::Windowitem $item)
-Irssi::command_unbind(string $cmd, SVptr $func)
Irssi::command_set_options(string $cmd, string $options)
-Irssi::command_parse_options(string $cmd, string $data)
-Irssi::pidwait_add(int $pid)
-Irssi::pidwait_remove(int $pid)
-Irssi::parse_special(string $cmd, string $data, int $flags)
-Irssi::get_irssi_dir()
-Irssi::get_irssi_config()
-Irssi::get_irssi_binary()
-Irssi::version()
-Irssi::get_gui()
-Irssi::IRSSI_GUI_NONE()
-Irssi::IRSSI_GUI_TEXT()
-Irssi::IRSSI_GUI_GTK()
-Irssi::IRSSI_GUI_GNOME()
-Irssi::IRSSI_GUI_QT()
-Irssi::IRSSI_GUI_KDE()
-Irssi::Windowitem::parse_special(Irssi::Windowitem $item, string $cmd, string $data, int $flags)
-Irssi::Windowitem::command(Irssi::Windowitem $item, string $cmd)
+Irssi::command_unbind(string $cmd, SVptr $func)
+Irssi::commands()
+Irssi::ctcp_register(string $name)
+Irssi::ctcp_unregister(string $name)
+Irssi::current_theme()
+Irssi::deinit()
Irssi::expando_create(string $key, SVptr $func, SVptr $signals)
Irssi::expando_destroy(string $name)
-Irssi::Server::ignore_check(Irssi::Server $server, string $nick, string $host, string $channel, string $text, int $level)
-Irssi::ignores()
+Irssi::format_create_dest(string $target, int $level, Irssi::UI::Window $window)
+Irssi::format_get_length(string $str)
+Irssi::format_real_length(string $str, int $len)
+Irssi::get_gui()
+Irssi::get_irssi_binary()
+Irssi::get_irssi_config()
+Irssi::get_irssi_dir()
+Irssi::gui_input_get_pos()
+Irssi::gui_input_set(string $str)
+Irssi::gui_input_set_pos(int $pos)
+Irssi::gui_printtext(int $xpos, int $ypos, string $str)
Irssi::ignore_check(string $nick, string $host, string $channel, string $text, int $level)
-Irssi::Ignore::add_rec(Irssi::Ignore $rec)
-Irssi::Ignore::update_rec(Irssi::Ignore $rec)
+Irssi::ignores()
Irssi::init()
-Irssi::deinit()
-Irssi::logs()
+Irssi::input_add(int $source, int $condition, SVptr $func, SVptr $data)
+Irssi::input_remove(int $tag)
+Irssi::level2bits(string $str)
Irssi::log_create_rec(string $fname, int $level)
Irssi::log_find(string $fname)
-Irssi::Log::item_add(Irssi::Log $log, int $type, string $name, string $servertag)
-Irssi::Log::item_destroy(Irssi::Log $log, Irssi::Logitem $item)
-Irssi::Log::item_find(Irssi::Log $log, int $type, string $item, string $servertag)
-Irssi::Log::update(Irssi::Log $log)
-Irssi::Log::close(Irssi::Log $log)
-Irssi::Log::write_rec(Irssi::Log $log, string $str, int $level)
-Irssi::Log::start_logging(Irssi::Log $log)
-Irssi::Log::stop_logging(Irssi::Log $log)
-Irssi::Server::mask_match(Irssi::Server $server, string $mask, string $nick, string $user, string $host)
-Irssi::Server::mask_match_address(Irssi::Server $server, string $mask, string $nick, string $address)
-Irssi::Server::masks_match(Irssi::Server $server, string $masks, string $nick, string $address)
+Irssi::logs()
Irssi::mask_match(string $mask, string $nick, string $user, string $host)
Irssi::mask_match_address(string $mask, string $nick, string $address)
Irssi::masks_match(string $masks, string $nick, string $address)
-Irssi::Query::destroy(Irssi::Query $query)
-Irssi::Query::change_server(Irssi::Query $query, Irssi::Server $server)
-Irssi::Server::queries(Irssi::Server $server)
-Irssi::Server::query_find(Irssi::Server $server, string $nick)
+Irssi::parse_special(string $cmd, string $data, int $flags)
+Irssi::pidwait_add(int $pid)
+Irssi::pidwait_remove(int $pid)
+Irssi::print(string $str, int $level)
+Irssi::printformat(int $level, string $format, ...)
Irssi::queries()
Irssi::query_find(string $nick)
-Irssi::rawlog_set_size(int $lines)
Irssi::rawlog_create()
-Irssi::Rawlog::get_lines(Irssi::Rawlog $rawlog)
-Irssi::Rawlog::destroy(Irssi::Rawlog $rawlog)
-Irssi::Rawlog::input(Irssi::Rawlog $rawlog, string $str)
-Irssi::Rawlog::output(Irssi::Rawlog $rawlog, string $str)
-Irssi::Rawlog::redirect(Irssi::Rawlog $rawlog, string $str)
-Irssi::Rawlog::open(Irssi::Rawlog $rawlog, string $fname)
-Irssi::Rawlog::close(Irssi::Rawlog $rawlog)
-Irssi::Rawlog::save(Irssi::Rawlog $rawlog, string $fname)
-Irssi::Server::disconnect(Irssi::Server $server)
-Irssi::Server::ref(Irssi::Server $server)
-Irssi::Server::unref(Irssi::Server $server)
-Irssi::Server::isnickflag(Irssi::Server $server, char $flag)
-Irssi::Server::ischannel(Irssi::Server $server, string $data)
-Irssi::Server::get_nick_flags(Irssi::Server $server)
-Irssi::Server::send_message(Irssi::Server $server, string $target, string $msg, int $target_type)
-Irssi::servers()
+Irssi::rawlog_set_size(int $lines)
Irssi::reconnects()
-Irssi::chatnets()
Irssi::server_create_conn(int $chat_type, string $dest, int $port, string $chatnet, string $password, string $nick)
-Irssi::server_find_tag(string $tag)
Irssi::server_find_chatnet(string $chatnet)
-Irssi::chatnet_find(string $name)
-Irssi::settings_get_str(string $key)
-Irssi::settings_get_int(string $key)
+Irssi::server_find_tag(string $tag)
+Irssi::servers()
+Irssi::settings_add_bool(string $section, string $key, int $def)
+Irssi::settings_add_int(string $section, string $key, int $def)
+Irssi::settings_add_level(string $section, string $key, string $def)
+Irssi::settings_add_size(string $section, string $key, string $def)
+Irssi::settings_add_str(string $section, string $key, string $def)
+Irssi::settings_add_time(string $section, string $key, string $def)
Irssi::settings_get_bool(string $key)
-Irssi::settings_get_time(string $key)
+Irssi::settings_get_int(string $key)
Irssi::settings_get_level(string $key)
Irssi::settings_get_size(string $key)
-Irssi::settings_set_str(string $key, string $value)
-Irssi::settings_set_int(string $key, int $value)
+Irssi::settings_get_str(string $key)
+Irssi::settings_get_time(string $key)
+Irssi::settings_remove(string $key)
Irssi::settings_set_bool(string $key, int $value)
-Irssi::settings_set_time(string $key, string $value)
+Irssi::settings_set_int(string $key, int $value)
Irssi::settings_set_level(string $key, string $value)
Irssi::settings_set_size(string $key, string $value)
-Irssi::settings_add_str(string $section, string $key, string $def)
-Irssi::settings_add_int(string $section, string $key, int $def)
-Irssi::settings_add_bool(string $section, string $key, int $def)
-Irssi::settings_add_time(string $section, string $key, string $def)
-Irssi::settings_add_level(string $section, string $key, string $def)
-Irssi::settings_add_size(string $section, string $key, string $def)
-Irssi::settings_remove(string $key)
-Irssi::Irc::get_mask(string $nick, string $address, int $flags)
-Irssi::Irc::MASK_NICK()
-Irssi::Irc::MASK_USER()
-Irssi::Irc::MASK_HOST()
-Irssi::Irc::MASK_DOMAIN()
-Irssi::Irc::Channel::bans(Irssi::Irc::Channel $channel)
-Irssi::Irc::Channel::nick_insert(Irssi::Irc::Channel $channel, string $nick, int $op, int $halfop, int $voice, int $send_massjoin)
-Irssi::ctcp_register(string $name)
-Irssi::ctcp_unregister(string $name)
-Irssi::Irc::Server::ctcp_send_reply(Irssi::Irc::Server $server, string $data)
-Irssi::Irc::Dcc::init_rec(Irssi::Irc::Dcc $dcc, Irssi::Irc::Server $server, Irssi::Irc::Dcc::Chat $chat, string $nick, string $arg)
-Irssi::Irc::Dcc::destroy(Irssi::Irc::Dcc $dcc)
-Irssi::Irc::Dcc::close(Irssi::Irc::Dcc $dcc)
-Irssi::Irc::Dcc::reject(Irssi::Irc::Dcc $dcc, Irssi::Irc::Server $server)
-Irssi::Irc::dccs()
-Irssi::Irc::dcc_register_type(string $type)
-Irssi::Irc::dcc_unregister_type(string $type)
-Irssi::Irc::dcc_str2type(string $str)
-Irssi::Irc::dcc_type2str(int $type)
-Irssi::Irc::dcc_find_request_latest(int $type)
-Irssi::Irc::dcc_find_request(int $type, string $nick, string $arg)
-Irssi::Irc::dcc_chat_find_id(string $id)
-Irssi::Irc::dcc_chat_send(Irssi::Irc::Dcc::Chat $dcc, string $data)
-Irssi::Irc::dcc_ctcp_message(Irssi::Irc::Server $server, string $target, Irssi::Irc::Dcc::Chat $chat, int $notice, string $msg)
-Irssi::Irc::dcc_get_download_path(string $fname)
-Irssi::Windowitem::get_dcc(Irssi::Windowitem $item)
-Irssi::Irc::init()
-Irssi::Irc::deinit()
-Irssi::Irc::modes_join(Irssi::Irc::Server $server, string $old, string $mode, int $channel)
-Irssi::Irc::Channel::ban_get_mask(Irssi::Irc::Channel $channel, string $nick, int $ban_type)
-Irssi::Irc::Channel::banlist_add(Irssi::Irc::Channel $channel, string $ban, string $nick, time_t $time)
-Irssi::Irc::Channel::banlist_remove(Irssi::Irc::Channel $channel, string $ban, string $nick)
-Irssi::Irc::Server::netsplit_find(Irssi::Irc::Server $server, string $nick, string $address)
-Irssi::Irc::Server::netsplit_find_channel(Irssi::Irc::Server $server, string $nick, string $address, string $channel)
-Irssi::Irc::notifies()
-Irssi::Irc::notifylist_add(string $mask, string $ircnets, int $away_check, int $idle_check_time)
-Irssi::Irc::notifylist_remove(string $mask)
-Irssi::Irc::notifylist_ison(string $nick, string $serverlist)
-Irssi::Irc::notifylist_find(string $mask, string $ircnet)
-Irssi::Irc::Notifylist::ircnets_match(Irssi::Irc::Notifylist $rec, string $ircnet)
-Irssi::Irc::Server::notifylist_ison_server(Irssi::Irc::Server $server, string $nick)
-Irssi::Irc::Server::query_create(string $server_tag, string $nick, int $automatic)
-Irssi::Irc::Server::get_channels(Irssi::Irc::Server $server)
-Irssi::Irc::Server::send_raw(Irssi::Irc::Server $server, string $cmd)
-Irssi::Irc::Server::send_raw_now(Irssi::Irc::Server $server, string $cmd)
-Irssi::Irc::Server::send_raw_first(Irssi::Irc::Server $server, string $cmd)
-Irssi::Irc::Server::send_raw_split(Irssi::Irc::Server $server, string $cmd, int $nickarg, int $max_nicks)
-Irssi::Irc::Server::redirect_register(string $command, int $remote, int $timeout, SVptr $start, SVptr $stop, SVptr $opt)
-Irssi::Irc::Server::redirect_event(Irssi::Irc::Server $server, string $command, int $count, string $arg, int $remote, string $failure_signal, SVptr $signals)
-Irssi::Irc::Server::redirect_get_signal(Irssi::Irc::Server $server, string $prefix, string $event, string $args)
-Irssi::Irc::Server::redirect_peek_signal(Irssi::Irc::Server $server, string $prefix, string $event, string $args)
-Irssi::Irc::Server::isupport(Irssi::Irc::Server $server, string $name)
+Irssi::settings_set_str(string $key, string $value)
+Irssi::settings_set_time(string $key, string $value)
+Irssi::signal_add(...)
+Irssi::signal_add_first(...)
+Irssi::signal_add_last(...)
+Irssi::signal_add_priority(...)
+Irssi::signal_continue(...)
+Irssi::signal_emit(string $signal, ...)
+Irssi::signal_get_emitted()
+Irssi::signal_get_emitted_id()
+Irssi::signal_register(...)
+Irssi::signal_remove(string $signal, SVptr $func)
+Irssi::signal_stop()
+Irssi::signal_stop_by_name(string $signal)
Irssi::statusbar_item_register(string $name, string $value, string $func)
Irssi::statusbar_item_unregister(string $name)
Irssi::statusbar_items_redraw(string $name)
Irssi::statusbars_recreate_items()
-Irssi::TextUI::StatusbarItem::default_handler(Irssi::TextUI::StatusbarItem $item, int $get_size_only, string $str, string $data, int $escape_vars)
-Irssi::TextUI::Line::prev(Irssi::TextUI::Line $line)
-Irssi::TextUI::Line::next(Irssi::TextUI::Line $line)
-Irssi::TextUI::Line::get_text(Irssi::TextUI::Line $line, int $coloring)
-Irssi::TextUI::TextBufferView::set_default_indent(Irssi::TextUI::TextBufferView $view, int $default_indent, int $longword_noindent)
-Irssi::TextUI::TextBufferView::set_scroll(Irssi::TextUI::TextBufferView $view, int $scroll)
-Irssi::TextUI::TextBufferView::clear(Irssi::TextUI::TextBufferView $view)
-Irssi::TextUI::TextBufferView::get_lines(Irssi::TextUI::TextBufferView $view)
-Irssi::TextUI::TextBufferView::scroll(Irssi::TextUI::TextBufferView $view, int $lines)
-Irssi::TextUI::TextBufferView::scroll_line(Irssi::TextUI::TextBufferView $view, Irssi::TextUI::Line $line)
-Irssi::TextUI::TextBufferView::get_line_cache(Irssi::TextUI::TextBufferView $view, Irssi::TextUI::Line $line)
-Irssi::TextUI::TextBufferView::remove_line(Irssi::TextUI::TextBufferView $view, Irssi::TextUI::Line $line)
-Irssi::TextUI::TextBufferView::remove_all_lines(Irssi::TextUI::TextBufferView $view)
-Irssi::TextUI::TextBufferView::set_bookmark(Irssi::TextUI::TextBufferView $view, string $name, Irssi::TextUI::Line $line)
-Irssi::TextUI::TextBufferView::set_bookmark_bottom(Irssi::TextUI::TextBufferView $view, string $name)
-Irssi::TextUI::TextBufferView::get_bookmark(Irssi::TextUI::TextBufferView $view, string $name)
-Irssi::TextUI::TextBufferView::redraw(Irssi::TextUI::TextBufferView $view)
-Irssi::UI::Window::view(Irssi::UI::Window $window)
-Irssi::gui_printtext(int $xpos, int $ypos, string $str)
-Irssi::gui_input_set(string $str)
-Irssi::gui_input_get_pos()
-Irssi::gui_input_set_pos(int $pos)
-Irssi::UI::Server::gui_printtext_after(Irssi::Server $server, string $target, Irssi::TextUI::Line $prev, int $level, string $str)
-Irssi::UI::Server::term_refresh_freeze()
-Irssi::UI::Server::term_refresh_thaw()
-Irssi::UI::Window::print_after(Irssi::UI::Window $window, Irssi::TextUI::Line $prev, int $level, string $str)
-Irssi::UI::Window::gui_printtext_after(Irssi::UI::Window $window, Irssi::TextUI::Line $prev, int $level, string $str)
-Irssi::UI::Window::last_line_insert(Irssi::UI::Window $window)
-Irssi::TextUI::init()
-Irssi::TextUI::deinit()
-Irssi::Server::format_create_dest(Irssi::Server $server, string $target, int $level, Irssi::UI::Window $window)
-Irssi::format_get_length(string $str)
-Irssi::format_real_length(string $str, int $len)
Irssi::strip_codes(string $input)
-Irssi::format_create_dest(string $target, int $level, Irssi::UI::Window $window)
-Irssi::Window::format_create_dest(Irssi::UI::Window $window, int $level)
-Irssi::UI::Window::format_get_text(Irssi::UI::Window $window, string $module, Irssi::Server $server, string $target, int $formatnum, ...)
-Irssi::UI::TextDest::print(Irssi::UI::TextDest $dest, string $str)
-Irssi::UI::Theme::format_expand(Irssi::UI::Theme $theme, string $format, int $flags)
-Irssi::UI::Theme::get_format(Irssi::UI::Theme $theme, string $module, string $tag)
-Irssi::Server::printformat(Irssi::Server $server, string $target, int $level, string $format, ...)
-Irssi::current_theme()
-Irssi::EXPAND_FLAG_IGNORE_REPLACES()
-Irssi::EXPAND_FLAG_IGNORE_EMPTY()
-Irssi::EXPAND_FLAG_RECURSIVE_MASK()
Irssi::theme_register(SVptr $formats)
-Irssi::printformat(int $level, string $format, ...)
-Irssi::abstracts_register(SVptr $abstracts)
Irssi::themes_reload()
-Irssi::UI::Window::printformat(Irssi::UI::Window $window, int $level, string $format, ...)
-Irssi::Windowitem::printformat(Irssi::Windowitem $item, int $level, string $format, ...)
-Irssi::UI::processes()
-Irssi::UI::init()
-Irssi::UI::deinit()
-Irssi::Server::print(Irssi::Server $server, string $channel, string $str, int $level)
-Irssi::Server::window_item_find(Irssi::Server $server, string $name)
-Irssi::Server::window_find_item(Irssi::Server $server, string $name)
-Irssi::Server::window_find_level(Irssi::Server $server, int $level)
-Irssi::Server::window_find_closest(Irssi::Server $server, string $name, int $level)
-Irssi::windows()
-Irssi::active_win()
-Irssi::active_server()
-Irssi::print(string $str, int $level)
+Irssi::timeout_add(int $msecs, SVptr $func, SVptr $data)
+Irssi::timeout_add_once(int $msecs, SVptr $func, SVptr $data)
+Irssi::timeout_remove(int $tag)
+Irssi::version()
+Irssi::window_find_closest(string $name, int $level)
+Irssi::window_find_item(string $name)
+Irssi::window_find_level(int $level)
Irssi::window_find_name(string $name)
Irssi::window_find_refnum(int $refnum)
-Irssi::window_refnum_prev(int $refnum, int $wrap)
+Irssi::window_item_find(string $name)
Irssi::window_refnum_next(int $refnum, int $wrap)
+Irssi::window_refnum_prev(int $refnum, int $wrap)
+Irssi::windows()
Irssi::windows_refnum_last()
-Irssi::window_find_level(int $level)
-Irssi::window_find_item(string $name)
-Irssi::window_find_closest(string $name, int $level)
-Irssi::window_item_find(string $name)
-Irssi::UI::Window::items(Irssi::UI::Window $window)
-Irssi::UI::Window::print(Irssi::UI::Window $window, string $str, int $level)
-Irssi::UI::Window::command(Irssi::UI::Window $window, string $cmd)
-Irssi::UI::Window::item_add(Irssi::UI::Window $window, Irssi::Windowitem $item, int $automatic)
-Irssi::UI::Window::item_remove(Irssi::Windowitem $item)
-Irssi::UI::Window::item_destroy(Irssi::Windowitem $item)
-Irssi::UI::Window::item_prev(Irssi::UI::Window $window)
-Irssi::UI::Window::item_next(Irssi::UI::Window $window)
-Irssi::UI::Window::destroy(Irssi::UI::Window $window)
-Irssi::UI::Window::set_active(Irssi::UI::Window $window)
-Irssi::UI::Window::change_server(Irssi::UI::Window $window, Irssi::Server $server)
-Irssi::UI::Window::set_refnum(Irssi::UI::Window $window, int $refnum)
-Irssi::UI::Window::set_name(Irssi::UI::Window $window, string $name)
-Irssi::UI::Window::set_history(Irssi::UI::Window $window, string $name)
-Irssi::UI::Window::set_level(Irssi::UI::Window $window, int $level)
-Irssi::UI::Window::activity(Irssi::UI::Window $window, int $data_level, string $hilight_color)
-Irssi::UI::Window::get_active_name(Irssi::UI::Window $window)
-Irssi::UI::Window::item_find(Irssi::UI::Window $window, Irssi::Server $server, string $name)
-Irssi::UI::Window::get_history_lines(Irssi::UI::Window $window)
-Irssi::Windowitem::print(Irssi::Windowitem $item, string $str, int $level)
-Irssi::Windowitem::window_create(Irssi::Windowitem $item, int $automatic)
-Irssi::Windowitem::window(Irssi::Windowitem $item)
-Irssi::Windowitem::change_server(Irssi::Windowitem $item, Irssi::Server $server)
-Irssi::Windowitem::is_active(Irssi::Windowitem $item)
-Irssi::Windowitem::set_active(Irssi::Windowitem $item)
-Irssi::Windowitem::activity(Irssi::Windowitem $item, int $data_level, string $hilight_color)
-=back
-
diff --git a/patches/add_bindings_list_interface.patch b/patches/add_bindings_list_interface.patch
new file mode 100644
index 0000000..8286444
--- /dev/null
+++ b/patches/add_bindings_list_interface.patch
@@ -0,0 +1,62 @@
+Index: ui/UI.xs
+===================================================================
+--- ui/UI.xs (revision 5190)
++++ ui/UI.xs (working copy)
+@@ -106,3 +106,47 @@
+ irssi_boot(UI__Formats);
+ irssi_boot(UI__Themes);
+ irssi_boot(UI__Window);
++
++HV*
++bindings()
++PREINIT:
++ GSList *info;
++ GSList *key;
++CODE:
++
++ RETVAL = newHV();
++ sv_2mortal((SV*)RETVAL);
++
++ /* loop stolen from keyboard.c#cmd_show_keys */
++
++ for (info = keyinfos; info != NULL; info = info->next) {
++ KEYINFO_REC *rec = info->data;
++ for (key = rec->keys; key != NULL; key = key->next) {
++ KEY_REC *key_rec = key->data;
++
++ /* return value { key => [ info, data ] } */
++ AV* value_array = newAV();
++
++ char *kinfo = key_rec->info->id;
++ char *kdata = key_rec->data;
++
++ /* store info, or undef if it's null */
++ av_push(value_array, kinfo != NULL
++ ? newSVpv(kinfo, strlen(kinfo))
++ : newSV(0));
++
++ /* ditto data */
++ av_push(value_array, kdata != NULL
++ ? newSVpv(kdata, strlen(kdata))
++ : newSV(0));
++
++ /* wedge it all into a reference so we can use it in the hash */
++ SV* value_ref = newRV_inc((SV*)value_array);
++
++ /* and finally, set up the hash */
++ hv_store(RETVAL, key_rec->key, strlen(key_rec->key),
++ value_ref, 0);
++ }
++ }
++OUTPUT:
++ RETVAL
+Index: ui/module.h
+===================================================================
+--- ui/module.h (revision 5190)
++++ ui/module.h (working copy)
+@@ -12,3 +12,5 @@
+ typedef TEXT_DEST_REC *Irssi__UI__TextDest;
+ typedef THEME_REC *Irssi__UI__Theme;
+ typedef KEYINFO_REC *Irssi__UI__Keyinfo;
++typedef KEY_REC *Irssi__UI__Key;
++
diff --git a/test/irssi/config b/test/irssi/config
index 1e0d97c..620c7e3 100644
--- a/test/irssi/config
+++ b/test/irssi/config
@@ -153,6 +153,9 @@ aliases = {
funcs_for = "/dump [map *\\$_{NAME}, grep ref(\\$_) eq 'GLOB' && *\\$_{CODE} && *\\$_{PACKAGE} eq 'Irssi::UI::Window', values \\%Irssi::UI::Window::]";
et = "/script unload expando_test.pl; /script load expando_test";
se = "script exec";
+ detach = "eval exec - screen -X detach";
+ xxx = "/dump Irssi::UI::bindings()";
+ showbind = "/script exec \\%foo = Irssi::UI::bindings()\\; print \\$foo{\"\\\\$0\"}\\;";
};
statusbar = {
@@ -266,8 +269,9 @@ settings = {
real_name = "shabble";
user_name = "tomfeist";
nick = "tomfeist";
+ timestamp_format = "%+";
};
- "fe-text" = { actlist_sort = "refnum"; };
+ "fe-text" = { actlist_sort = "refnum"; indent = "1"; };
"perl/core/scripts" = { autoinstall_custom_prompt = "yes"; };
"fe-common/core" = { bell_beeps = "yes"; };
};
diff --git a/test/run_irssi.sh b/test/run_irssi.sh
index 9b73b49..b3f47a4 100755
--- a/test/run_irssi.sh
+++ b/test/run_irssi.sh
@@ -1,2 +1,3 @@
#!/usr/bin/env bash
-/opt/stow/repo/irssi/bin/irssi --home=irssi/
+export PERL5LIB=${PERL5LIB}:/opt/stow/repo/irssi/lib/perl5/5.10.1/darwin-2level
+screen /opt/stow/repo/irssi/bin/irssi --home=irssi/