diff options
-rw-r--r-- | docs/Guide.pod | 7 | ||||
-rw-r--r-- | docs/Irssi.pod | 94 | ||||
-rw-r--r-- | docs/Irssi/UI/Theme.pod | 45 | ||||
-rw-r--r-- | docs/xsfuncs_args.txt | 538 | ||||
-rw-r--r-- | patches/add_bindings_list_interface.patch | 62 | ||||
-rw-r--r-- | test/irssi/config | 6 | ||||
-rwxr-xr-x | test/run_irssi.sh | 3 |
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/ |