diff options
Diffstat (limited to '')
| -rw-r--r-- | docs/General/Signals.pod | 6 | ||||
| -rwxr-xr-x | docs/buildpod.pl | 6 | ||||
| -rwxr-xr-x | docs/buildsignals.pl | 51 | ||||
| -rw-r--r-- | test/irssi/config | 19 | ||||
| -rw-r--r-- | test/irssi/default.theme | 426 | 
5 files changed, 499 insertions, 9 deletions
| diff --git a/docs/General/Signals.pod b/docs/General/Signals.pod index f12dd7f..4720bee 100644 --- a/docs/General/Signals.pod +++ b/docs/General/Signals.pod @@ -131,7 +131,7 @@ Arguments are passed to signal handlers in the usual way, via C<@_>.  =over -=item C<string $command>, +=item string C<$command>,  =item L<Irssi::Server> C<$server>, @@ -2089,8 +2089,8 @@ B<TODO: Check ordering of arguments from/to here>  =back -B<TODO: does this fire if you dont' change windows? (eg: send a switch commandf -for the window you're already on) +B<TODO: does this fire if you don't change windows? (eg: send a switch command +for the window you're already on)>  =item C<"window changed automatic"> diff --git a/docs/buildpod.pl b/docs/buildpod.pl index 050ea8e..dfddf54 100755 --- a/docs/buildpod.pl +++ b/docs/buildpod.pl @@ -28,6 +28,12 @@ sub new {                          "<title>Irssi Scripting Documentation</title>\n",                          "</head><body class='contentspage'>\n",                          "<h1>Irssi Scripting Documentation</h1>\n", +                        q(<p><b>This is a work in progress. If you ), +                        q(find something obviously wrong, or have requests ), +                        q(for further documentation on topics not yet ), +                        q(filled out, please ), +                        q(<a href="http://github.com/shabble/shab-irssi-scripts/issues#">create an issue</a>), +                        " on my Github page, and I'll see what I can do.</b></p>",                         );      $obj->contents_page_start(join("", @index_header)); diff --git a/docs/buildsignals.pl b/docs/buildsignals.pl index 5409ae2..b2afc2a 100755 --- a/docs/buildsignals.pl +++ b/docs/buildsignals.pl @@ -4,8 +4,10 @@ use strict;  use warnings;  #use Pod::Simple::Debug (3);  use Data::Dumper; +$|++;  package Pod::Simple::IrssiSignalParser; +$|++;  use base qw/Pod::Simple::PullParser/;  use Carp qw/cluck/; @@ -91,7 +93,8 @@ sub validate_token {      my ($self, $token, $expected, $type) = @_;      unless ($token->type eq $type && $token->is_tag($expected)) { -        cluck "Eeek. Expected $expected: $type, got $token->type"; +        cluck "Eeek. Expected $expected: $type, got " +          . $token->dump();          # cluck("Invalid token. " # on line " . $token->attr('start_line')          #   . "expected $expected $type, got " . $token->tag @@ -174,8 +177,52 @@ sub process_def_entry {      my $token;      print "Processing definition entry\n";      while ($token = $self->get_token()) { +        print "Token is ", $token->dump, "\n";          last if $token->is_end && $token->tag eq 'item-text'; + +        $self->validate_token($token, 'item-text', 'start'); +        $token = $self->get_token(); +        $self->validate_token($token, 'C', 'start'); +        $token = $self->get_token(); + +        if ($token->is_text) { +            my $sig_name = $token->text; +            print "Signal: $sig_name\n"; +        } + +        $token = $self->get_token(); + +        $self->validate_token($token, 'C', 'end'); +        $token = $self->get_token(); +        print "matched end of code\n"; + +        $self->validate_token($token, 'item-text', 'end'); +        $token = $self->get_token(); + +        print "matched end of header list\n"; + +        $self->validate_token($token, 'over-text', 'start'); +        $token = $self->get_token(); + +        print "matched start of args list\n"; + +        $self->validate_token($token, 'item-text', 'start'); +        $token = $self->get_token(); + +        # consume argument list. +        until ($token->is_end && $token->tag eq 'over-text') { +            $token = $self->get_token(); +            print "waiting for arglist Token: " . $token->dump() . "\n"; +        } +        print "Token now: ", $token->dump(), $/; + +        print "consumed arg list\n"; +        $token = $self->get_token(); +        print "Token now: ", $token->dump(), $/; +        $self->validate_token($token, 'item-text', 'end'); +        $token = $self->get_token(); +      }      #$self->unget_token($token);      print "Done Processing definition entry\n"; @@ -184,7 +231,7 @@ sub process_def_entry {  package main; -my $input_file = $ARGV[0] // 'Signals.pm'; +my $input_file = $ARGV[0] // 'General/Signals.pod';  my $parser = Pod::Simple::IrssiSignalParser->new;  $parser->accept_targets('irssi_signal_defs', 'irssi_signal_types'); diff --git a/test/irssi/config b/test/irssi/config index fe39032..9156a7f 100644 --- a/test/irssi/config +++ b/test/irssi/config @@ -26,7 +26,14 @@ servers = (    { address = "irc.webchat.org"; chatnet = "WebChat"; port = "6667"; },    { address = "irc.rizon.net"; chatnet = "Rizon"; port = "6667"; },    { address = "irc.link-net.org"; chatnet = "LinkNet"; port = "6667"; }, -  { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; } +  { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; }, +  { +    address = "blondu.dyndns.ws"; +    chatnet = "botnettest"; +    port = "6667"; +    use_ssl = "no"; +    ssl_verify = "no"; +  }  );  chatnets = { @@ -92,6 +99,7 @@ chatnets = {      max_whois = "30";    };    SILC = { type = "SILC"; }; +  botnettest = { type = "IRC"; };  };  channels = ( @@ -156,6 +164,7 @@ aliases = {    detach = "eval exec - screen -X detach";    xxx = "/dump Irssi::bindings()";    showbind = "/script exec \\%foo = Irssi::UI::bindings()\\; print \\$foo{\"\\\\$0\"}\\;"; +  botaway = "/away auto-away [\002BX\002-MsgLog On] (Away since 1:43 am Mon Aug 24)";  };  statusbar = { @@ -178,7 +187,7 @@ statusbar = {      # treated specially .. window is printed with non-empty windows,      # window_empty is printed with empty windows -    window = "{sb $winref:$tag/$itemname{sbmode $M}}"; +    window = "{sb $winref:$tag/$itemname{sbmode $M_nopass}}";      window_empty = "{sb $winref{sbservertag $tag}}";      prompt = "{prompt $[.15]itemname}";      prompt_empty = "{prompt $winname}"; @@ -266,7 +275,7 @@ statusbar = {  };  settings = {    core = { -    real_name = "shabble"; +    real_name = "fjkdlafad";      user_name = "tomfeist";      nick = "tomfeist";      timestamp_format = "%+"; @@ -278,6 +287,7 @@ settings = {      mass_hilight_threshold = "0";    };    "fe-common/core" = { bell_beeps = "yes"; }; +  "irc/core" = { ctcp_userinfo_reply = ""; };  };  keyboard = (    { @@ -289,5 +299,6 @@ keyboard = (    { key = "^Z"; id = "command"; data = "echo moo"; },    { key = "^R"; id = "command"; data = "history_search_start "; },    { key = "meta-h"; id = "command"; data = "echo moo /echo moo"; }, -  { key = "meta-q"; id = "command"; data = "echo bacons"; } +  { key = "meta-q"; id = "command"; data = "echo bacons"; }, +  { key = "meta-c"; id = "command"; data = "echo moo ; /echo bar"; }  ); diff --git a/test/irssi/default.theme b/test/irssi/default.theme index a5471c8..b82a4eb 100644 --- a/test/irssi/default.theme +++ b/test/irssi/default.theme @@ -292,3 +292,429 @@ abstracts = {    # hilight with specified color, $0 = color, $1 = text    sb_act_hilight_color = "$0$1-%n";  }; +formats = { +  "fe-common/irc/dcc" = { +    own_dcc = "{dccownmsg dcc {dccownnick $1}}$2"; +    own_dcc_action = "{dccownaction_target $0 $1}$2"; +    own_dcc_action_query = "{dccownaction $0}$2"; +    own_dcc_ctcp = "{ownctcp ctcp $0}$1 $2"; +    dcc_msg = "{dccmsg dcc $0}$1"; +    action_dcc = "{dccaction $0}$1"; +    action_dcc_query = "{dccaction $0}$1"; +    own_dcc_query = "{ownmsgnick {dccownquerynick $0}}$2"; +    dcc_msg_query = "{privmsgnick $0}$1"; +    dcc_ctcp = "{dcc >>> DCC CTCP {hilight $1} received from {hilight $0}: $2}"; +    dcc_chat = "{dcc DCC CHAT from {nick $0} [$1 port $2]}"; +    dcc_chat_channel = "{dcc DCC CHAT from {nick $0} [$1 port $2] requested in channel {channel $3}}"; +    dcc_chat_not_found = "{dcc No DCC CHAT connection open to {nick $0}}"; +    dcc_chat_connected = "{dcc DCC CHAT connection with {nick $0} [$1 port $2] established}"; +    dcc_chat_disconnected = "{dcc DCC lost chat to {nick $0}}"; +    dcc_send = "{dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4]}"; +    dcc_send_channel = "{dcc DCC SEND from {nick $0} [$1 port $2]: $3 [$4 bytes] requested in channel {channel $5}}"; +    dcc_send_exists = "{dcc DCC already sending file {dccfile $0} for {nick $1}}"; +    dcc_send_no_route = "{dcc DCC route lost to nick {nick $0} when trying to send file {dccfile $1}}"; +    dcc_send_not_found = "{dcc DCC not sending file {dccfile $1} to {nick $0}}"; +    dcc_send_file_open_error = "{dcc DCC can't open file {dccfile $0}: $1}"; +    dcc_send_connected = "{dcc DCC sending file {dccfile $0} for {nick $1} [$2 port $3]}"; +    dcc_send_complete = "{dcc DCC sent file {dccfile $0} [{hilight $1}] for {nick $2} in {hilight $3} [{hilight $4kB/s}]}"; +    dcc_send_aborted = "{dcc DCC aborted sending file {dccfile $0} for {nick $1}}"; +    dcc_get_not_found = "{dcc DCC no file offered by {nick $0}}"; +    dcc_get_connected = "{dcc DCC receiving file {dccfile $0} from {nick $1} [$2 port $3]}"; +    dcc_get_complete = "{dcc DCC received file {dccfile $0} [$1] from {nick $2} in {hilight $3} [$4kB/s]}"; +    dcc_get_aborted = "{dcc DCC aborted receiving file {dccfile $0} from {nick $1}}"; +    dcc_get_write_error = "{dcc DCC error writing to file {dccfile $0}: {comment $1}"; +    dcc_unknown_ctcp = "{dcc DCC unknown ctcp {hilight $0} from {nick $1} [$2]}"; +    dcc_unknown_reply = "{dcc DCC unknown reply {hilight $0} from {nick $1} [$2]}"; +    dcc_unknown_type = "{dcc DCC unknown type {hilight $0}}"; +    dcc_invalid_ctcp = "{dcc DCC received CTCP {hilight $0} with invalid parameters from {nick $1}}"; +    dcc_connect_error = "{dcc DCC can't connect to {hilight $0} port {hilight $1}}"; +    dcc_cant_create = "{dcc DCC can't create file {dccfile $0}: $1}"; +    dcc_rejected = "{dcc DCC $0 was rejected by {nick $1} [{hilight $2}]}"; +    dcc_request_send = "{dcc DCC $0 request sent to {nick $1}: $2"; +    dcc_close = "{dcc DCC $0 close for {nick $1} [{hilight $2}]}"; +    dcc_lowport = "{dcc Warning: Port sent with DCC request is a lowport ({hilight $0, $1}) - this isn't normal. It is possible the address/port is faked (or maybe someone is just trying to bypass firewall)}"; +    dcc_list_header = "{dcc DCC connections}"; +    dcc_list_line_chat = "{dcc  $0 $1}"; +    dcc_list_line_file = "{dcc  $0 $1: %|$2 of $3 ($4%%) - $5kB/s - ETA $7 - $6}"; +    dcc_list_line_queued_send = "{dcc   - $0 $2 (queued)}"; +    dcc_list_footer = ""; +    dcc_list_line_server = "{dcc  $0: Port($1) - Send($2) - Chat($3) - Fserve($4)}"; +    dcc_server_started = "{dcc  DCC SERVER started on port {hilight $0}}"; +    dcc_server_closed = "{dcc  DCC SERVER on port {hilight $0} closed}"; +  }; +  "fe-common/irc/notifylist" = { +    notify_join = "{nick $0} [$1@$2] [{hilight $3}] has joined to $4"; +    notify_part = "{nick $0} has left $4"; +    notify_away = "{nick $0} [$5] [$1@$2] [{hilight $3}] is now away: $4"; +    notify_unaway = "{nick $0} [$4] [$1@$2] [{hilight $3}] is now unaway"; +    notify_online = "On $0: {hilight $1}"; +    notify_offline = "Offline: $0"; +    notify_list = "$0: $1 $2"; +    notify_list_empty = "The notify list is empty"; +  }; +  "fe-common/core" = { +    line_start = "{line_start}"; +    line_start_irssi = "{line_start}{hilight Irssi:} "; +    timestamp = "{timestamp $Z} "; +    servertag = "[$0] "; +    daychange = "Day changed to %%d %%b %%Y"; +    talking_with = "You are now talking with {nick $0}"; +    refnum_too_low = "Window number must be greater than 1"; +    error_server_sticky = "Window's server is sticky and it cannot be changed without -unsticky option"; +    set_server_sticky = "Window's server set sticky"; +    unset_server_sticky = "Window's server isn't sticky anymore"; +    window_name_not_unique = "Window names must be unique"; +    window_level = "Window level is now $0"; +    window_set_immortal = "Window is now immortal"; +    window_unset_immortal = "Window isn't immortal anymore"; +    window_immortal_error = "Window is immortal, if you really want to close it, say /WINDOW IMMORTAL OFF"; +    windowlist_header = "%#Ref Name                 Active item     Server          Level"; +    windowlist_line = "%#$[3]0 %|$[20]1 $[15]2 $[15]3 $4"; +    windowlist_footer = ""; +    windows_layout_saved = "Layout of windows is now remembered"; +    windows_layout_reset = "Layout of windows reset to defaults"; +    window_info_header = ""; +    window_info_footer = ""; +    window_info_refnum = "%#Window  : {hilight #$0}"; +    window_info_refnum_sticky = "%#Window  : {hilight #$0 (sticky)}"; +    window_info_name = "%#Name    : $0"; +    window_info_history = "%#History : $0"; +    window_info_immortal = "%#Immortal: yes"; +    window_info_size = "%#Size    : $0x$1"; +    window_info_level = "%#Level   : $0"; +    window_info_server = "%#Server  : $0"; +    window_info_server_sticky = "%#Server  : $0 (sticky)"; +    window_info_theme = "%#Theme   : $0$1"; +    window_info_bound_items_header = "%#Bounds  : {hilight Name                           Server tag}"; +    window_info_bound_item = "%#        : $[!30]0 $[!15]1 $2"; +    window_info_bound_items_footer = ""; +    window_info_items_header = "%#Items   : {hilight Name                           Server tag}"; +    window_info_item = "%# $[7]0: $[!30]1 $2"; +    window_info_items_footer = ""; +    looking_up = "Looking up {server $0}"; +    connecting = "Connecting to {server $0} [$1] port {hilight $2}"; +    reconnecting = "Reconnecting to {server $0} [$1] port {hilight $2} - use /RMRECONNS to abort"; +    connection_established = "Connection to {server $0} established"; +    cant_connect = "Unable to connect server {server $0} port {hilight $1} {reason $2}"; +    connection_lost = "Connection lost to {server $0}"; +    lag_disconnected = "No PONG reply from server {server $0} in $1 seconds, disconnecting"; +    disconnected = "Disconnected from {server $0} {reason $1}"; +    server_quit = "Disconnecting from server {server $0}: {reason $1}"; +    server_changed = "Changed to {hilight $2} server {server $1}"; +    unknown_server_tag = "Unknown server tag {server $0}"; +    no_connected_servers = "Not connected to any servers"; +    server_list = "{server $0}: $1:$2 ($3)"; +    server_lookup_list = "{server $0}: $1:$2 ($3) (connecting...)"; +    server_reconnect_list = "{server $0}: $1:$2 ($3) ($5 left before reconnecting)"; +    server_reconnect_removed = "Removed reconnection to server {server $0} port {hilight $1}"; +    server_reconnect_not_found = "Reconnection tag {server $0} not found"; +    setupserver_added = "Server {server $0} saved"; +    setupserver_removed = "Server {server $0} removed"; +    setupserver_not_found = "Server {server $0} not found"; +    your_nick = "Your nickname is {nick $0}"; +    join = "{channick_hilight $0} {chanhost_hilight $1} has joined {channel $2}"; +    part = "{channick $0} {chanhost $1} has left {channel $2} {reason $3}"; +    kick = "{channick $0} was kicked from {channel $1} by {nick $2} {reason $3}"; +    quit = "{channick $0} {chanhost $1} has quit {reason $2}"; +    quit_once = "{channel $3} {channick $0} {chanhost $1} has quit {reason $2}"; +    invite = "{nick $0} invites you to {channel $1}"; +    not_invited = "You have not been invited to a channel!"; +    new_topic = "{nick $0} changed the topic of {channel $1} to: $2"; +    topic_unset = "Topic unset by {nick $0} on {channel $1}"; +    your_nick_changed = "You're now known as {nick $1}"; +    nick_changed = "{channick $0} is now known as {channick_hilight $1}"; +    talking_in = "You are now talking in {channel $0}"; +    not_in_channels = "You are not on any channels"; +    current_channel = "Current channel {channel $0}"; +    names = "{names_users Users {names_channel $0}}"; +    names_prefix = "%#{names_prefix $0}"; +    names_nick_op = "{names_nick_op $0 $1}"; +    names_nick_halfop = "{names_nick_halfop $0 $1}"; +    names_nick_voice = "{names_nick_voice $0 $1}"; +    names_nick = "{names_nick $0 $1}"; +    endofnames = "{channel $0}: Total of {hilight $1} nicks {comment {hilight $2} ops, {hilight $3} halfops, {hilight $4} voices, {hilight $5} normal}"; +    chanlist_header = "%#You are on the following channels:"; +    chanlist_line = "%#{channel $[-10]0} %|+$1 ($2): $3"; +    chansetup_not_found = "Channel {channel $0} not found"; +    chansetup_added = "Channel {channel $0} saved"; +    chansetup_removed = "Channel {channel $0} removed"; +    chansetup_header = "%#Channel         Network    Password   Settings"; +    chansetup_line = "%#{channel $[15]0} %|$[10]1 $[10]2 $3"; +    chansetup_footer = ""; +    own_msg = "{ownmsgnick $2 {ownnick $0}}$1"; +    own_msg_channel = "{ownmsgnick $3 {ownnick $0}{msgchannel $1}}$2"; +    own_msg_private = "{ownprivmsg msg $0}$1"; +    own_msg_private_query = "{ownprivmsgnick {ownprivnick $2}}$1"; +    pubmsg_me = "{pubmsgmenick $2 {menick $0}}$1"; +    pubmsg_me_channel = "{pubmsgmenick $3 {menick $0}{msgchannel $1}}$2"; +    pubmsg_hilight = "{pubmsghinick $0 $3 $1}$2"; +    pubmsg_hilight_channel = "{pubmsghinick $0 $4 $1{msgchannel $2}}$3"; +    pubmsg = "{pubmsgnick $2 {pubnick $0}}$1"; +    pubmsg_channel = "{pubmsgnick $3 {pubnick $0}{msgchannel $1}}$2"; +    msg_private = "{privmsg $0 $1}$2"; +    msg_private_query = "{privmsgnick $0}$2"; +    no_msgs_got = "You have not received a message from anyone yet"; +    no_msgs_sent = "You have not sent a message to anyone yet"; +    query_start = "Starting query in {server $1} with {nick $0}"; +    query_stop = "Closing query with {nick $0}"; +    no_query = "No query with {nick $0}"; +    query_server_changed = "Query with {nick $0} changed to server {server $1}"; +    hilight_header = "%#Highlights:"; +    hilight_line = "%#$[-4]0 $1 $2 $3$4"; +    hilight_footer = ""; +    hilight_not_found = "Highlight not found: $0"; +    hilight_removed = "Highlight removed: $0"; +    alias_added = "Alias $0 added"; +    alias_removed = "Alias $0 removed"; +    alias_not_found = "No such alias: $0"; +    aliaslist_header = "%#Aliases:"; +    aliaslist_line = "%#$[10]0 $1"; +    aliaslist_footer = ""; +    log_opened = "Log file {hilight $0} opened"; +    log_closed = "Log file {hilight $0} closed"; +    log_create_failed = "Couldn't create log file {hilight $0}: $1"; +    log_locked = "Log file {hilight $0} is locked, probably by another running Irssi"; +    log_not_open = "Log file {hilight $0} not open"; +    log_started = "Started logging to file {hilight $0}"; +    log_stopped = "Stopped logging to file {hilight $0}"; +    log_list_header = "%#Logs:"; +    log_list = "%#$0 $1: $2 $3$4$5"; +    log_list_footer = ""; +    windowlog_file = "Window LOGFILE set to $0"; +    windowlog_file_logging = "Can't change window's logfile while log is on"; +    no_away_msgs = "No new messages in awaylog"; +    away_msgs = "{hilight $1} new messages in awaylog:"; +    module_header = "%#Module               Type    Submodules"; +    module_line = "%#$[!20]0 $[7]1 $2"; +    module_footer = ""; +    module_already_loaded = "Module {hilight $0/$1} already loaded"; +    module_not_loaded = "Module {hilight $0/$1} is not loaded"; +    module_load_error = "Error loading module {hilight $0/$1}: $2"; +    module_invalid = "{hilight $0/$1} isn't Irssi module"; +    module_loaded = "Loaded module {hilight $0/$1}"; +    module_unloaded = "Unloaded module {hilight $0/$1}"; +    command_unknown = "Unknown command: $0"; +    command_ambiguous = "Ambiguous command: $0"; +    option_unknown = "Unknown option: $0"; +    option_ambiguous = "Ambiguous option: $0"; +    option_missing_arg = "Missing required argument for: $0"; +    not_enough_params = "Not enough parameters given"; +    not_connected = "Not connected to server"; +    not_joined = "Not joined to any channel"; +    chan_not_found = "Not joined to such channel"; +    chan_not_synced = "Channel not fully synchronized yet, try again after a while"; +    illegal_proto = "Command isn't designed for the chat protocol of the active server"; +    not_good_idea = "Doing this is not a good idea. Add -YES option to command if you really mean it"; +    invalid_number = "Invalid number"; +    invalid_time = "Invalid timestamp"; +    invalid_level = "Invalid message level"; +    invalid_size = "Invalid size"; +    invalid_charset = "Invalid charset: $0"; +    eval_max_recurse = "/eval hit maximum recursion limit"; +    program_not_found = "Could not find file or file is not executable"; +    theme_saved = "Theme saved to $0"; +    theme_save_failed = "Error saving theme to $0: $1"; +    theme_not_found = "Theme {hilight $0} not found"; +    theme_changed = "Now using theme {hilight $0} ($1)"; +    window_theme = "Using theme {hilight $0} in this window"; +    window_theme_default = "No theme is set for this window"; +    window_theme_changed = "Now using theme {hilight $0} ($1) in this window"; +    window_theme_removed = "Removed theme from this window"; +    format_title = "%:[{hilight $0}] - [{hilight $1}]%:"; +    format_subtitle = "[{hilight $0}]"; +    format_item = "$0 = $1"; +    ignored = "Ignoring {hilight $1} from {nick $0}"; +    ignored_options = "Ignoring {hilight $1} from {nick $0} {comment $2}"; +    unignored = "Unignored {nick $0}"; +    ignore_not_found = "{nick $0} is not being ignored"; +    ignore_no_ignores = "There are no ignores"; +    ignore_header = "%#Ignore List:"; +    ignore_line = "%#$[-4]0 $1: $2 $3 $4"; +    ignore_footer = ""; +    not_channel_or_query = "The current window is not a channel or query window"; +    conversion_added = "Added {hilight $0}/{hilight $1} to conversion database"; +    conversion_removed = "Removed {hilight $0} from conversion database"; +    conversion_not_found = "{hilight $0} not found in conversion database"; +    conversion_no_translits = "Transliterations not supported in this system"; +    recode_header = "%#Target                         Character set"; +    recode_line = "%#%|$[!30]0 $1"; +    unknown_chat_protocol = "Unknown chat protocol: $0"; +    unknown_chatnet = "Unknown chat network: $0 (create it with /NETWORK ADD)"; +    not_toggle = "Value must be either ON, OFF or TOGGLE"; +    perl_error = "Perl error: $0"; +    bind_header = "%#Key                  Action"; +    bind_list = "%#$[!20]0 $1 $2"; +    bind_command_list = "$[!30]0 $1"; +    bind_footer = ""; +    bind_unknown_id = "Unknown bind action: $0"; +    config_saved = "Saved configuration to file $0"; +    config_reloaded = "Reloaded configuration"; +    config_modified = "Configuration file was modified since irssi was last started - do you want to overwrite the possible changes?"; +    glib_error = "{error $0} $1"; +    overwrite_config = "Overwrite config (y/N)?"; +    set_title = "[{hilight $0}]"; +    set_item = "$0 = $1"; +    set_unknown = "Unknown setting $0"; +    set_not_boolean = "Setting {hilight $0} isn't boolean, use /SET"; +    no_completions = "There's no completions"; +    completion_removed = "Removed completion $0"; +    completion_header = "%#Key        Value                                    Auto"; +    completion_line = "%#$[10]0 $[!40]1 $2"; +    completion_footer = ""; +  }; +  "fe-text" = { +    lastlog_too_long = "/LASTLOG would print $0 lines. If you really want to print all these lines use -force option."; +    lastlog_count = "{hilight Lastlog}: $0 lines"; +    lastlog_start = "{hilight Lastlog}:"; +    lastlog_end = "{hilight End of Lastlog}"; +    lastlog_separator = "--"; +    refnum_not_found = "Window number $0 not found"; +    window_too_small = "Not enough room to resize this window"; +    cant_hide_last = "You can't hide the last window"; +    cant_hide_sticky_windows = "You can't hide sticky windows (use /WINDOW STICK OFF)"; +    cant_show_sticky_windows = "You can't show sticky windows (use /WINDOW STICK OFF)"; +    window_not_sticky = "Window is not sticky"; +    window_set_sticky = "Window set sticky"; +    window_unset_sticky = "Window is not sticky anymore"; +    window_info_sticky = "%#Sticky  : $0"; +    window_info_scroll = "%#Scroll  : $0"; +    window_scroll = "Window scroll mode is now $0"; +    window_scroll_unknown = "Unknown scroll mode $0, must be ON, OFF or DEFAULT"; +    statusbar_list_header = "%#Name                           Type   Placement Position Visible"; +    statusbar_list_footer = ""; +    statusbar_list = "%#$[30]0 $[6]1 $[9]2 $[8]3 $4"; +    statusbar_info_name = "%#Statusbar: {hilight $0}"; +    statusbar_info_type = "%#Type     : $0"; +    statusbar_info_placement = "%#Placement: $0"; +    statusbar_info_position = "%#Position : $0"; +    statusbar_info_visible = "%#Visible  : $0"; +    statusbar_info_item_header = "%#Items    : Name                                Priority  Alignment"; +    statusbar_info_item_footer = ""; +    statusbar_info_item_name = "%#         : $[35]0 $[9]1 $2"; +    statusbar_not_found = "Statusbar doesn't exist: $0"; +    statusbar_item_not_found = "Statusbar item doesn't exist: $0"; +    statusbar_unknown_command = "Unknown statusbar command: $0"; +    statusbar_unknown_type = "Statusbar type must be 'window' or 'root'"; +    statusbar_unknown_placement = "Statusbar placement must be 'top' or 'bottom'"; +    statusbar_unknown_visibility = "Statusbar visibility must be 'always', 'active' or 'inactive'"; +    paste_warning = "Pasting $0 lines to $1. Press Ctrl-K if you wish to do this or Ctrl-C to cancel."; +    paste_prompt = "Hit Ctrl-K to paste, Ctrl-C to abort?"; +  }; +  "fe-common/perl" = { +    script_not_found = "Script {hilight $0} not found"; +    script_not_loaded = "Script {hilight $0} is not loaded"; +    script_loaded = "Loaded script {hilight $0}"; +    script_unloaded = "Unloaded script {hilight $0}"; +    no_scripts_loaded = "No scripts are loaded"; +    script_list_header = "%#Loaded scripts:"; +    script_list_line = "%#$[!15]0 $1"; +    script_list_footer = ""; +    script_error = "{error Error in script {hilight $0}:}"; +  }; +  "fe-common/irc" = { +    netsplit = "{netsplit Netsplit} {server $0} <-> {server $1} quits: $2"; +    netsplit_more = "{netsplit Netsplit} {server $0} <-> {server $1} quits: $2 (+$3 more, use /NETSPLIT to show all of them)"; +    netsplit_join = "{netjoin Netsplit} over, joins: $0"; +    netsplit_join_more = "{netjoin Netsplit} over, joins: $0 (+$1 more)"; +    no_netsplits = "There are no net splits"; +    netsplits_header = "%#Nick      Channel    Server               Split server"; +    netsplits_line = "%#$[9]0 $[10]1 $[20]2 $3"; +    netsplits_footer = ""; +    network_added = "Network $0 saved"; +    network_removed = "Network $0 removed"; +    network_not_found = "Network $0 not found"; +    network_header = "%#Networks:"; +    network_line = "%#$0: $1"; +    network_footer = ""; +    setupserver_header = "%#Server               Port  Network    Settings"; +    setupserver_line = "%#%|$[!20]0 $[5]1 $[10]2 $3"; +    setupserver_footer = ""; +    joinerror_toomany = "Cannot join to channel {channel $0} (You have joined to too many channels)"; +    joinerror_full = "Cannot join to channel {channel $0} (Channel is full)"; +    joinerror_invite = "Cannot join to channel {channel $0} (You must be invited)"; +    joinerror_banned = "Cannot join to channel {channel $0} (You are banned)"; +    joinerror_bad_key = "Cannot join to channel {channel $0} (Bad channel key)"; +    joinerror_bad_mask = "Cannot join to channel {channel $0} (Bad channel mask)"; +    joinerror_unavail = "Cannot join to channel {channel $0} (Channel is temporarily unavailable)"; +    joinerror_duplicate = "Channel {channel $0} already exists - cannot create it"; +    channel_rejoin = "Channel {channel $0} is temporarily unavailable, this is normally because of netsplits. Irssi will now automatically try to rejoin back to this channel until the join is successful. Use /RMREJOINS command if you wish to abort this."; +    inviting = "Inviting {nick $0} to {channel $1}"; +    channel_created = "Channel {channelhilight $0} created $1"; +    url = "Home page for {channelhilight $0}: $1"; +    topic = "Topic for {channelhilight $0}: $1"; +    no_topic = "No topic set for {channelhilight $0}"; +    topic_info = "Topic set by {nick $0} {nickhost $2} {comment $1}"; +    chanmode_change = "mode/{channelhilight $0} {mode $1} by {nick $2}"; +    server_chanmode_change = "{netsplit ServerMode}/{channelhilight $0} {mode $1} by {nick $2}"; +    channel_mode = "mode/{channelhilight $0} {mode $1}"; +    bantype = "Ban type changed to {channel $0}"; +    no_bans = "No bans in channel {channel $0}"; +    banlist = "$0 - {channel $1}: ban {ban $2}"; +    banlist_long = "$0 - {channel $1}: ban {ban $2} {comment by {nick $3}, $4 secs ago}"; +    ebanlist = "{channel $0}: ban exception {ban $1}"; +    ebanlist_long = "{channel $0}: ban exception {ban $1} {comment by {nick $2}, $3 secs ago}"; +    no_invitelist = "Invite list is empty in channel {channel $0}"; +    invitelist = "{channel $0}: invite {ban $1}"; +    invitelist_long = "{channel $0}: invite {ban $1} {comment by {nick $2}, $3 secs ago}"; +    no_such_channel = "{channel $0}: No such channel"; +    channel_synced = "Join to {channel $0} was synced in {hilight $1} secs"; +    usermode_change = "Mode change {mode $0} for user {nick $1}"; +    user_mode = "Your user mode is {mode $0}"; +    away = "You have been marked as being away"; +    unaway = "You are no longer marked as being away"; +    nick_away = "{nick $0} is away: $1"; +    no_such_nick = "{nick $0}: No such nick/channel"; +    nick_in_use = "Nick {nick $0} is already in use"; +    nick_unavailable = "Nick {nick $0} is temporarily unavailable"; +    your_nick_owned = "Your nick is owned by {nick $3} {comment $1@$2}"; +    whois = "{nick $0} {nickhost $1@$2}%:{whois ircname $3}"; +    whowas = "{nick $0} {nickhost $1@$2}%:{whois was $3}"; +    whois_idle = "{whois idle %|$1 days $2 hours $3 mins $4 secs}"; +    whois_idle_signon = "{whois idle %|$1 days $2 hours $3 mins $4 secs {comment signon: $5}}"; +    whois_server = "{whois server %|$1 {comment $2}}"; +    whois_oper = "{whois  {hilight $1}}"; +    whois_modes = "{whois modes $1}"; +    whois_realhost = "{whois hostname $1-}"; +    whois_usermode = "{whois usermode $1}"; +    whois_channels = "{whois channels %|$1}"; +    whois_away = "{whois away %|$1}"; +    whois_special = "{whois  %|$1}"; +    whois_extra = "{whois account %|$1}"; +    end_of_whois = "End of WHOIS"; +    end_of_whowas = "End of WHOWAS"; +    whois_not_found = "There is no such nick $0"; +    who = "%#{channelhilight $[-10]0} %|{nick $[!9]1} $[!3]2 $[!2]3 $4@$5 {comment {hilight $6}}"; +    end_of_who = "End of /WHO list"; +    own_notice = "{ownnotice notice $0}$1"; +    own_action = "{ownaction $0}$1"; +    own_action_target = "{ownaction_target $0 $2}$1"; +    own_ctcp = "{ownctcp ctcp $0}$1 $2"; +    notice_server = "{servernotice $0}$1"; +    notice_public = "{notice $0{pubnotice_channel $1}}$2"; +    notice_private = "{notice $0{pvtnotice_host $1}}$2"; +    action_private = "{pvtaction $0}$2"; +    action_private_query = "{pvtaction_query $0}$2"; +    action_public = "{pubaction $0}$1"; +    action_public_channel = "{pubaction $0{msgchannel $1}}$2"; +    ctcp_reply = "CTCP {hilight $0} reply from {nick $1}: $2"; +    ctcp_reply_channel = "CTCP {hilight $0} reply from {nick $1} in channel {channel $3}: $2"; +    ctcp_ping_reply = "CTCP {hilight PING} reply from {nick $0}: $1.$[-3.0]2 seconds"; +    ctcp_requested = "{ctcp {hilight $0} {comment $1} requested CTCP {hilight $2} from {nick $4}}: $3"; +    ctcp_requested_unknown = "{ctcp {hilight $0} {comment $1} requested unknown CTCP {hilight $2} from {nick $4}}: $3"; +    online = "Users online: {hilight $0}"; +    pong = "PONG received from $0: $1"; +    wallops = "{wallop WALLOP {wallop_nick $0}} $1"; +    action_wallops = "{wallop WALLOP {wallop_action $0}} $1"; +    kill = "You were {error killed} by {nick $0} {nickhost $1} {reason $2} {comment Path: $3}"; +    kill_server = "You were {error killed} by {server $0} {reason $1} {comment Path: $2}"; +    error = "{error ERROR} $0"; +    unknown_mode = "Unknown mode character $0"; +    default_event = "$1"; +    default_event_server = "[$0] $1"; +    silenced = "Silenced {nick $0}"; +    unsilenced = "Unsilenced {nick $0}"; +    silence_line = "{nick $0}: silence {ban $1}"; +    ask_oper_pass = "Operator password:"; +    accept_list = "Accepted users: {hilight $0}"; +  }; +}; | 
