]> git.99rst.org Git - irssi-scripts.irssi.org.git/commitdiff
update settingshelp
authorAilin Nemui <redacted>
Thu, 25 Jan 2018 13:26:50 +0000 (14:26 +0100)
committerAilin Nemui <redacted>
Thu, 25 Jan 2018 13:39:29 +0000 (14:39 +0100)
scripts/settingshelp.pl

index 85b9bb1dc836124933329be5117e1e422f9d7dea..fab386daa5238ecea44986f7314d9065eccd05c2 100644 (file)
@@ -1,7 +1,9 @@
 use strict;
 use warnings;
+use LWP::Simple qw();
+use Irssi;
 
-our $VERSION = '0.8.10'; # 865d608a5aa6332
+our $VERSION = '1.0'; #
 our %IRSSI = (
     authors     => 'Rocco Caputo (dngor), Nei',
     contact     => 'rcaputo@cpan.org, Nei @ anti@conference.jabber.teamidiot.de',
@@ -16,48 +18,68 @@ our %IRSSI = (
 #
 #   /help set setting_here
 #
-# to print out its documentation (as far as it was included in the
-# Irssi 0.8.18 settings notes)
+# to print out its documentation (as far as it was documented on the
+# Irssi website)
 
 # NOTE
 # ====
-# the original settings.text is included in a heredoc string at the
-# end of this script.
+# This script will download the settings documentation from the
+# website every time it is loaded
 
-my $setting;
 my %help;
-my $help;
-my $license;
-my $header = 1;
-for (split "\n", $help) {
-       chomp;
-       if (/^\s*$/) {
-               undef $header;
-       }
-       if (/^  (\w.*) =/) {
-               $setting =  "\L$1";
-       }
-       elsif (/^ {3}/ || /^\s*$/) {}
-       else { undef $setting }
-       if ($setting) {
-               push @{$help{"settings/$setting"}}, $_
-       }
-       if (/License/) {
-               print CLIENTCRAP '%U%_Irssi Settings documentation license%:' unless $license;
-               $license = 1;
+
+{
+    print STDERR " .. downloading settings documentation .. ";
+    local $LWP::Simple::ua->{timeout} = 2;
+    my $res = LWP::Simple::get("https://github.com/irssi/irssi.github.io/raw/master/documentation/settings/index.markdown");
+    Irssi::command('redraw');
+    my @res = split "\n", $res if defined $res;
+    die "Error downloading settings" unless @res && $res[0] eq '---';
+    while (@res) {
+       my @info;
+       my $soon = 0;
+       my $setting;
+       my $val;
+       while (defined(my $line = shift @res)) {
+           if ($line =~ /^\{:#(\w+)\}/i) {
+               $soon = 1;
+               $setting = $1;
+           }
+           elsif ($soon == 1 && $line =~ /^` (.*) `$/) {
+               $val = $1;
+               $soon++;
+           }
+           elsif ($soon && $line =~ /^>+(?:\s|$)/) {
+               next if $line =~ /^>>+$/;
+               next if $line =~ /^>+\s+!/;
+               $line =~ s/^>+//;
+               push @info, $line;
+           }
+           elsif (@info) {
+               unshift @res, $line;
+               last;
+           }
        }
-       if ($header || $license) {
-               print CLIENTCRAP $_;
+       unshift @info, $val if defined $val;
+       s/`//g for @info;
+       if (@info) {
+           my $sep =($info[0] =~ s/^\Q$setting\E\s+=(\s+|\s*$)//i) ? '' : ':';
+           my $clr = !$sep && !$info[0] ? '-clear ' : '';
+           my @info2 = ("/set $clr\cB\L$setting\E\cB$sep ".(shift @info),'',(map {"    $_"} @info),'');
+           s/%/%%/g for @info2;
+           push @{$help{"settings/$setting"}}, @info2;
        }
+    }
 }
 
+print CLIENTCRAP '%U%_Irssi Settings documentation licence%: ' . $IRSSI{license};
 print CLIENTCRAP '%:You can now read help for settings with %_/HELP SET settingname%_';
 
 Irssi::signal_add_first(
        'command help' => sub {
                if ($_[0] =~ s|^set\s+|settings/|i && $_[0] ne 'settings/' && ($_[0]="\L$_[0]")
                   && $_[0] =~ /^(.*?)(?:\s+|$)/ && exists $help{$1}) {
-                       print CLIENTCRAP join "\n", '%_Setting:%_%:', @{$help{$1}};
+                       print CLIENTCRAP join "\n", '', '%_Setting:%_%:', @{$help{$1}};
                        Irssi::signal_stop;
                }
        }
@@ -72,1706 +94,3 @@ Irssi::signal_add_last(
                }
        }
        );
-
-UNITCHECK { $help = <<'END'; }
-Irssi 0.8.10 settings notes.  Gathered through much effort by Rocco
-Caputo <rcaputo at cpan dot org> (aka "dngor").  Includes original
-work by Nei, and advice and guidance from irc.freenode.net #irssi.
-
-This is not an attempt to document Irssi completely.  It should be
-used along with the documents at <http://irssi.org/documentation> for
-more complete understanding of how irssi works.  For example, the
-startup HOWTO and tips/tricks show sample uses for these settings,
-including some very useful stuff.
-
-We respect the work of others.  Parts of this document have been
-collected from other locations.  Wherever possible, we have made every
-effort to locate and attribute the original authors.  Please let us
-know if we've overlooked you.
-
-We ask the same respect in return.  The Copyright and license notices
-are at the end.
-
------
-
-2005-Dec-08: (dngor)
-
-  Switched to Creative Commons' ShareAlike license.  We'd like to
-  thank Coekie <coekie@irssi.org> for pointing out out that the
-  previous license was weak, and that he could just alter it and
-  redistribute our work without attribution.
-
-  Minor revisions throughout a major portion of the document.
-
-2005-Dec-07: (Nei)
-
-  Set example values to default values where appropriate.
-  Add new settings from 0.8.10.
-  Sorted settings according to my local /set output.
-
-  (dngor) Marked the 0.8.10 settings as coming from that version.
-
-2005-Dec-01: (Nei)
-
-  Updated some links. Renamed term_type.
-
-2005-06-05: (dngor)
-
-  Tweaked an example to use the same command the surrounding text said
-  it was.
-
-2005-05-04: (dngor)
-
-  Not terribly significant.  All edits happened in the introduction.
-
------
-
-[completion]
-
-  completion_strict = OFF
-
-    When on, nicknames are matched strictly.  That is, the partial
-    nickname you enter must be at the beginning of a nickname in one
-    of irssi's lists.
-
-    When off, irssi will first try a strict match.  If a strict match
-    can't be found, irssi will look for nicknames that match when
-    their leading non-alphanumeric characters are removed.  For
-    example:
-
-      vis: hello
-
-    With strict completion on, it will only match nicknames beginning
-    with "vis".  With strict completion off, it may match "visitors"
-    or "_visitors_" or "[visitors]", and so on.
-
-  completion_keep_privates = 10
-
-    Irssi keeps a list of nicknames from private messages to search
-    during nick completion.  This setting determines how many
-    nicknames are held.
-
-    TODO - Is this list maintained by people who privately message
-    you, who you privately message, or both?
-
-  completion_char = :
-
-    The text that irssi puts after a tab-completed nickname, or that
-    it uses to detect nicknames when you have completion_auto turned
-    on.  Some people alter this to colorize the completion character,
-    creating the oft-dreaded "bold colon".
-
-  completion_auto = OFF
-
-    Tell irssi to detect incomplete nicknames in your input and look
-    up their completions automatically.  Incomplete nicknames are
-    detected when you input text that matches
-    /^(\S+)${completion_character}/.  For example:
-
-      vis: hello
-
-    will be expanded to
-
-      visitors: hello
-
-    when you press enter.  So will:
-
-      vis:hello
-      Vis::Hello(12);
-
-    This will eventually bite you.
-
-  completion_nicks_lowercase = OFF
-
-    When enabled, irssi forces completed nicknames to lowercase.
-    Manually typed nicknames retain their case.
-
-  completion_keep_publics = 50
-
-    Irssi keeps a list of nicknames from public messages to search
-    during nick completion.  This setting determines how many
-    nicknames are held.
-
-    TODO - Is this list maintained by watching who you speak to, who
-    speak to you, or both?
-
-[dcc]
-
-  dcc_autorename = OFF
-
-    Turn on this setting to automatically rename received files so
-    they don't overwrite existing files.
-
-    I think this setting may thwart dcc_autoresume, since the
-    auto-resume feature looks for existing filenames when resuming.
-    Auto-renaming downloads makes sure that filenames never conflict,
-    so resuming is not possible.
-
-  dcc_autoresume = OFF
-
-    When on, dcc_autoresume will cause irssi to look for existing
-    files with the same name as a new DCC transfer.  If a file already
-    exists by that name, irssi will try to resume the transfer by
-    appending any new data to the existing file.
-
-    I think this option clashes with dcc_autorename.  See
-    dcc_autorename for more information.
-
-    Dcc_autoresume is ignored if dcc_autoget is off.
-
-  dcc_timeout = 5min
-
-    How long to keep track of pending DCC requests.  Requests that do
-    not receive responses within this time will be automatically
-    canceled.
-
-  dcc_autoget = OFF
-
-    Turn DCC auto-get on or off.  When on, irssi will attempt to
-    auto-get files sent to you.
-    
-    This feature can be abused, so it is usually off by default.  If
-    you enable it, consider also setting dcc_autoget_masks and
-    dcc_autoget_max_size to make this feature more secure.
-
-  dcc_upload_path = ~
-
-    The path where you keep public files available to send via DCC.
-
-  dcc_autoget_masks =
-
-    Set dcc_autoget_masks with user masks to automatically accept
-    files sent to you via DCC.  When unset, irssi's auto-get settings
-    will work for everyone who attempts to send you files.
-
-    This setting is only significant if dcc_autoget is ON.
-
-  dcc_autoget_max_size = 0k
-
-    Set to nonzero to limit the size of files that irssi will
-    auto-get.
-
-    Note: Because of the way DCC works, someone may advertise a file
-    at once size but try to send you something larger.  According to
-    src/irc/dcc/dcc-autoget.c, this only filters the request based on
-    the advertised size.
-
-    This setting is only significant if dcc_autoget is ON.
-
-  dcc_send_replace_space_with_underscore = OFF
-
-    When enabled, irssi will replace spaces with underscores in the
-    names of files you send.  It should only be necessary when sending
-    files to clients that don't support quoted filenames, or if you
-    hate spaces in filenames.
-
-  dcc_own_ip =
-
-    Set dcc_own_ip to force irssi to always send DCC requests from a
-    particular virtual host (vhost).  Irssi will always bind sockets
-    to this address when answering DCC requests.  Otherwise irssi will
-    determine your IP address on its own.
-
-  dcc_download_path = ~
-
-    The path to a directory where irssi will store DCC downloads.
-
-  dcc_file_create_mode = 644
-
-    The mode in which new files are created.
-
-      644 is read/write by you, and readable by everybody else.  600
-      is read/write by you, nobody else can read or write.
-
-  dcc_port = 0
-
-    The smallest port number that irssi will use when initiating DCC
-    requests.  Irssi picks a port at random when this is set to zero.
-
-    dcc_port can be two ports, separated by a space.  In that case,
-    irssi will pick a port between the two numbers, inclusively.  For
-    example:
-
-      /set dcc_port 10000 20000
-
-  dcc_autochat_masks =
-
-    Set dcc_autochat_masks with user masks to auto-accept chat
-    requests from.  When unset, irssi's auto-accept settings work for
-    everyone who tries to DCC chat you.  The drawbacks can range from
-    annoying through downright dangerous.  Use auto-accept with care.
-
-  dcc_mirc_ctcp = OFF
-
-    Tells irssi to send CTCP messages that are compatible with mIRC
-    clients.  This lets you use "/me" actions in DCC chats with mIRC
-    users, among other things.
-
-  dcc_autoaccept_lowports = OFF
-
-    When this setting is OFF, irssi will not auto-accept DCC requests
-    from privileged ports (those below 1024) even when auto-accept is
-    otherwise on.
-
-[flood]
-
-  autoignore_time = 5min
-
-    Irssi can auto-ignore people who are flooding.  autoignore_time
-    sets the amount of time to keep someone ignored.  Irssi will
-    automatically unignore them after this period of time has elapsed.
-
-  autoignore_level =
-
-    The type or types of messages that will trigger auto-ignore.
-
-  flood_max_msgs = 4
-  flood_timecheck = 8
-
-    Irssi will treat text as flooding if more than flood_max_msgs
-    messages are received during flood_timecheck seconds.  In the case
-    above, five or more messages matching autoignore_level over the
-    course of eight seconds will trigger flood protection.  See
-    autoignore_time to set the amount of time someone will remain
-    ignored if it's determined that they're flooding.
-
-  cmds_max_at_once = 5
-
-    How many commands you can send immediately before server-side
-    flood protection starts.
-
-    IRC servers also perform flood checking, and they will gleefully
-    disconnect you if you are abusing them.  The cmds_max_at_once
-    setting lets irssi know how many rapid messages it can get away
-    with while remaining under the IRC server's radar.
-
-  cmd_queue_speed = 2200msec
-
-    The time to wait between sending commands to an IRC server.  Used
-    to prevent irssi from flooding you off if you must auto-kick/ban
-    lots of people at once.
-
-  max_ctcp_queue = 5
-
-    The maximum number of pending CTCP requests to keep.  Requests
-    beyond max_ctcp_queue will be discarded.
-
-[history]
-
-  scrollback_save_formats = OFF
-
-    Turn on to save formats in the scrollback buffer, so that old
-    messages are not changed by new themes.  Turn off so the current
-    theme applies to your entire scrollback buffer.
-
-    Setting this to OFF doesn't seem to do anything, however.
-
-  scroll_page_count = /2
-
-    How many pages to scroll the scrollback buffer when pressing
-    page-up or page-down.  Expressed as a number of lines, or as a
-    fraction of the screen:
-
-      /2  = Scroll half a page.
-      .33 = Scroll about a third of a page.
-      4   = Scroll four lines.
-
-    <http://bugs.irssi.org/index.php?do=details&id=254> contains a
-    patch thet lets you specify a negative number to scroll "all but
-    this many" lines.  That is, -1 will scroll a full page minus one
-    line, for people who like that.
-
-  window_history = OFF
-
-    When turned ON, command history will be kept per-window.  When
-    off, irssi uses a single command history for all windows.
-
-  max_command_history = 100
-
-    The number of lines of your own input to keep for recall.
-
-  scrollback_time = 1day
-
-    Keep at least scrollback_time worth of messages in the scrollback
-    buffer, even if it means having more than scrollback_lines lines
-    in the buffer.
-
-  rawlog_lines = 200
-
-    Irssi's raw log is a buffer of raw IRC messages.  It's used for
-    debugging irssi and maybe some other things.  This setting tells
-    irssi how many raw messages to keep around.
-
-  scrollback_lines = 500
-
-    The maximum number of messages to keep in your scrollback history.
-    Set to 0 if you don't want to limit scrollback by a line count.
-    The scrollback_time setting will be used even if scrollback_lines
-    is zero.
-
-    Setting scrollback_lines to zero also seems to thwart the
-    scrollback_burst_remove optimization.
-
-  scrollback_burst_remove = 10
-
-    This is a speed optimization: Don't bother removing messages from
-    the scrollback buffer until the line limit has been exceeded by
-    scrollback_burst_remove lines.  This lets irssi do its memory
-    management in chunks rather than one line at a time.
-
-    TODO - Is this right?
-
-[log]
-
-  log_close_string = --- Log closed %a %b %d %H:%M:%S %Y
-
-    The message to log when logs are closed.
-
-    See Appendix C for the meanings of Irssi's time format codes.
-
-  log_timestamp = %H:%M
-
-    The time format for log timestamps.
-
-    See Appendix C for the meanings of Irssi's time format codes.
-
-  autolog_colors = OFF
-
-    Whether to save colors in autologs.  Colors make logs harder to
-    parse and grep, but they may be vital for channels that deal
-    heavily in ANSI art, or something.
-
-  autolog_level = all -crap -clientcrap -ctcps
-
-    The types of messages to auto-log.  See the autolog setting.
-
-  awaylog_colors = ON
-
-    Whether to store color information in /away logs.
-
-  log_day_changed = --- Day changed %a %b %d %Y
-
-    The message to log when a new day begins.
-
-    See Appendix C for the meanings of Irssi's time format codes.
-
-  autolog = OFF
-
-    Automatically log everything, or at least the types of messages
-    defined by autolog_level.
-
-  autolog_path = ~/irclogs/$tag/$0.log
-
-    The path where autolog saves logs.
-
-    See Appendix B for Irssi's special variables.  Irssi's special
-    variables can be used to do fancy things like daily log rotations.
-
-  awaylog_level = msgs hilight
-
-    The types of messages to log to awaylog_file while you're away.
-
-  awaylog_file = ~/.irssi/away.log
-
-    Where to log messages while you're away.
-    
-    I assume irssi's special variables also work here.  See Appendix B
-    for more information about them.
-
-  log_theme =
-
-    Logs can have a different theme than what you see on the screen.
-    This can be used to create machine-parseable versions of logs, for
-    example.
-
-  log_create_mode = 600
-
-    The permissions to use when creating log files.
-
-    600 is read/write by you, but nobody else can see them.  A
-    sensible default mode.  It can also be set to 644 if you want the
-    rest of the world to read your logs.
-
-  log_open_string = --- Log opened %a %b %d %H:%M:%S %Y
-
-    The message to log when a log is opened.
-
-    See Appendix C for the meanings of Irssi's time format codes.
-
-[lookandfeel]
-
-  show_names_on_join = ON
-
-    Display the list of names in a channel when you join that channel.
-    It's generally recommended, but you can disable it for
-    pathologically huge channels or in case you just don't care.
-
-  window_check_level_first = OFF
-  window_default_level = NONE
-
-    From irssi's ChangeLog:
-
-    Added /SET window_check_level_first and /SET window_default_level.
-    This allows you to keep all messages with specific level in it's
-    own window, even if it was supposed to be printed in channel
-    window.  patch by mike@po.cs.msu.su
-
-    Try to choose better the window where we print when matching by
-    level and multiple windows have a match.  Should fix problems with
-    query windows with a default msgs window + /SET
-    window_check_level_first ON.
-
-    Wouter Coekaerts has made a nice explanation about this, see
-    <http://wouter.coekaerts.be/site/irssi/wclf>
-
-  emphasis = ON
-
-    Enable or disable real underlining and bolding when someone says
-    *bold* or _underlined_.
-
-  autocreate_split_windows = OFF
-
-    Automatically created windows will be created as split windows
-    with this setting on.
-
-    Split windows are the kind where multiple windows are on one
-    screen.
-
-  beep_msg_level =
-
-    Beep when messages match this level mask.
-
-  actlist_moves = OFF
-
-    When on, irssi rearranges the activity list so windows with more
-    recent activity appear first.  Otherwise windows are listed in
-    numeric order.
-
-  hilight_nick_matches = ON
-
-    Tell irssi whether it should automatically highlight text that
-    matches your nickname.
-
-  emphasis_multiword = OFF
-
-    Turn on to allow *more than one word bold* and _multiple
-    underlined words_.  Used in conjunction with the emphasis setting.
-
-  hide_colors = OFF
-
-    Hide mIRC and ANSI colors when turned on.  This can be used to
-    eliminate "angry fruit salad" syndrome in some channels.
-
-  names_max_width = 0
-
-    Maximum number of columns to consume with a /names listing.
-    Overrides names_max_columns if non-zero.  Set to 0 for "as many as
-    fit in your terminal".
-
-  mirc_blink_fix = OFF
-
-    Some terminals interpret bright background colors as blinking
-    text.  mIRC doesn't support blinking at all.  This fixes the
-    blinky terminals by replacing high colors with their low
-    equivalents.
-
-    From irssi's ChangeLog:
-
-      /SET mirc_blink_fix - if ON, the bright/blink bit is stripped
-      from MIRC colors. Set this to ON, if your terminal shows bright
-      background colors as blinking.
-
-  autoclose_windows = ON
-
-    Automatically close windows when nobody is in them.  This keeps
-    your window list tidy, but it means that query windows may
-    rearrange as people log off then privately message you later.
-
-  bell_beeps = OFF
-
-    Tell irssi whether bell characters (chr 7, ^G) should actually
-    cause beeps.
-    
-    According to Nei, bell_beeps seems to cover the case where a beep
-    is caused by a printed message/format.  It's unrelated to activity
-    beeps.
-
-  hide_server_tags = OFF
-
-    Server tags are prefixes to some messages (server messages?) that
-    let you know which server the message came from.  They're often
-    considered noisy, so this option lets you hide them.
-
-  show_nickmode = ON
-
-    Prefix nicknames with their channel status:
-    
-      voiced  +
-      half-op %
-      op      @
-
-  theme = default
-
-    Irssi supports themes that can change most of the client's look
-    and feel.  This setting lets you name the theme you wish to use.
-
-  timestamps = ON
-
-    Turn timestamps on or off.  When off, not even timestamp_level
-    will trigger them.
-
-  indent = 10
-
-    How many columns to indent subsequent lines of a wrapped message.
-
-    Attention: This can be overwritten by themes.
-
-  timestamp_format = %H:%M
-
-    How to format the time used in timestamps.
-
-    See Appendix C for the meanings of Irssi's time format codes.
-
-  activity_msg_level = PUBLIC
-
-    Flag a channel as active when messages of this type are displayed
-    there.
-
-  print_active_channel = OFF
-
-    Always print the channel with the nickname (like <nick:channel>)
-    even if the message is from the channel you currently have active.
-
-  autoclose_query = 0
-
-    Automatically close query windows after autoclose_query seconds of
-    inactivity.  Setting autoclose_query to zero will keep them open
-    until you decide to close them yourself.
-
-  activity_hide_targets =
-
-    Sometimes you don't care at all about a channel's activity.  This
-    can be set to a list of channels that will never appear to be
-    active.
-
-  use_msgs_window = OFF
-
-    Use a single window for all private messages.  This setting only
-    makes sense if automatic query windows is turned off.
-
-  timestamp_timeout = 0
-
-    The amount of time to leave timestamps on after a timestamp_level
-    message triggered timestamping.  Useful for people who think
-    timestamps are noisy but would like timestamps for important
-    conversations.
-
-  use_status_window = ON
-
-    Create a separate window for all server status messages, so they
-    don't clutter up your channels.
-
-  windows_auto_renumber = ON
-
-    Closing windows can create gaps in the window list.  When
-    windows_auto_renumber is turned on, however, windows are shifted
-    to lower numbers in the list to fill those gaps.
-
-  show_nickmode_empty = ON
-
-    If a person has no channel modes, prefix their nickname with a
-    blank space.  This keeps nicknames of normal people aligned with
-    those of voiced, half-opped, and opped people.
-
-  beep_when_away = ON
-
-    Should beeps be noisy when you're /away?  Great for people who
-    sleep near their terminals or keep irssi running at work. :)
-
-  timestamp_level = ALL
-
-    Types of messages to prefix a timestamp to.  Useful for explicit
-    or automatic timestamps.
-    
-    Once timestamping is temporarily turned on, it may stay on for
-    timestamp_timeout seconds.
-
-  indent_always = OFF
-
-    Should we indent the long words that are forcibly wrapped to the
-    next line?  This can break long "words" such as URLs by inserting
-    spaces in the middle of them.
-
-    Turn off if you would like to copy/paste or otherwise use URLs
-    from your terminal.
-
-  hilight_color = %Y
-
-    The default color for /hilight.
-
-    See Appendix D for Irssi's color codes.
-
-  emphasis_replace = OFF
-
-    If emphasis is turned on, the * or _ characters indicating
-    emphasis will be removed when the word is made bold or underlined.
-    Some people find this looks cleaner.
-
-    See the emphasis setting for more information.
-
-  hilight_level = PUBLIC DCCMSGS
-
-    The types of messages that can be highlighted.
-
-  hilight_act_color = %M
-
-    The color to use to highlight window activity in the status bar.
-    That's the section that shows "[Act: ...]".
-
-    See Appendix D for Irssi's color codes.
-
-  expand_escapes = OFF
-
-    Detect escapes in input, and expand them to the characters they
-    describe.  For example
-
-      \t
-
-    Is literally '\' and 't' when expand_escapes is off, but it's the
-    tab character (chr 9) when expand_escapes is on.
-
-  autocreate_windows = ON
-
-    When on, create new windows for certain operations, such as /join.
-    When off, everything is just dumped into one window.
-
-  autocreate_query_level = MSGS DCCMSGS
-
-    Automatically create query windows when receiving these types of
-    messages.
-
-  term_auto_detach = OFF
-
-    Automatically detach from the terminal when it disappears.
-
-    This doesn't actually work.  Or if it does, there's currently no
-    way to re-attach to the terminal.  It may be useful for setting up
-    daemons where you don't want to run nohup or screen, however.
-
-  hide_text_style = OFF
-
-    Hide bold, blink, underline, and reverse attributes.
-
-  whois_hide_safe_channel_id = ON
-
-    Introduced in 0.8.10.
-
-    Hides the unique id of !channels in /whois output (IRCNet/irc2
-    networks only).
-
-    E.g. shows !channel instead of !12345channel
-
-  names_max_columns = 6
-
-    Maximum number of columns to use for /names listing.  Also shown
-    on channel join.  Set to 0 for "as many as fit in your terminal".
-
-  chanmode_expando_strip = OFF
-
-    When on, $M will not return mode parameters.
-
-    This means for example that the channel limit and channel key
-    won't be shown in your statusbar (a common place where $M is used)
-    (but also not in all other places that refer to $M for whatever
-    reason).
-
-  show_quit_once = OFF
-
-    When turned on, a quit message will only be shown once.  Otherwise
-    it will be displayed in every window you share with the quitter.
-
-  show_away_once = ON
-
-    When on, only show /away messages in the window that's currently
-    open.  Otherwise the message will appear in every window you share
-    with the away person.
-
-  autocreate_own_query = ON
-
-    Turn on to automatically create query windows when you /msg
-    someone.
-
-  term_charset = US-ASCII
-
-    Sets your native terminal character set.  Irssi will take this
-    into consideration when it needs to delete multibyte characters,
-    for example.
-
-    A common value is utf-8 for Unicode/UTF-8 enabled terminals.
-
-    TODO - Does this still support Chinese terminal emulators? (Used
-    to be term_type = big5 in old Irssi.)
-
-  activity_hilight_level = MSGS DCCMSGS
-
-    There are times when you want to highlight channel activity in a
-    window.  Like when someone sends you a private message, or a DCC
-    message.  Activity_highlight_level sets the kind of messages you
-    think are extra important.
-
-  autostick_split_windows = ON
-
-    TODO - What is this?
-
-    Nei says:  Setting split windows to stick means that their content
-    won't change.  Best thing to come up with a viable description
-    might be if you tried it.
-
-    f0rked has written an excellent guide to irssi's split windows:
-    <http://f0rked.com/articles/irssisplit>
-
-  query_track_nick_changes = ON
-
-    Query windows will track nick changes when this is on.  That is,
-    it looks for a matching user@host if a message comes in with an
-    unknown nick.
-
-    TODO - Really?
-
-  scroll = ON
-
-    Set scroll ON to have irssi scroll your screen when it fills up.
-    Set it OFF to require manual scrolling.
-
-    Warning: If set to OFF, this will stop scrolling in all windows
-    and not reenable scrolling even if you set it back to ON. (You
-    need to manually scroll to the bottom in each window first.)
-
-  window_auto_change = OFF
-
-    Turn this on to automatically switch to newly-created windows.
-    This may cause you to misdirect messages, so be careful.
-
-  beep_when_window_active = ON
-
-    Should beeps be noisy in a window you're watching?  Perhaps not,
-    since you are theoretically watching that window.  You ARE
-    watching it, aren't you?
-
-  activity_hide_level =
-
-    Message levels that don't count towards channel activity.  That
-    is, channels won't be marked as "active" if messages of these
-    types appear.
-
-  show_own_nickchange_once = OFF
-
-    Squash your own nick-change messages so they appear only once, not
-    once in every window you have on that network.
-
-  reuse_unused_windows = OFF
-
-    When set on, irssi will reuse unused windows when looking for a
-    new window to put something in.  Otherwise unused windows are
-    ignored, and new ones are always created.
-
-  colors = ON
-
-    Enable or disable colors.
-
-  term_force_colors = OFF
-
-    Always display colors, even when the terminal type says colors
-    aren't supported.  Useful for working around really dumb
-    terminals.
-
-  autofocus_new_items = ON
-
-    Switch the focus to a new item when it's created.  This may be
-    disturbing at first when combined with query window auto-creation,
-    and it may be downright dangerous if it causes you to accidentally
-    misdirect messages.
-
-[misc]
-
-  opermode =
-
-    When set, irssi will set your modes to match opermode when you
-    /oper up.  For example, you might
-
-      /set opermode +s 1048575
-
-  channel_max_who_sync = 1000
-
-    Introduced in 0.8.10.
-
-    The maximum number of users that may be in a channel for Irssi to
-    issue a
-
-      /who #channel
-
-    in order to obtain the hostmasks of every participant.
-
-    If this is set too high, IRC servers might kick you for "Sendq
-    exceeded".
-
-  recode_autodetect_utf8 = ON
-
-    Introduced in 0.8.10.
-
-    Irssi's recode system is broken.  This tries to cover up for it by
-    leaving messages intact that seem to decode fine as Unicode UTF-8.
-
-  lag_check_time = 1min
-
-    How long to wait between active lag checks.  Irssi will passively
-    check for lag when you're active, but sometimes it's necessary to
-    actively check.  This is the minimum amount of time between active
-    checks.
-
-  quit_message = leaving
-
-    Default message to send when /quit'ting.
-
-  paste_detect_time = 5msecs
-
-    Irssi will detect pastes when your input has less than this much
-    time between lines.
-
-  notify_check_time = 1min
-
-    How often to check for someone online when /notify is on.
-
-  help_path = /usr/local/share/irssi/help
-
-    One or more paths where irssi will look for its help database.
-    Multiple paths are separated by ":".  It's very important that
-    this is correct.
-
-  ctcp_userinfo_reply = $Y
-
-    The reply to send when someone queries your user information.  By
-    default, it's "$Y", which is defined by the real_name setting.
-
-    See <http://irssi.org/documentation/special_vars> for more special
-    variables you can use.
-
-  override_coredump_limit = ON
-
-    Allow really really big coredumps if this is set on.
-
-  join_auto_chans_on_invite = ON
-
-    Automatically join a channel when invited to it.
-
-    TODO - Does this only work with channels on the /channel add -auto
-    list?
-
-  netjoin_max_nicks = 10
-
-    When non-zero, limits the number of nicknames to display during
-    netjoins.
-
-    TODO - Is this correct?
-
-  paste_join_multiline = ON
-
-    Introduced in 0.8.10.
-
-    Irssi will try to concatenate multiple lines into a single lined
-    message when these lines have the same indentation level and
-    "look" like they were copied out of Irssi.
-
-    It's useful for quoting e-mail or other large-text messages, but
-    it will probably bite you if you try to pasted indented text, such
-    as code listings.  Irssi will join multiple lines of code,
-    destroying any structure you wanted to preserve.
-
-  channel_sync = ON
-
-    Set whether irssi should synchronize a channel on join.  When
-    enabled, irssi will gather extra information about a channel:
-    modes, who list, ban list, ban exceptions,  and invite list.
-
-  paste_detect_keycount = 5
-
-    Introduced in 0.8.10.
-
-    TODO - What's this?
-
-  recode_fallback = CP1252
-
-    Introduced in 0.8.10.
-
-    If you have Irssi compiled with recode support and Irssi believes
-    that a message you received did not recode properly in your
-    terminal default character set (or the specified one), it will
-    recode the message using this character set.
-
-    (CP1252, the irssi default, is the Microsoft(R) Windows default
-    character set for Western Europe.)
-
-    Also see /help recode for more details about recoding.
-
-  notify_idle_time = 1hour
-
-    Irssi will notify you when someone you're watching becomes idle
-    for this long.
-
-  massjoin_max_joins = 3
-
-    If nonzero, detect mass joins.  A mass join is when someone joins
-    more than massjoin_max_joins per massjoin_max_wait seconds.
-
-    TODO - Or is this when more than massjoin_max_joins people join
-    per massjoin_max_wait seconds, regardless of the user mask?
-
-  write_buffer_size = 0
-
-    Amount of text (logs, etc) to buffer in memory before writing to
-    disk.  Useful for minimizing disk access.
-
-  write_buffer_timeout = 0
-
-    Amount of time to keep text in memory.  A buffer is flushed to
-    disk if the text in it is this old, even if the buffer isn't full.
-
-    Useful in conjunction with really large write_buffer_size values,
-    to prevent a lot of text from being lost if irssi crashes or is
-    killed.
-
-  STATUS_OPER = *
-
-    TODO - What's this?
-
-  recode = ON
-
-    Introduced in 0.8.10.
-
-    This setting allows you to disable irssi's recode functionality,
-    if you prefer your messages not being messed with.
-
-  ban_type = normal
-
-    The default ban type to use: normal, user, host, domain, custom?
-    See "/help ban" for a description of ban types.
-
-  lag_max_before_disconnect = 5min
-
-    Irssi detects your lag and will reconnect you automatically if
-    your lag exceeds this value.
-
-  part_message =
-
-    Default message to send when parting a channel.
-
-  auto_whowas = ON
-
-    Automatically try /whowas if you /whois someone who isn't online.
-
-  paste_verify_line_count = 5
-
-    Ask you whether you meant to paste something if it's longer than
-    this many lines.
-
-  max_wildcard_modes = 6
-
-    When set nonzero, don't mass op/deop/kick more than this many
-    people.  Commands that let you do things to other nicks can take
-    wildcards.  For example
-
-      /kick floodbot* flooding
-
-    would kick everybody whose nickname began with "floodbot".  Unless
-    there were more than max_wildcard_modes of them.
-
-    This setting prevents you from embarassment like:
-
-      /kick *
-
-    You can specify "-yes" if you really want to do it:
-
-      /kick -yes *
-
-  hide_netsplit_quits = ON
-
-    Don't display quit messages if they're the product of a netsplit.
-    Some people find this helpful, while others find it creepy.
-
-  knockout_time = 5min
-
-    Knockouts are temporary kickbans.  Knockout_time is the default
-    amount of time before each temporary ban is lifted.
-
-    See /help knockout
-
-  massjoin_max_wait = 5000
-
-    The amount of time to watch for mass-joins.
-
-    I'm not sure which unit of time is used to measure
-    massjoin_max_wait.
-
-  lag_min_show = 1sec
-
-    Lag is a part of life on IRC.  Don't bother displaying lag that's
-    below this threshold, presumably because you consider it to be
-    insignificant.
-
-  wall_format = [Wall/$0] $1-
-
-    Format for wall messages.
-
-  netsplit_nicks_hide_threshold = 15
-
-    Limit the number of nicks to display during netsplits to this
-    many.  Or don't limit them at all, if this is set to 0.
-
-  settings_autosave = ON
-
-    Automatically save your settings when you quit irssi, or once per
-    hour, rather than waiting for you to /save them yourself.
-
-  translation =
-
-    Set the translation table to use.  See Appendix E.
-
-    TODO - Does this still work even?
-
-  group_multi_mode = ON
-
-    Consolidate multiple consecutive channel modes into a single
-    message.  This will delay the display of channel modes for a short
-    period of time while it waits to see if multiple modes are
-    occurring.
-
-  recode_out_default_charset =
-
-    Introduced in 0.8.10.
-
-    The outgoing character set you want your messags to be recoded
-    into, if different from your term_charset.
-
-  cmdchars = /
-
-    Prefix characters that tell irssi that your input is a command
-    rather than chat text.
-
-  notify_whois_time = 5min
-
-    How often to check /whois on a user who's online, to see if their
-    /away or idle status changes.
-
-  kick_first_on_kickban = OFF
-
-    Kickban will normally ban first, then kick.  Turn this option on
-    to reverse the situation, which can create a race condition if the
-    user rejoins between your kick and the subsequent ban.
-
-  recode_transliterate = ON
-
-    Introduced in 0.8.10.
-
-    If enabled, irssi tells iconv to try and replace characters that
-    don't recode well with similar looking ones that exist in the
-    target character set.
-
-    If disabled, irssi replaces the character it could not recode with
-    a "?" instead.
-
-  usermode = +i
-
-    Default modes to set yourself once you've connected to a server.
-
-  ignore_signals =
-
-    Operating system signals to ignore.  May be zero or more of: int,
-    quit, term, alrm, usr1, and usr2.
-
-  netsplit_max_nicks = 10
-
-    When non-zero, limits the number of nicknames to display during
-    netsplits.
-
-    TODO - Is this correct?
-
-  ctcp_version_reply = irssi v$J - running on $sysname $sysarch
-
-    What to tell someone when they query your client's version.
-    
-    Some people consider announcing your client and operating system
-    type and version to be a security hole.  Those people change this
-    setting.
-
-[perl]
-
-  perl_use_lib = /usr/local/perl-582/i386-freebsd
-
-    Which perl library to use, in case you have many to choose from.
-
-[proxy]
-
-  use_proxy = OFF
-
-    Tell irssi whether it should connect through a proxy server.
-
-  proxy_string = CONNECT %s %d
-
-    How to tell your proxy to initiate a connection.
-
-    I haven't found documentation for the codes used in proxy_string.
-
-    TODO - How do you tell irssi to connect through a proxy that
-    requires authentication?
-
-  proxy_string_after =
-
-    Text to send after setting NICK and USER through a proxy.
-
-  proxy_address =
-  proxy_port = 6667
-
-    The address and port of your IRC proxy.
-
-  proxy_password =
-
-    The password to use if the proxy requires authentication.
-
-[server]
-
-  server_connect_timeout = 5min
-
-    How long to wait for a connection to be established.
-
-    Be careful using very short timeouts.  Servers may recognize the
-    activity as abuse.
-
-  resolve_reverse_lookup = OFF
-
-    When connecting, resolve the server's IP address back into its
-    hostname.  Probably useful for figuring out exactly which server
-    you're on after resolving a round-robin host.
-
-  ssl_cacert =
-  ssl_cafile =
-  ssl_cert =
-  ssl_pkey =
-  ssl_verify = OFF
-  use_ssl = OFF
-
-    SSL options.  Set the certificates and keys, and stuff you'll use
-    to connect to a secure server.
-
-    TODO - Does verify work? If so, how?
-
-  hostname =
-
-    Your source hostname.  Useful when you're on a multi-host system,
-    and you want to look like you're connecting from a particular
-    host.
-
-    This setting tells irssi which IP to bind to.
-
-  user_name = $IRCUSER
-
-    Set your system user name.  This is used in times when you don't
-    have working ident.
-
-  resolve_prefer_ipv6 = OFF
-
-    Turn this option on to prefer using an ipv6 address when a host
-    has both ipv4 and ipv6 addresses.
-
-  nick = $IRCNICK
-
-    Your main, preferred nick.
-
-  alternate_nick =
-
-    An alternate nickname to use if your preferred one is already
-    taken.
-
-  real_name = $IRCNAME
-
-    Your "real" "name".
-
-  skip_motd = OFF
-
-    Turn this on to avoid displaying the server's message of the day.
-    Messages of the day are often noisy, and few people actually read
-    them, but they contain important information amongst the ASCII art
-    and song lyrics. :)
-
-  server_reconnect_time = 5min
-
-    How long to wait between reconnects to the same server.  Some
-    servers will k-line you if you reconnect too quickly, so be
-    careful setting this value lower.
-
-[servers]
-
-  channels_rejoin_unavailable = ON
-
-    Attempt to rejoin a channel if it's "temporarily unavailable".
-    Channels may be unavailable during netsplits.
-
------
-
-Appendix A: Levels
-
-Levels are categories of messages that can be ignored or otherwise
-matched.  Categories may be combined.  For example, you may want to
-ignore only private messages (MSG) from someone, or you might really
-hate them and ignore MSGS and PUBLIC.  Or even ALL.
-
-See "/help levels" for a better, probably more current explanation of
-the different kinds of levels irssi supports.  Meanwhile:
-
-  CRAP          - ?
-  MSGS          - Match messages privately sent to you.
-  PUBLIC        - Match messages sent to public channels.
-  NOTICES       - Match NOTICE messages.
-  SNOTES        - Match server notices.
-  CTCPS         - Match CTCP messages.
-  ACTIONS       - Match CTCP actions.
-  JOINS         - Match join messages.
-  PARTS         - Match part messages.
-  QUITS         - Match quit messages.
-  KICKS         - Match kick messages.
-  MODES         - Match mode changes.
-  TOPICS        - Match topic changes.
-  WALLOPS       - Match wallops.
-  INVITES       - Match invite requests.
-  NICKS         - Match nickname changes.
-  DCC           - DCC related messages.
-  DCCMSGS       - Match DCC chat messages.
-  CLIENTNOTICE  - Irssi's notices.
-  CLIENTCRAP    - Miscellaneous irssi messages.
-  CLIENTERROR   - Irssi's error messages.
-
-  ALL           - All previous message levels combined.
-
-  HILIGHT       - Match highlighted messages.
-  NOHILIGHT     - Don't check a message's highlighting.
-  NO_ACT        - Don't trigger channel activity.
-  NEVER         - Never ignore, never log.
-  LASTLOG       - Never ignore, never log.
-
------
-
-Appendix B: Special Variables and Expandos
-
-Several settings allow special variables.  These variables will be
-replaced by the text they represent at the time they're used.  Not at
-the time you set the setting!
-
-They are mostly used for formatting text in themes.
-
-From <http://irssi.org/documentation/special_vars> :
-
-  NOTE: This is just a slightly modified file taken from EPIC's help.
-
-  Special Variables and Expandos
-
-  Irssi supports a number of reserved, dynamic variables, sometimes
-  referred to as expandos.  They are special in that the client is
-  constantly updating their values automatically.  There are also
-  numerous variable modifiers available.
-
-     Modifier          Description
-     $variable         A normal variable, expanding to the first match
-                       | of:
-                       |  1) an internal SET variable
-                       |  2) an environment variable
-     $[num]variable    Expands to the variables value, with 'num' width.
-                       | If the number is negative, the value is
-                       | right-aligned.
-                       | The value is padded to meet the width with the
-                       | character given after number (default is
-                       | space).
-                       | The value is truncated to specified width
-                       | unless '!' character precedes the number. If
-                       | '.' character precedes the number the value
-                       | isn't padded, just truncated.
-     $#variable        Expands to the number of words in $variable. If
-                       | $variable is omitted, it assumes $*
-     $@variable        Expands to the number of characters in $variable.
-                       | if $variable is omitted, it assumes $*
-     $($subvariable)   This is somewhat similar to a pointer, in that
-                       | the value of $subvar is taken as the name of
-                       | the variable to expand to.  Nesting is allowed.
-     ${expression}     Permits the value to be embedded in another
-                       | string unambiguously.
-     $!history!        Expands to a matching entry in the client's
-                       | command history, wildcards allowed.
-
-  Whenever an alias is called, these expandos are set to the arguments
-  passed to it.  If none of these expandos are used in the alias, or
-  the $() form shown above, any arguments passed will automatically be
-  appended to the last command in the alias.
-
-     Expando   Description
-     $*        expands to all arguments passed to an alias
-     $n        expands to argument 'n' passed to an alias (counting from
-               zero)
-     $n-m      expands to arguments 'n' through 'm' passed to an alias
-     $n-       expands to all arguments from 'n' on passed to an alias
-     $-m       expands to all arguments up to 'm' passed to an alias
-     $~        expands to the last argument passed to an alias
-
-  These variables are set and updated dynamically by the client.  The
-  case of $A .. $Z is important.
-
-     Variable   Description
-     $,         last person who sent you a MSG
-     $.         last person to whom you sent a MSG
-     $:         last person to join a channel you are on
-     $;         last person to send a public message to a channel you
-                are on
-     $A         text of your AWAY message, if any
-     $B         body of last MSG you sent
-     $C         current channel
-     $D         last person that NOTIFY detected a signon for
-     $E         idle time
-     $F         time client was started, $time() format
-     $H         current server numeric being processed
-     $I         channel you were last INVITEd to
-     $J         client version text string
-     $K         current value of CMDCHARS
-     $k         first character in CMDCHARS
-     $L         current contents of the input line
-     $M         modes of current channel, if any
-     $N         current nickname
-     $O         value of STATUS_OPER if you are an irc operator
-     $P         if you are a channel operator in $C, expands to a '@'
-
-     $Q         nickname of whomever you are QUERYing
-     $R         version of current server
-     $S         current server name
-     $T         target of current input (channel or nick of query)
-     $U         value of cutbuffer
-     $V         client release date (format YYYYMMDD)
-     $W         current working directory
-     $X         your /userhost $N address (user@host)
-     $Y         value of REALNAME
-     $Z         time of day (hh:mm, can be changed with /SET
-                timestamp_format)
-     $$         a literal '$'
-
-     $versiontime         prints time of the irssi version in HHMM
-                          format
-     $sysname             system name (eg. Linux)
-     $sysrelease          system release (eg. 2.2.18)
-     $sysarch             system architecture (eg. i686)
-     $topic               channel topic
-     $usermode            user mode
-     $cumode              own channel user mode
-     $cumode_space        like $cumode, but gives space if there's no
-                          mode.
-     $tag                 server tag
-     $chatnet             chat network of server
-     $winref              window reference number
-     $winname             window name
-     $itemname            like $T, but use item's visible_name which may
-                          be different (eg. $T = !12345chan, $itemname =
-                          !chan)
-
-  For example, assume you have the following alias:
-
-     alias blah msg $D Hi there!
-
-  If /blah is passed any arguments, they will automatically be appended
-  to the MSG text.  For example:
-
-     /blah oops                      /* command as entered */
-     "Hi there! oops"                /* text sent to $D */
-
-  Another useful form is ${}.  In general, variables can be embedded
-  inside strings without problems, assuming the surrounding text could
-  not be misinterpreted as part of the variable name.  This form
-  guarantees that surrounding text will not affect the expression's
-  return value.
-
-     /eval echo foo$Nfoo             /* breaks, looks for $nfoo */
-     /eval echo foo${N}foo           /* ${N} returns current nickname */
-     fooYourNickfoo                  /* returned by above command */
-
------
-
-Appendix C: Time Formats
-
-Messages that describe times are formatted according to the strftime()
-function in C.  According to FreeBSD's strftime() man page, parts of
-the format represented with "%" and a letter code are expanded in the
-following ways.
-
-  %A    is replaced by national representation of the full weekday name.
-
-  %a    is replaced by national representation of the abbreviated
-         weekday name.
-
-  %B    is replaced by national representation of the full month name.
-
-  %b    is replaced by national representation of the abbreviated month
-         name.
-
-  %C    is replaced by (year / 100) as decimal number; single digits are
-         preceded by a zero.
-
-  %c    is replaced by national representation of time and date.
-
-  %D    is equivalent to ``%m/%d/%y''.
-
-  %d    is replaced by the day of the month as a decimal number (01-31).
-
-  %E* %O*
-         POSIX locale extensions.  The sequences %Ec %EC %Ex %EX %Ey %EY
-         %Od %Oe %OH %OI %Om %OM %OS %Ou %OU %OV %Ow %OW %Oy are
-         supposed to provide alternate representations.
-
-         Additionly %OB implemented to represent alternative months
-         names (used standalone, without day mentioned).
-
-  %e    is replaced by the day of month as a decimal number (1-31);
-         single digits are preceded by a blank.
-
-  %F    is equivalent to ``%Y-%m-%d''.
-
-  %G    is replaced by a year as a decimal number with century.  This
-         year is the one that contains the greater part of the week
-         (Monday as the first day of the week).
-
-  %g    is replaced by the same year as in ``%G'', but as a decimal
-         number without century (00-99).
-
-  %H    is replaced by the hour (24-hour clock) as a decimal number
-         (00-23).
-
-  %h    the same as %b.
-
-  %I    is replaced by the hour (12-hour clock) as a decimal number
-         (01-12).
-
-  %j    is replaced by the day of the year as a decimal number
-         (001-366).
-
-  %k    is replaced by the hour (24-hour clock) as a decimal number
-         (0-23); single digits are preceded by a blank.
-
-  %l    is replaced by the hour (12-hour clock) as a decimal number
-         (1-12); single digits are preceded by a blank.
-
-  %M    is replaced by the minute as a decimal number (00-59).
-
-  %m    is replaced by the month as a decimal number (01-12).
-
-  %n    is replaced by a newline.
-
-  %O*   the same as %E*.
-
-  %p    is replaced by national representation of either "ante meridiem"
-         or "post meridiem" as appropriate.
-
-  %R    is equivalent to ``%H:%M''.
-
-  %r    is equivalent to ``%I:%M:%S %p''.
-
-  %S    is replaced by the second as a decimal number (00-60).
-
-  %s    is replaced by the number of seconds since the Epoch, UTC (see
-         mktime(3)).
-
-  %T    is equivalent to ``%H:%M:%S''.
-
-  %t    is replaced by a tab.
-
-  %U    is replaced by the week number of the year (Sunday as the first
-         day of the week) as a decimal number (00-53).
-
-  %u    is replaced by the weekday (Monday as the first day of the week)
-         as a decimal number (1-7).
-
-  %V    is replaced by the week number of the year (Monday as the first
-         day of the week) as a decimal number (01-53).  If the week
-         containing January 1 has four or more days in the new year,
-         then it is week 1; otherwise it is the last week of the
-         previous year, and the next week is week 1.
-
-  %v    is equivalent to ``%e-%b-%Y''.
-
-  %W    is replaced by the week number of the year (Monday as the first
-         day of the week) as a decimal number (00-53).
-
-  %w    is replaced by the weekday (Sunday as the first day of the week)
-         as a decimal number (0-6).
-
-  %X    is replaced by national representation of the time.
-
-  %x    is replaced by national representation of the date.
-
-  %Y    is replaced by the year with century as a decimal number.
-
-  %y    is replaced by the year without century as a decimal number
-         (00-99).
-
-  %Z    is replaced by the time zone name.
-
-  %z    is replaced by the time zone offset from UTC; a leading plus
-         sign stands for east of UTC, a minus sign for west of UTC,
-         hours and minutes follow with two digits each and no delimiter
-         between them (common form for RFC 822 date headers).
-
-  %+    is replaced by national representation of the date and time (the
-         format is similar to that produced by date(1)).
-
-  %%    is replaced by `%'.
-
------
-
-Appendix D: Color Codes
-
-Irssi defines codes to represent colors.  They work like the
-strftime() codes in Appendix C.
-
-From <http://irssi.org/documentation/formats> :
-
-  Irssi's colors that you can use in text formats, hilights, etc. :
-
-                          text            text            background
-  ---------------------------------------------------------------------
-  %k      %K      %0      black           dark grey       black
-  %r      %R      %1      red             bold red        red
-  %g      %G      %2      green           bold green      green
-  %y      %Y      %3      yellow          bold yellow     yellow
-  %b      %B      %4      blue            bold blue       blue
-  %m      %M      %5      magenta         bold magenta    magenta
-  %p      %P              magenta (think: purple)
-  %c      %C      %6      cyan            bold cyan       cyan
-  %w      %W      %7      white           bold white      white
-  %n      %N              Changes the color to "default color", removing
-                          all other coloring and formatting. %N is
-                          always the terminal's default color. %n is
-                          usually too, except in themes it changes to
-                          "previous color", ie. hello = "%Rhello%n" and
-                          "%G{hello} world" would print hello in red,
-                          and %n would turn back into %G making world
-                          green.
-  %F                      Blinking on/off (think: flash)
-  %U                      Underline on/off
-  %8                      Reverse on/off
-  %9      %_              Bold on/off
-  %:                      Insert newline
-  %|                      Marks the indentation position
-  %#                      Monospace font on/off (useful with lists and
-                          GUI)
-  %%                      A single %
-
-  In .theme files %n works a bit differently. See default.theme for more
-  information.
-
------
-
-Appendix E comes directly from
-<http://irc.fu-berlin.de/irc/help/SET/TRANSLATION.html> :
-
-  Usage: SET TRANSLATION <character translation table>
-
-  The TRANSLATION variable defines a character translation table.  By
-  default, ircII assumes that all text processed over the network is
-  in the ISO 8859/1 map, also known as Latin-1.  This is identical to
-  standard ASCII, except that it is extended with additional
-  characters in the range 128-255.  Many environments by default use
-  the Latin-1 map, such as X Windows, MS Windows, AmigaDOS, and modern
-  ANSI terminals including Digital VT200, VT300, VT400 series and
-  MS-Kermit.  However, many older environments use non-standard
-  extensions to ASCII, and yet others use 7-bit national replacement
-  sets.
-
-  Some available settings for the TRANSLATION variable:
-
-  8-bit sets:
-    CP437               Old IBM PC, compatibles and Atari ST.
-    CP850               New IBM PC compatibles and IBM PS/2.
-    DEC_MCS             DEC Multinational Character Set.
-                        VAX/VMS.  VT320's and other 8-bit
-                        Digital terminals use this set by
-                        default, but I recommend changing to
-                        Latin-1 in the terminal Set-Up.
-    DG_MCS              Data General Multinational Character Set.
-    HP_MCS              Hewlett Packard Extended Roman 8.
-    LATIN_1             ISO 8859/1.  Default.
-    MACINTOSH           Apple Macintosh computers and boat
-                        anchors.
-    NEXT                NeXT.
-
-  7-bit sets:
-    ASCII               ANSI ASCII, ISO Reg. 006.  For American
-                        terminals in 7-bit environments.  Use
-                        this one if everything else fails.
-    DANISH              Norwegian/Danish.
-    DUTCH               Dutch.
-    FINNISH             Finnish.
-    FRENCH              ISO French, ISO Reg. 025.
-    FRENCH_CANADIAN     French in Canada.
-    GERMAN              ISO German, ISO Reg. 021.
-    IRV                 International Reference Version, ISO
-                        Reg. 002.  For use pedantic in ISO 646
-                        environments.
-    ITALIAN             ISO Italian, ISO Reg. 015.
-    JIS                 JIS ASCII, ISO Reg. 014.  Japanese
-                        ASCII hybrid.
-    NORWEGIAN_1         ISO Norwegian, Version 1, ISO Reg. 060.
-    NORWEGIAN_2         ISO Norwegian, Version 2, ISO Reg. 061.
-    PORTUGUESE          ISO Portuguese, ISO Reg. 016.
-    PORTUGUESE_COM      Portuguese on Digital terminals.
-    RUSSIAN             Russian
-    RUSSIAN_ALT         Alternative Russian.
-    SPANISH             ISO Spanish, ISO Reg. 017.
-    SWEDISH             ISO Swedish, ISO Reg. 010.
-    SWEDISH_NAMES       ISO Swedish for Names, ISO Reg. 011.
-    SWEDISH_NAMES_COM   Swedish.  Digital, Hewlett Packard.
-    SWISS               Swiss.
-    UNITED_KINGDOM      ISO United Kingdom, ISO Reg. 004.
-    UNITED_KINGDOM_COM  United Kingdom on DEC and HP terminals.
-
-  Please forward any extra translation tables to the ircII development
-  team by using the ircbug utility that comes with the package, or,
-  failing that, sending mail to ircii-bugs@eterna.com.au directly.
-
------
-
-Copyright & License.
-
-The original portions of this document are Copyright 2005 by Rocco
-Caputo <rcaputo@cpan.org> and Nei (on irc.freenode.net #irssi).  Other
-portions are Copyright by their respective authors or licensors.
-
-This work is licensed under a Creative Commons Attribution-ShareAlike
-2.5 License.  Please see http://creativecommons.org/licenses/by-sa/2.5/
-for details.  Summary:
-
-  You are free:
-
-    * to copy, distribute, display, and perform this work
-    * to make derivative works
-    * to make commercial use of this work
-
-  Under the following conditions:
-
-    Attribution.  You must attribute the work in the manner specified
-    by the author or licensor.
-
-    Share Alike.  If you alter, transform, or build upon this work,
-    you may distribute the resulting work only under a license
-    identical to this one.
-
-  * For any reuse or distribution, you must make clear to others the
-  license terms of this work.
-  * Any of these conditions can be waived if you get permision from
-  the copyright holder.
-
-  Your fair use and other rights are in no way affected by the above.
-
-Sorry for the heavy license crap.  Coekie wanted clarification.
-
-END
git clone https://git.99rst.org/PROJECT