diff options
| author | ailin-nemui | 2016-04-27 13:42:33 +0200 |
|---|---|---|
| committer | ailin-nemui | 2016-04-27 13:42:33 +0200 |
| commit | 6455a8e468e35fff13e4587ea720266aa77ef70e (patch) | |
| tree | da853297a7669e9aa7ad4f7136d180f160777b6c /scripts | |
| parent | 4667723f748700c7fca75fd9f7f0320bd3093135 (diff) | |
| parent | d18d268c1e8dd074267f65e5a9841e2e32a890f1 (diff) | |
| download | scripts.irssi.org-6455a8e468e35fff13e4587ea720266aa77ef70e.tar.bz2 | |
Merge pull request #266 from ailin-nemui/settings
Add settingshelp
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/settingshelp.pl | 1777 |
1 files changed, 1777 insertions, 0 deletions
diff --git a/scripts/settingshelp.pl b/scripts/settingshelp.pl new file mode 100644 index 0000000..85b9bb1 --- /dev/null +++ b/scripts/settingshelp.pl @@ -0,0 +1,1777 @@ +use strict; +use warnings; + +our $VERSION = '0.8.10'; # 865d608a5aa6332 +our %IRSSI = ( + authors => 'Rocco Caputo (dngor), Nei', + contact => 'rcaputo@cpan.org, Nei @ anti@conference.jabber.teamidiot.de', + name => 'settingshelp', + description => "Irssi $VERSION settings notes and documentation", + license => 'CC BY-SA 2.5, http://creativecommons.org/licenses/by-sa/2.5/', + ); + +# Usage +# ===== +# Now you can do: +# +# /help set setting_here +# +# to print out its documentation (as far as it was included in the +# Irssi 0.8.18 settings notes) + +# NOTE +# ==== +# the original settings.text is included in a heredoc string at the +# end of this script. + +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; + } + if ($header || $license) { + print CLIENTCRAP $_; + } +} + +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}}; + Irssi::signal_stop; + } + } + ); +Irssi::signal_register({'complete command ' => [qw[glistptr_char* Irssi::UI::Window string string intptr]]}); +Irssi::signal_add_last( + "complete command help" => sub { + my ($cl, $win, $word, $start, $ws) = @_; + if (lc $start eq 'set') { + &Irssi::signal_continue; + Irssi::signal_emit('complete command set', $cl, $win, $word, '', $ws); + } + } + ); + +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 |
