---
name: "tin"
section: "5"
platform: "linux"
package: "tin"
version: "1:2.6.5~20250409-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/tin/5"
---

# tin(5)

related files

## NAME

tin, rtin - related files

## DESCRIPTION

This man page describes the various (config) files and their formats used by the [**tin**(1)](/tin/1.md) newsreader. All files are expected to have unix style ('\\n' aka LF) line endings.

## FILES

*$MAILCAPS*\
 *~/.mailcap*\
 */etc/mailcap*\
 */usr/etc/mailcap*\
 */usr/local/etc/mailcap*\
 */etc/mail/mailcap*

[**mailcap**(5)](/mailcap/5.md) files as defined in **RFC1524**. The mailcap files are read by [**tin**(1)](/tin/1.md) to determine how to display non-text messages at the local site. Any line that starts with "#" is a comment. Blank lines are ignored. Otherwise, each line defines a single mailcap entry for a single content type. Long lines may be continued by ending them with a backslash character, "\\".

Each individual mailcap entry consists of a content-type specification, a command to execute, and (possibly) a set of optional "flag" values.

The "type" field is simply any valid content type name. It is the string that will be matched against the ''Content-Type:'' header to decide if this is the mailcap entry that matches the current message. Additionally, the type field may specify a subtype or a wildcard to match all subtypes.

The "command" field is any UNIX command and is used to specify the interpreter for the given type of message. It will be passed to the shell via the [**system**(3)](/system/3.md) facility.

Semicolons and backslashes within the command or any flag field must be quoted with backslashes. If the field contains "%s", those two characters will be replaced by the name of a file that contains the body of the message. If it contains "%t", those two characters will be replaced by the content-type field, including the subtype, if any. If it contains "%{" followed by a parameter name and a closing "}", then all those characters will be replaced by the value of the named parameter, if any, from the ''Content-Type:'' header. Finally, if the field contains "\\%", those two characters will be replaced by a single "%" character.

Besides the type and command field the following "flags" are defined:

- **compose**

  The "compose" field may be used to specify a program that can be used to compose a new body or body part in the given format. Its intended use is to support mail composing agents that support the composition of multiple types of mail using external composing agents. As with the view-command, the semantics of program execution are operating system dependent. The result of the composing program may be data that is not yet suitable for mail transport — that is, a Content-Transfer-Encoding may need to be applied to the data.

- **composetyped**

  The "composetyped" field is similar to the "compose" field, but is to be used when the composing program needs to specify the ''Content-Type:'' header field to be applied to the composed data. The "compose" field is simpler, and is preferred for use with existing (non-mail-oriented) programs for composing data in a given format. The "composetyped" field is necessary when the Content-Type information must include auxiliary parameters, and the composition program must then know enough about mail formats to produce output that includes the mail type information.

- **edit**

  The "edit" field may be used to specify a program that can be used to edit a body or body part in the given format. In many cases, it may be identical in content to the "compose" field, and shares the operating-system dependent semantics for program execution.

- **print**

  The "print" field may be used to specify a program that can be used to print a message or body part in the given format. As with the view-command, the semantics of program execution are operating system dependent.

- **test**

  The "test" field may be used to test some external condition (e.g., the machine architecture, or the window system in use) to determine whether or not the mailcap line applies. It specifies a program to be run to test some condition. The semantics of execution and of the value returned by the test program are operating system dependent. If the test fails, a subsequent mailcap entry should be sought. Multiple test fields are not permitted — since a test can call a program, it can already be arbitrarily complex.

- **needsterminal**

  The "needsterminal" field indicates that the view-command must be run on an interactive terminal. This is needed to inform window-oriented user agents that an interactive terminal is needed. (The decision is not left exclusively to the view-command because in some circumstances it may not be possible for such programs to tell whether or not they are on interactive terminals.) The needsterminal command should be assumed to apply to the compose and edit commands, too, if they exist. Note that this is NOT a test – it is a requirement for the environment in which the program will be executed, and should typically cause the creation of a terminal window when not executed on either a real terminal or a terminal window.

- **copiousoutput**

  The "copiousoutput" field indicates that the output from the view-command will be an extended stream of output and is to be interpreted as advice to the UA (User Agent mail-reading program) that the output should be either paged or made scroll-able. Note that it is probably a mistake if needsterminal and copiousoutput are both specified.

- **description**

  The "description" field simply provides a textual description, optionally quoted, that describes the type of data, to be used optionally by mail readers that wish to describe the data before offering to display it.

- **textualnewlines**

  The "textualnewlines" field, if set to any nonzero value, indicates that this type of data is line-oriented and that, if encoded in base64, all newlines should be converted to canonical form (CRLF) before encoding, and will be in that form after decoding. In general, this field is needed only if there is line-oriented data of some type other than text/\* or non-line-oriented data that is a subtype of text.

- **x11-bitmap**

  The "x11-bitmap" field names a file, in X11 bitmap (xbm) format, which points to an appropriate icon to be used to visually denote the presence of this kind of data.

- **nametemplate**

  The "nametemplate" field gives a filename format, in which %s will be replaced by a short unique string to give the name of the temporary file to be passed to the viewing command. This is only expected to be relevant in environments where filename extensions are meaningful, e.g., one could specify that a GIF file being passed to a gif viewer should have a name ending in ".gif" by using "nametemplate=%s.gif".

[**tin**(1)](/tin/1.md) currently only respects the "test", "description", "nametemplate" and partly the "needsterminal" flags, all other flags are internally ignored. It also can't handle the "%F" and "%n" expansions yet.

- Example:

  ```
  # mailcap file example
  image/*;\
  xv -8 -geometry +0 '%s';\
  description=%{name} %t-Image;\
  test=test "$DISPLAY" != "";\
  nametemplate=%s.IMAGE

  message/rfc822;\
  ${PAGER:-"more"} '%s';\
  edit=${EDITOR:-"vi"} '%s';\
  compose=${EDITOR:-"vi"} '%s';\
  print=a2ps '%s';\
  needsterminal
  ```

*/etc/news/server*

default NNTP-server to read news from if not reading from the local spool. '**-g** *server*', $**NNTPSERVER** have higher priority (in that order), the default server given at compile time has lower priority.

*${TIN\_HOMEDIR:-"$HOME"}/.cancelsecret*

secret to be used for cancel-locks if [**tin**(1)](/tin/1.md) is built with support for it. An empty secret file disables the cancel-lock creation in that case. This file should be readable only by the user.

*${TIN\_HOMEDIR:-"$HOME"}/.mime.types*\
 */etc/mime.types*\
 */etc/tin/mime.types*

mime type / filename extension pairs

*${TIN\_HOMEDIR:-"$HOME"}/.newsauth*

"*nntpserver\[:port\]* *password* \[*user*\]" pairs for NNTP servers that require authorization. If the password contains a space or a tab it must be enclosed in double quotes ("). Usernames must not be enclosed in double quotes and thus can't contain spaces or tabs. Any line that starts with "#" is a comment. Blank lines are ignored. This file should be readable only for the user as it contains the user's unencrypted password for reading news!

- **nntpserver**

  full qualified domain name of the news server. Additionally, a port can be specified by appending :portnumber.

- **password**

  user's unencrypted password for reading news.

- **user**

  username on the news server if it differs from the local login. This field is optional.

- Example:

  \# sample .newsauth file\
   news.example.org  secret\
   news.example.net  arcane  guest\
   news.example.com  "top secret"  james.bond@example.com

*${TIN\_HOMEDIR:-"$HOME"}/.newsrc*

"*newsgroupflag* \[*article*\[,*article* \| -*article*\]...\]" lines.

- **newsgroup**

  the name of the newsgroup.

- **flag**

  a flag indicating if the group is subscribed ':' or not '!'.

- **article**

  range of already read articles from that group; numbers separated by commas with sequential numbers collapsed with hyphens. Empty lines and lines which start with "#" are ignored and not written back.

- Example:

  \# sample .newsrc file\
   news.software.b! 1–666,669\
   news.software.nntp: 1–13245,13247,13249\
   news.software.readers: 1–19567,19571–19597

```
${TIN_HOMEDIR:-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/.oldnewsrc
```

backup of *${TIN\_HOMEDIR:-"$HOME"}/.newsrc*

*${TIN\_HOMEDIR:-"$HOME"}/.signature*\
 *${TIN\_HOMEDIR:-"$HOME"}/.Sig*

signature

*${TIN\_HOMEDIR:-"$HOME"}/.sigfixed*

fixed part of a randomly generated signature, this will be added first

*${TIN\_HOMEDIR:-"$HOME"}/.tin/.inputhistory*

history of last used strings

*${TIN\_INDEX\_MAILDIR:-"${TIN\_HOMEDIR:-"$HOME"}/.tin"}/.mail/*

mailgroups index files

```
${TIN_INDEX_NEWSDIR:-"${TIN_HOMEDIR:-"$HOME"}/.tin"}/.news${NNTPSERVER:+"-$NNTPSERVER"}/
```

newsgroups index files

*${TIN\_INDEX\_SAVEDIR:-"${TIN\_HOMEDIR:-"$HOME"}/.tin"}/.save/*

saved newsgroups index files

*${TIN\_HOMEDIR:-"$HOME"}/.tin/active.mail*

active file ("*mailgroupname* *maxnum* *minnum* *mailspool*" quadruples) of user's mailgroups (requires [**tin**(1)](/tin/1.md) to be built with mh-mail-handling support).

- **mailgroupname**

  must be the pathname of the mailbox relative to field #4 with '/' changed to '.'

- **maxnum**

  just put a large number here, something higher than the highest message in the mailbox

- **minnum**

  put 0 here

- **mailspool**

  path of mail spool directory. This must be the full pathname to the root of the mail folder area.

- Example:

  Mail.inbox  12345 00000 /home/foo\
   Mail.outbox 23456 00000 /home/foo

  This allows access to the 'inbox' and 'outbox' folders of user foo. They are accessed via /home/foo/Mail/inbox and /home/foo/Mail/outbox

*${TIN\_HOMEDIR:-"$HOME"}/.tin/active.save*

active file of user's saved newsgroups, used by **tin -R**.

*/etc/tin/attributes*\
 *${TIN\_HOMEDIR:-"$HOME"}/.tin/attributes*

The group attributes files may be used to override some global settings from *${TIN\_HOMEDIR:-"$HOME"}/.tin/tinrc* on a per group basis. Order is important as last match counts; this allows one to refine attributes for narrowed scopes. Note that the *scope=\<grouplist\>* line has to be specified before the attributes are specified for that list and each attribute can only be set once per scope section. All attributes are set to a reasonable default so you only have to specify the attribute that you want to change. All toggle attributes are set by specifying ON/OFF. Otherwise, they function exactly as their global equivalents. The following group attributes are available:

- **scope**

  This changes the list of groups to which the attributes that follow will be applied. See the section NEWSGROUP LISTS & WILDCARDS in [**tin**(1)](/tin/1.md) for the types of pattern that can be used here.

- **add\_posted\_to\_filter**

  Identical to the tinrc variable of the same name

- **advertising**

  Identical to the tinrc variable of the same name

- **alternative\_handling**

  Identical to the tinrc variable of the same name

- **ask\_for\_metamail**

  Identical to the tinrc variable of the same name

- **auto\_cc\_bcc**

  Identical to the tinrc variable of the same name

- **auto\_list\_thread**

  Identical to the tinrc variable of the same name

- **auto\_select**

  Automatically perform the **GroupMarkUnselArtRead** ('**X**') command after entering the group.

- **batch\_save**

  Can be used to override the global setting in tinrc on a per group basis. For more information read section AUTOMATIC MAILING AND SAVING NEW NEWS in [**tin**(1)](/tin/1.md).

- **date\_format**

  Identical to the tinrc variable of the same name

- **delete\_tmp\_files**

  If this is set to ON, then saved article files that have been post-processed will be automatically deleted, otherwise the user will be asked whether to delete the post-processed files. Automatic processing of marked articles using **GroupAutoSave** ('**S**') will suppress prompting.

- **editor\_format**

  Identical to the tinrc variable of the same name

- **extquote\_handling**

  Identical to the tinrc variable of the same name

- **fcc**

  Mailbox to save sent mails. The format of the mailbox is controlled via the tinrc **mailbox\_format** variable.

- **followup\_to**

  Set ''Followup-To:'' header to the specified group(s).

- **from**

  Identical to the tinrc variable **mail\_address**

- **group\_catchup\_on\_exit**

  Identical to the tinrc variable of the same name

- **group\_format**

  Identical to the tinrc variable of the same name

- **mail\_8bit\_header**

  Identical to the tinrc variable of the same name

- **mail\_mime\_encoding**

  Identical to the tinrc variable of the same name

- **maildir**

  Identical to the tinrc variable of the same name

- **mailing\_list**

  Used when a group is a mailing list. All responses to the group will be directed to this email address instead

- **mark\_ignore\_tags**

  Identical to the tinrc variable of the same name

- **mark\_saved\_read**

  Identical to the tinrc variable of the same name

- **mime\_forward**

  Determines whether usenet articles are forwarded as attachment or inline. When set to OFF, the forwarded article will be included in the body of the mail, while setting this variable to ON will cause the article to be attached as a separate MIME part. Enabling **mime\_forward** is particularly useful for articles consisting of multiple MIME parts such as PGP/MIME signed messages or being encoded in a different character set than your local one. It is also useful if the receiver should be able to operate on the entire forwarded article (i.e., view or save it without your comments). On the other hand, if you want to forward only some parts of the article or to insert 'inline' annotations, you might want to disable this option. Currently mime\_forward is forced if the article to be attached is a multipart MIME article, this may change in a future version. Please note that for this option to have effect, the tinrc variable **interactive\_mailer** has to be set to 0 (which is the default).

- **mime\_types\_to\_save**

  A comma separated list of MIME major/minor Content-Types that will be saved when using the view/save and save/autosave features. A single \* can be used to wildcard the major and/or minor type and a ! as the first character in an entry will negate it, eg: image/\*,!image/bmp,!text/html. Default is \*/\*

- **news\_headers\_to\_display**

  Identical to the tinrc variable of the same name

- **news\_headers\_to\_not\_display**

  Identical to the tinrc variable of the same name

- **news\_quote\_format**

  Identical to the tinrc variable of the same name

- **organization**

  This can be used to set the article header field ''Organization:''. It overrides the setting (if any) of organization in */etc/tin/tin.defaults* and $**ORGANIZATION** (or $**NEWSORG** on Apollo DomainOS). If it points to a readable file a random line from that file will be used. Note that some news servers might still overwrite the ''Organization:'' header.

- **pos\_first\_unread**

  Identical to the tinrc variable of the same name

- **post\_8bit\_header**

  Identical to the tinrc variable of the same name

- **post\_mime\_encoding**

  Identical to the tinrc variable of the same name

- **post\_process\_type**

  Identical to the tinrc variable of the same name

- **post\_process\_view**

  Identical to the tinrc variable of the same name

- **print\_header**

  Identical to the tinrc variable of the same name

- **process\_only\_unread**

  Identical to the tinrc variable of the same name

- **prompt\_followupto**

  Identical to the tinrc variable of the same name

- **quote\_chars**

  Identical to the tinrc variable of the same name

- **savedir**

  Identical to the tinrc variable of the same name

- **savefile**

  - **show\_art\_score**

  Identical to the tinrc variable of the same name

- **show\_author**

  Identical to the tinrc variable of the same name

- **show\_only\_unread\_arts**

  Identical to the tinrc variable of the same name

- **show\_signatures**

  Identical to the tinrc variable of the same name

- **sigdashes**

  Identical to the tinrc variable of the same name

- **sigfile**

  Identical to the tinrc variable of the same name

- **signature\_repost**

  Identical to the tinrc variable of the same name

- **sort\_article\_type**

  Identical to the tinrc variable **sort\_article\_type**

- **sort\_threads\_type**

  Identical to the tinrc variable of the same name

- **tex2iso\_conv**

  Identical to the tinrc variable of the same name

- **thread\_articles**

  Identical to the tinrc variable of the same name

- **thread\_catchup\_on\_exit**

  Identical to the tinrc variable of the same name

- **thread\_format**

  Identical to the tinrc variable of the same name

- **thread\_perc**

  Identical to the tinrc variable of the same name

- **trim\_article\_body**

  Identical to the tinrc variable of the same name

- **suppress\_soft\_hyphens**

  Identical to the tinrc variable of the same name

- **verbatim\_handling**

  Identical to the tinrc variable of the same name

- **wrap\_on\_next\_unread**

  Identical to the tinrc variable of the same name

- **x\_body**

  A piece of text that will be added at the start of a message body. If this string starts with a / or ~ then it is assumed to be the name of a file containing the text to insert. If the string starts with a ! then what follows is assumed to be the path to a program to be executed to generate the content. %G is expanded to the current news.group.name and %P is expanded to the news.group.name with all '.' replaced by '/'.

- **x\_comment\_to**

  Insert ''X-Comment-To:'' header, this is only useful in FIDO groups.

- **x\_headers**

  A string including header-name and the contents of the header that will be automatically added when posting. If the string starts with a / or ~ then it is assumed to be the name of a file containing the header and its content to be inserted. If the string starts with a ! then what follows is assumed to be the path to a program to be executed to generate the header and its content. %G is expanded to the current news.group.name and %P is expanded to the news.group.name with all '.' replaced by '/'.

- **quick\_kill\_scope**

  A comma-separated list of newsgroup patterns (wildmat-style) to which groups the filter rule added by **QuickFilterKill** will be applied. If unset the default from the tinrc variable **default\_filter\_kill\_global** will be used.

- **quick\_kill\_expire**

  Identical to the tinrc variable **default\_filter\_kill\_expire**

- **quick\_kill\_case**

  Identical to the tinrc variable **default\_filter\_kill\_case**

- **quick\_kill\_header**

  Identical to the tinrc variable **default\_filter\_kill\_header**

- **quick\_select\_scope**

  A comma-separated list of newsgroup patterns (wildmat-style) to which groups the filter rule added by **QuickFilterSelect** will be applied. If unset the default from the tinrc variable **default\_filter\_select\_global** will be used.

- **quick\_select\_expire**

  Identical to the tinrc variable **default\_filter\_select\_expire**

- **quick\_select\_case**

  Identical to the tinrc variable **default\_filter\_select\_case**

- **quick\_select\_header**

  Identical to the tinrc variable **default\_filter\_select\_header**

- **ispell**

  Path and options for [**ispell**(1)](/ispell/1.md)-like spell-checker, e.g., "aspell --mode=email --dont-backup check"

- **mm\_network\_charset**

  Identical to the tinrc variable of the same name

- **undeclared\_charset**

  Assume (broken) articles without MIME charset declaration have this charset — default is US-ASCII. This attribute works only on systems with working [**iconv**(3)](/iconv/3.md) or **ucnv\_\***(), others might have to compile [**tin**(1)](/tin/1.md) with --disable-mime-strict-charset.

- **undeclared\_cs\_guess**

  Guess charset for (broken) articles without MIME charset declaration. This attribute works only on systems with working [**iconv**(3)](/iconv/3.md) or **ucnv\_\***() and **ucsdet\_getName**() from libicui18n. It has no effect if undeclared\_charset is also set.

- Example:

  ```
  # include extra headers
  # assume ISO-8859-1 as charset if no charset is declared
  # in all but fido7.* groups
  scope=*,!fido7.*
  x_headers=~/.tin/headers
  undeclared_charset=ISO-8859-1
  # in *sources* set post process type to shar only
  scope=*sources*
  post_process_type=1
  # in *binaries* turn on full post processing,
  # remove tmp files and set Followup-To: poster
  scope=*binaries*
  post_process_type=2
  delete_tmp_files=ON
  followup_to=poster
  # in fido.* newsgroups change quote_chars
  # and add X-Comment-To: line
  scope=fido.*
  quote_chars=%I>_
  x_comment_to=ON
  # in fido7.* newsgroups guess charset
  scope=fido7.*
  undeclared_cs_guess=ON
  # in *.test newsgroups, don't append signature
  # and preset Subject
  scope=*.test
  sigfile=--none
  x_headers=Subject: test - ignore - no reply
  # assume ISO-2022-JP-2 as charset
  scope=fj.*,japan.*
  undeclared_charset=ISO-2022-JP-2
  ```

*${TIN\_HOMEDIR:-"$HOME"}/.tin/filter*

The filter file is used to assign scores to certain articles. Based on the score an article can be filtered out (hidden) or marked hot. Empty lines or lines beginning with a '#' are ignored. Multiple matching-rules in the same scope are all applied individually and not only when they all hit at the same time (logical OR not AND).

- **comment**

  Every entry (rule) in the filter file might get a comment. Multiple lines are allowed (but only for comments yet). Every line must start with the "comment=" keyword. Comments must appear first in the rule. Comment lines placed within a rule will be moved to the begin of the next rule. This might be changed in the future. Don't use '#' to mark comments as those lines are ignored and your comments will get lost on the next write of the file.

- **group**

  A comma-separated list of newsgroup patterns in wildmat-style to which groups the filter rule will be applied. This line is mandatory!

- **case**

  0=case-sensitive, 1=case-insensitive

- **score**

  Score value of the rule; can also be one of the magic words "kill" or "hot".

- **subj**

  Match against ''Subject:''. The matching type used (wildmat or regex) depends on the setting of the tinrc variable **wildcard**.

- **from**

  Match against ''From:''. [**tin**(1)](/tin/1.md) converts the contents of the ''From:'' header to an old style e-mail address, e.g., ''some@body.example (John Doe)'' instead of ''John Doe \<some@body.example\>'', before trying to match the patterns in the filter rule. The matching type used (wildmat or regex) depends on the setting of the tinrc variable **wildcard**.

- **msgid**

  Match against ''Message-ID:'' and full ''References:''. The matching type used (wildmat or regex) depends on the setting of the tinrc variable **wildcard**.

- **msgid\_last**

  Match against ''Message-ID:'' and last ''References:'' entry (direct responses) only. The matching type used (wildmat or regex) depends on the setting of the tinrc variable **wildcard**.

- **msgid\_only**

  Match against ''Message-ID:''. The matching type used (wildmat or regex) depends on the setting of the tinrc variable **wildcard**.

- **refs\_only**

  Match against ''References:''. The matching type used (wildmat or regex) depends on the setting of the tinrc variable **wildcard**.

- **lines**

  Match against ''Lines:'', \<num matches less than, \>num matches more than.

- **gnksa**

  Match against ''From:'' address parser return codes. \<num matches less than, \>num matches more than the returned numeric value. GNKSA\_LOCAL\_DOMAIN\_LITERAL or GNKSA\_INVALID\_DOMAIN are only returned if **disable\_gnksa\_domain\_check** is set to false. As the built in domain list is outdated this should be considered carefully.

  ```
    0	GNKSA_OK
    1	GNKSA_INTERNAL_ERROR
  100	GNKSA_LANGLE_MISSING
  101	GNKSA_LPAREN_MISSING
  102	GNKSA_RPAREN_MISSING
  103	GNKSA_ATSIGN_MISSING
  104	GNKSA_RANGLE_MISSING
  200	GNKSA_SINGLE_DOMAIN
  201	GNKSA_INVALID_DOMAIN
  202	GNKSA_ILLEGAL_DOMAIN
  203	GNKSA_UNKNOWN_DOMAIN
  204	GNKSA_INVALID_FQDN_CHAR
  205	GNKSA_ZERO_LENGTH_LABEL
  206	GNKSA_ILLEGAL_LABEL_LENGTH
  207	GNKSA_ILLEGAL_LABEL_HYPHEN
  208	GNKSA_ILLEGAL_LABEL_BEGNUM
  209	GNKSA_BAD_DOMAIN_LITERAL
  210	GNKSA_LOCAL_DOMAIN_LITERAL
  211	GNKSA_RBRACKET_MISSING
  300	GNKSA_LOCALPART_MISSING
  301	GNKSA_INVALID_LOCALPART
  302	GNKSA_ZERO_LENGTH_LOCAL_WORD
  400	GNKSA_ILLEGAL_UNQUOTED_CHAR
  401	GNKSA_ILLEGAL_QUOTED_CHAR
  402	GNKSA_ILLEGAL_ENCODED_CHAR
  403	GNKSA_BAD_ENCODE_SYNTAX
  404	GNKSA_ILLEGAL_PAREN_CHAR
  405	GNKSA_INVALID_REALNAME
  406	GNKSA_MISSING_REALNAME
  ```

- **xref**

  Match against ''Xref:'' line. Before any matching is done the line is turned into the same format ''Newsgroups:'' has that is it is turned into a comma separated newsgroup list with all other information (i.e., the article counter) removed. The matching type used (wildmat or regex) depends on the setting of the tinrc variable **wildcard**.

- **path**

  Match against ''Path:'' line. This may not work on some servers. The matching type used (wildmat or regex) depends on the setting of the tinrc variable **wildcard**.

- **time**

  time\_t value when rule expires

- Example:

  ```
  comment=mark all articles about tin, rtin,
  comment=tind, ktin or cdtin as hot
  group=*
  case=1
  score=hot
  subj=\b(cd|[rk]?)?tin(d|pre)?[-.0–9]*\b
  comment=downscore postings in nsr from google based on
  comment=message-id or path, if both hit they end up with
  comment=a score of -66 which is enough to mark them killed
  group=news.software.readers
  case=1
  score=-33
  path=.googlegroups.com!not-for-mail$
  msgid_only=@googlegroups.com>
  ```

*${TIN\_HOMEDIR:-"$HOME"}/.tin/keymap${${LC\_ALL:-"${LC\_MESSAGES:-"${LC\_CTYPE:-"$LANG"}"}"}:+".${LC\_ALL:-"${LC\_MESSAGES:-"${LC\_CTYPE:-"$LANG"}"}"}"}*

*/etc/tin/keymap${${LC\_ALL:-"${LC\_MESSAGES:-"${LC\_CTYPE:-"$LANG"}"}"}:+".${LC\_ALL:-"${LC\_MESSAGES:-"${LC\_CTYPE:-"$LANG"}"}"}"}*

Keymap-file, containing "*keyname* *value* *\[value\]*" pairs separated by spaces or tabs. If the keymap-file named with full specified [**locale**(5)](/locale/5.md) is not found, less specific ones are looked for. Various parts will be stripped off the name, in the following order codeset, normalized codeset, territory and modifier when looking for the keymap-file. Below is a list of all rebindable keynames and their defaults. If a keyname is bound to NULL it is unassigned.

```
ShellEscape	!
SetRange	#
LastPage	$
ToggleColor	&
LastViewed	-
SearchRepeat	\
SearchSubjF	/
SearchSubjB	?
SearchAuthB	A
SearchBody	B
CatchupNextUnread	C
EditFilter	E
ToggleHelpDisplay	H
ToggleInverseVideo	I
ConnectionInfo	J
LookupMessage	L
OptionMenu	M
Postponed	O	^O
QuitTin	Q
BugReport	R
DisplayPostHist	W
MarkThrUnread	Z
FirstPage	^
SearchAuthF	a
Catchup	c
Help	h
ToggleInfoLastLine	i
Down	j	^N
Up	k	^P
Print	o
Quit	q
Version	v
Post	w
MarkArtUnread	z
QuickFilterSelect	[
QuickFilterKill	]
Pipe	|
ScrollUp	<
ScrollDown	>
PageUp	b	^B	^U
PageDown	^D	^F	SPACE
RedrawScr	^L
Postponed	^O
MenuFilterSelect	^A
MenuFilterKill	^K
MarkFeedRead	^X
MarkFeedUnread	^W

AttachSelect	^J	^M
AttachPipe	p
AttachSave	s
AttachTag	t
AttachUntag	U
AttachTagPattern	=
AttachToggleTagged	@

ConfigToggleAttrib	TAB
ConfigSelect	^J	^M
ConfigLastPage	G
ConfigNoSave	Q
ConfigScopeMenu	S
ConfigFirstPage	g
ConfigResetAttrib	r

FeedTag	T
FeedArt	a
FeedHot	h
FeedPat	p
FeedRepost	r
FeedSupersede	s
FeedThd	t

FilterEdit	e
FilterSave	s

GroupNextUnreadArtOrGrp	TAB
GroupReadBasenote	^J	^M
GroupSelThd	*
GroupDoAutoSel	+
GroupToggleThdSel	.
GroupSelThdIfUnreadSelected	;
GroupSelPattern	=
GroupReverseSel	@
GroupCancel	D
GroupToggleGetartLimit	G
GroupMarkThdRead	K
GroupNextUnreadArt	N
GroupPrevUnreadArt	P
GroupAutoSave	S
GroupTagParts	T
GroupUntag	U
GroupMarkUnselArtRead	X
GroupToggleSubjDisplay	d
GroupGoto	g
GroupListThd	l
GroupMail	m
GroupNextGroup	n
GroupPrevGroup	p
GroupToggleReadUnread	r
GroupSave	s
GroupTag	t
GroupToggleThreading	u
GroupRepost	x
GroupUndoSel	~

HelpLastPage	G
HelpFirstPage	g

PageReplyQuoteHeaders	^E
PagePGPCheckArticle	^G
PageToggleRaw	^H
PageNextUnread	TAB
PageNextThd	^J	^M
PageToggleTabs	^T
PageFollowupQuoteHeaders	^W
PageToggleTex2iso	"
PageToggleAllHeaders	*
PageArticleInfo	'
PageToggleRot	%
PageToggleUue	(
PageReveal	)
PageSkipIncludedText	:
PageTopThd	<
PageBotThd	>
PageCancel	D
PageFollowup	F
PageLastPage	G
PageKillThd	K
PageNextUnreadArt	N
PagePrevUnreadArt	P
PageReply	R
PageAutoSave	S
PageGroupSel	T
PageViewUrl	U
PageViewAttach	V
PageToggleHighlight	_
PageToggleVerbatim	,
PageEditArticle	e
PageFollowupQuote	f
PageFirstPage	g
PageListThd	l
PageMail	m
PageNextArt	n
PagePrevArt	p
PageReplyQuote	r
PageSave	s
PageTag	t
PageGotoParent	u
PageRepost	x

PgpEncSign	b
PgpEncrypt	e
PgpIncludekey	i
PgpSign	s

PostAbort	a
PostContinue	c
PostCancel	d
PostEdit	e
PostPGP	g
PostIspell	i
PostIgnore	i
PostMail	m
PostPostpone	o
PostPost	p	y
PostSupersede	s
PostSend	s	y

PostedArticlesSelect	^J	^M

PostponeOverride	Y
PostponeAll	A

PromptYes	y	Y
PromptNo	n	N

PProcNone	n
PProcShar	s
PProcYes	y

SaveAppendFile	a
SaveOverwriteFile	o

SelectEnterNextUnreadGrp	TAB	n
SelectReadGrp	^J	^M
SelectResetNewsrc	^R
SelectSortActive	.
SelectNextUnreadGrp	N
SelectSubscribePat	S
SelectUnsubscribePat	U
SelectQuitNoWrite	X
SelectSyncWithActive	Y
SelectToggleDescriptions	d
SelectGoto	g
SelectMoveGrp	m
SelectToggleReadDisplay	r
SelectSubscribe	s
SelectUnsubscribe	u
SelectYankActive	y
SelectMarkGrpUnread	z	Z

ScopeSelect	^J	^M
ScopeEditAttributesFile	E
ScopeAdd	a
ScopeDelete	d
ScopeMove	m
ScopeRename	r

ThreadReadNextArtOrThread	TAB
ThreadReadArt	^J	^M
ThreadSelArt	*
ThreadToggleArtSel	.
ThreadReverseSel	@
ThreadCancel	D
ThreadFollowup	F
ThreadMarkArtRead	K
ThreadAutoSave	S
ThreadUntag	U
ThreadToggleSubjDisplay	d
ThreadFollowupQuote	f
ThreadMail	m
ThreadSave	s
ThreadTag	t
ThreadTagParts	T
ThreadUndoSel	~

UrlSelect	^J	^M
```

*${TIN\_HOMEDIR:-"$HOME"}/.tin/mailgroups*

This file provides short descriptions of each mailgroup. (requires [**tin**(1)](/tin/1.md) to be built with mh-mail-handling support). Each line consist of two tab-separated fields "*mailgroupname* *one-line description*".

- **mailgroupname**

  is the name of the newsgroup

- **description**

  is a short single-line description of the group

*${TIN\_HOMEDIR:-"$HOME"}/.tin/newsrctable*

"*nntpserver\[:port\]* *newsrc* \[*shortname* \[*...*\]\]" pairs to use with the ''**-g**'' command-line switch. The matching is case-insensitive and any line that starts with "#", ";" or " " is treated as a comment. This is only available if reading via NNTP.

- **nntpserver**

  full qualified domain name of the news server. Plain IPv6 address must be enclosed in square brackets. Additionally, a port can be specified by appending :portnumber. Be aware that if a port is given it will override any port given with ''**-g**'' or ''**-p**'' or implied by ''**-T**'' or ''**-k**'' or set via $**NNTPPORT**. The string "default" or "\*" acts as wildcard to match any name, such a line should be placed last.

- **newsrc**

  related newsrc. A file specified via ''**-f**'' has a higher priority.

- **shortname**

  nickname(s) for the nntpserver. Nicknames must not contain ":" and must be unique.

- Example:

  \# sample newsrctable file\
   news.tin.org .newsrc-tin.org tinorg\
   news.example.org /tmp/nrc-ex example ex\
   \[::1\]:1119 /tmp/localhost6–1119 lh6\
   \# catch all rules should go last\
   \# with the more specific one on top\
   \*:563 ~/.tin/newsrcs/${NNTPSERVER-localhost}:563/newsrc\
   \* ~/.tin/newsrcs/${NNTPSERVER-localhost}/newsrc

*${TIN\_HOMEDIR:-"$HOME"}/.tin/posted*

Posting history. The file is written by [**tin**(1)](/tin/1.md) and used by **DisplayPostHist** ('**W**') command. It should not be altered manually. Any line that starts with "#" is a comment. Blank lines are ignored. All other lines shall consist of at least four pipe-separated fields, starting with a time stamp "dd-mm-yy", a single letter indicating the action which initiated the message, a group name or a mail address the message was sent to, the subject of the message and optionally the messages ''Message-ID'' if known.

*${TIN\_HOMEDIR:-"$HOME"}/Mail/posted*

Copy of all posted articles in [**mbox**(5)](/mbox/5.md) format. The filename can be changed by setting **posted\_articles\_file**.

*${TIN\_HOMEDIR:-"$HOME"}/.tin/postponed.articles*

Pool of postponed articles. This file is in [**mbox**(5)](/mbox/5.md) format.

```
${TIN_HOMEDIR:-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/motd
```

This file is a copy of the servers message of the day (MOTD) message. It is automatically created on startup except when using the ''**-Q**'' command-line option and is unlinked on exit.

```
${TIN_HOMEDIR:-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/msglog
```

File to store $**NNTPSERVER** and $**NNTPPORT** related info- and error-messages. The file is overwritten on startup and meant for debugging.

```
${TIN_HOMEDIR:-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/newsgroups
```

This file is a copy of the servers newsgroups file which provides short descriptions of each newsgroup. It is automatically updated on startup except when using the ''**-X**''or ''**-q**'' command-line option and an old copy exists. Each line consist of two tab-separated fields "*group.name*	*one-line description*".

- **group.name**

  is the name of the newsgroup

- **one-line description**

  is a short single-line description of the group

```
${TIN_HOMEDIR:-"$HOME"}/.tin/$NNTPSERVER${NNTPPORT:+":$NNTPPORT"}/serverrc
```

File to store $**NNTPSERVER** and $**NNTPPORT** related data via a list of "*variable*=*value*" pairs. Currently there are only a few variables, all are not meant to be changed by the user.

- **version**

  Internal version number.

- **motd\_hash**

  Internal hash of the servers MOTD, so displaying it can be skipped if it is unchanged.

- **last\_newnews**

  Internal timestamp used by [**tin**(1)](/tin/1.md) to keep track of new newsgroups on the server.

*/etc/tin/tinrc*\
 *${TIN\_HOMEDIR:-"$HOME"}/.tin/tinrc*

At startup, [**tin**(1)](/tin/1.md) reads in the configuration file. This contains a list of "*variable*=*value*" pairs that can be used to configure the way [**tin**(1)](/tin/1.md) works. *value* strings are limited to 1022 chars and will be discarded if exceeding this limit. If it exists, the global configuration file, *${TIN\_LIBDIR:-NEWSLIBDIR}/tinrc* is read first. After that, the user's own configuration file *${TIN\_HOMEDIR:-"$HOME"}/.tin/tinrc* is read. The global file is useful for distributing system-wide defaults to new users who have no private tinrc yet (see also **/etc/tin/tin.defaults**).

- **abbreviate\_groupname**

  If ON abbreviate long newsgroup names at group selection level and article level (if necessary) like this: news.software.readers → n.software.readers → n.s.readers → n.s.r. Default is OFF.

- **add\_posted\_to\_filter**

  If ON add posted articles which start a new thread to filter for highlighting follow-ups. Default is ON.

- **advertising**

  Turn ON advertising in header (''User-Agent:''). Default is ON.

- **alternative\_handling**

  If ON strip multipart/alternative messages automatically. Default is ON.

- **art\_marked\_deleted**

  The character used to show that an article was deleted. Default is 'D'.

- **art\_marked\_inrange**

  The character used to show that an article is in a range. Default is '#'.

- **art\_marked\_return**

  The character used to show that an article will return as an unread article when the group is next entered. Default is '-'.

- **art\_marked\_selected**

  The character used to show that an article/thread is auto-selected (hot). Default is '\*'.

- **art\_marked\_recent**

  The character used to show that an article/thread is recent (not older than X days). See also **recent\_time**. Default is 'o'.

- **art\_marked\_unread**

  The character used to show that an article has not been read. Default is '+'.

- **art\_marked\_read**

  The character used to show that an article was read. Default is ' '.

- **art\_marked\_killed**

  The character used to show that an article was killed. Default is 'K'. **kill\_level** must be set accordingly.

- **art\_marked\_read\_selected**

  The character used to show that an article was hot before it was read. Default is ':'. **kill\_level** must be set accordingly.

- **Ask before using MIME viewer (ask\_for\_metamail)**

  If ON [**tin**(1)](/tin/1.md) will ask before using a MIME viewer (**metamail\_prog**) to display MIME messages. This only occurs if a MIME viewer is set. Default is OFF.

- **attachment\_format**

  Format string [**tin**(1)](/tin/1.md) uses for Attachment level representation. Default is "%t%s%e%c%d".

- **auto\_cc\_bcc**

  Automatically put your name in the ''Cc:'' and/or ''Bcc:'' field when mailing an article. Default is No.

- **auto\_list\_thread**

  If ON automatically list thread when entering it using right arrow key. Default is ON.

- **auto\_reconnect**

  Reconnect to server automatically. Default is OFF.

- **batch\_save**

  If set ON articles/threads will be saved in batch mode when save ''**-S**'' or mail ''**-M**, **-N**'' is specified on the command line. Default is ON.

- **beginner\_level**

  If set ON a mini menu of the most useful commands will be displayed at the bottom of the screen for each level. Also a short posting etiquette will be displayed after composing an article. Default is ON.

- **cache\_overview\_files**

  If ON, create local copies of NNTP overview files. This can be used to considerably speed up accessing large groups when using a slow connection. Default is OFF.

- **compress\_overview\_files**

  If ON, locally cached NNTP overview files (**cache\_overview\_files**) are saved in compressed form (**RFC1952**). Useful to reduce local disk space used. Default is OFF.

- **cancel\_lock\_algo**

  Use this hash algorithm for cancel-locks. Only available when built with cancel-lock support. none disables the generation of cancel-locks. Valid values are none, sha1, sha256 and sha512. Default is sha1.

- **catchup\_read\_groups**

  If set ON the user is asked when quitting if all groups read during the current session should be marked read. Default is OFF.

- **col\_back**

  Standard background color

- **col\_extquote**

  Color of quoted text from external sources

- **col\_from**

  Color of sender (From:)

- **col\_head**

  Color of header-lines

- **col\_help**

  Color of help pages

- **col\_invers\_bg**

  Color of background for inverse text

- **col\_invers\_fg**

  Color of foreground for inverse text

- **col\_markdash**

  Color of words emphasized like \_this\_. See also **word\_h\_display\_marks** and **word\_highlight**.

- **col\_markslash**

  Color of words emphasized like /this/. See also **word\_h\_display\_marks** and **word\_highlight**.

- **col\_markstar**

  Color of words emphasized like \*this\*. See also **word\_h\_display\_marks** and **word\_highlight**.

- **col\_markstroke**

  Color of words emphasized like -this-. See also **word\_h\_display\_marks** and **word\_highlight**.

- **col\_message**

  Color of status messages in last line

- **col\_minihelp**

  Color of mini help menu

- **col\_newsheaders**

  Color of actual news header fields

- **col\_normal**

  Standard foreground color

- **col\_quote**

  Color of quoted lines

- **col\_quote2**

  Color of twice quoted lines

- **col\_quote3**

  Color of \>=3 times quoted lines

- **col\_response**

  Color of response counter. This is the text that says "Response x of y" in the article viewer.

- **col\_signature**

  Color of signatures

- **col\_score\_neg**

  Color of negative score

- **col\_score\_pos**

  Color of positive score

- **col\_urls**

  Color of urls highlight

- **col\_verbatim**

  Color of verbatim blocks

- **col\_subject**

  Color of article subject

- **col\_text**

  Color of text-lines

- **col\_title**

  Color of help/mail sign

- **confirm\_choice**

  [**tin**(1)](/tin/1.md) can ask for manual confirmation to protect the user. Available choices: **commands**: Ask for confirmation before executing certain dangerous commands (e.g., **Catchup** ('**c**')). Commands that this affects are marked in this manual with '\[after confirmation\]'.

  **quit**: You'll be asked to confirm that you wish to exit [**tin**(1)](/tin/1.md) when you use the **Quit** ('**q**') command.

  **select**: Ask for confirmation before marking all not selected (with **GroupMarkUnselArtRead** ('**X**') command) articles as read. Default is commands & quit.

- **date\_format**

  Format string used for date representation. A description of the different format options can be found at [**strftime**(3)](/strftime/3.md). [**tin**(1)](/tin/1.md) uses [**strftime**(3)](/strftime/3.md) when available and supports most format options in his fallback code. Default is "%a, %d %b %Y %H:%M:%S".

- **default\_art\_search**

  - **default\_author\_search**

  - **default\_config\_search**

  The last article/author/config option that was searched for.

- **default\_filter\_days**

  Default is 28.

- **default\_filter\_kill\_case**

  Default for quick (1 key) kill filter case. ON = filter case sensitive, OFF = ignore case. Default is OFF.

- **default\_filter\_kill\_expire**

  Default for quick (1 key) kill filter expire. ON = limit to **default\_filter\_days**, OFF = don't ever expire. Default is OFF.

- **default\_filter\_kill\_global**

  Default for quick (1 key) kill filter global. ON=apply to all groups, OFF=apply to current group. Default is ON.

- **default\_filter\_kill\_header**

  Default for quick (1 key) kill filter header.

  | | |
  | --- | --- |
  | 0 |  |
  | 1 |  |
  | 2 |  |
  | 3 |  |
  | 4 |  |
  | 5 |  |
  | 6 |  |
  | 7 |  |

- **default\_filter\_select\_case**

  Default for quick (1 key) auto-selection filter case. ON=filter case sensitive, OFF=ignore case. Default is OFF.

- **default\_filter\_select\_expire**

  Default for quick (1 key) auto-selection filter expire. ON = limit to **default\_filter\_days**, OFF = don't ever expire. Default is OFF.

- **default\_filter\_select\_global**

  Default for quick (1 key) auto-selection filter global. ON=apply to all groups, OFF=apply to current group. Default is ON.

- **default\_filter\_select\_header**

  Default for quick (1 key) auto-selection filter header.

  | | |
  | --- | --- |
  | 0 |  |
  | 1 |  |
  | 2 |  |
  | 3 |  |
  | 4 |  |
  | 5 |  |
  | 6 |  |
  | 7 |  |

- **default\_goto\_group**

  - **default\_group\_search**

  - **default\_mail\_address**

  - **default\_move\_group**

  - **default\_pattern**

  - **default\_pipe\_command**

  - **default\_post\_newsgroups**

  - **default\_post\_subject**

  - **default\_range\_group**

  - **default\_range\_select**

  - **default\_range\_thread**

  - **default\_repost\_group**

  - **default\_save\_file**

  - **default\_save\_mode**

  - **default\_select\_pattern**

  - **default\_shell\_command**

  - **default\_subject\_search**

  - **dont\_break\_words**

  Do not break long lines inside a word. This applies to the body except for verbatim blocks. See also **wrap\_column**. Default is OFF.

- **draw\_arrow**

  Allows groups/articles to be selected by an arrow '→' if set ON or by a highlighted bar if set OFF. Default is OFF.

- **editor\_format**

  The format string used to create the editor start command with parameters. Default is '%E +%N %F' with %E=Editor, %N=Linenumber and %F=Filename (e.g., /bin/vi +7 .article). See also $**VISUAL** and $**EDITOR** under "ENVIRONMENT" in [**tin**(1)](/tin/1.md)

- **extquote\_handling**

  If ON quotes from external sources will be detected. Default is OFF.

- **extquote\_regex**

  A regular expression that will be applied when reading articles. All matching lines are shown in **col\_extquote**. If **extquote\_regex** is blank, then [**tin**(1)](/tin/1.md) uses a built-in default.

- **force\_screen\_redraw**

  Specifies whether a screen redraw should always be done after certain external commands. Default is OFF.

- **getart\_limit**

  If **getart\_limit** is \> 0 not more than the last **getart\_limit** articles/group are fetched from the server. If **getart\_limit** is \< 0 [**tin**(1)](/tin/1.md) will start fetching articles from your first unread minus absolute value of **getart\_limit**. Default is 0, which means no limit.

- **goto\_next\_unread**

  Which keys [**tin**(1)](/tin/1.md) should accept to jump to the next unread article. Possible is any combination of **PageDown** and **PageNextUnread**. When **PageDown** is set [**tin**(1)](/tin/1.md) jumps to the next article at the end of the current one. When **PageNextUnread** is set [**tin**(1)](/tin/1.md) jumps immediately to the next article when **PageNextUnread** ('**\<TAB\>**') is pressed. Default is **PageNextUnread**.

- **group\_catchup\_on\_exit**

  If ON catchup group when leaving with the left arrow key. Default is ON.

- **group\_format**

  The format string used for the Group level. Default is "%n %m %R %L  %s  %F". The following substitutions are supported:

  ```
  %D	date
  %F	from, name and/or address
  %I	initials
  %L	line count
  %M	message-id
  %R	number of responses in thread
  %S	score
  %m	article marks
  %n	current thread number
  %s	subject
  %%	%
  ```

- **hide\_uue**

  If set to 'No' then raw uuencoded data is displayed. If set to 'Yes' then sections of uuencoded data will be shown with a single tag line showing the size and filename (much the same as a MIME attachment). If set to 'Hide all' then any line that looks like uuencoded data will be folded into a tag line. This is useful when uuencoded data is split across more than one article but can also lead to false positives. This setting can also be toggled in the article viewer. Default is 'No'.

- **inews\_prog**

  Path, name and options of external [**inews**(1)](/inews/1.md). If you are reading via NNTP the default value is "--internal" (use built-in NNTP inews), else it is "inews -h". The article is passed to **inews\_prog** on STDIN via '\< article'.

- **info\_in\_last\_line**

  If ON, show current group description or article subject in the last line (not in the pager and global menu) — **ToggleInfoLastLine** ('**i**') toggles setting. This facility is useful as the full width of the screen is available to display long subjects. Default is OFF.

- **interactive\_mailer**

  If greater than 0 your mailreader will be invoked earlier for reply so you can use more of its features (e.g., MIME, pgp, ...). 1 means include headers, 2 means don't include headers (old use\_mailreader\_i=ON option). 0 turns off usage. This option has to suit **mailer\_format**. Default is 0.

- **inverse\_okay**

  If ON use inverse video for page headers and URL highlighting. Default is ON.

- **keep\_dead\_articles**

  If ON keep all failed postings in *${TIN\_HOMEDIR:-"$HOME"}/dead.articles* besides keeping the last failed posting in *${TIN\_HOMEDIR:-"$HOME"}/dead.article*. Default is ON.

- **kill\_level**

  This option controls the processing and display of articles that are killed. There are 3 options, default is 0 (**Kill only unread arts**).

  - 0

    **Kill only unread arts** is the 'traditional' behavior of [**tin**(1)](/tin/1.md). Only unread articles are killed once only by marking them read. As filtering only happens on unread articles with **kill\_level** set to 0, **art\_marked\_killed** and **art\_marked\_read\_selected** are only shown once. When you reenter the group the mark will be gone.

  - 1

    **Kill all arts & show with K** will process all articles in the group and therefore there is a processing overhead when using this option. Killed articles are threaded as normal but they will be marked with **art\_marked\_killed**.

  - 2

    **Kill all arts and never show** will process all articles in the group and therefore there is a processing overhead when using this option. Killed articles simply does not get displayed at all.

- **mail\_8bit\_header**

  Allows 8-bit characters unencoded in the header of mail message. Default is OFF. Turning it ON is effective only if **mail\_mime\_encoding** is also set to 8bit. Leaving it OFF is safe for most users and compliant to Internet Mail Standard (**RFC5322** and **RFC2047**). Default is OFF.

- **mail\_address**

  User's mail address (and full name), if not username@host. This is used when creating articles, sending mail and when **pgp**(1) signing.

- **mail\_mime\_encoding**

  MIME encoding of the body in mail message, if necessary (8bit, base64, quoted-printable, 7bit). Default is quoted-printable.

- **mail\_quote\_format**

  Format of quote line when replying (via mail) to an article (%A=Address, %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, %C=Firstname, %I=Initials). If the article has multiple addresses only the first is evaluated. Default is "In article %M you wrote:"

- **mailbox\_format**

  Select one of the following mailbox-formats: MBOXO (default, except on SCO), MBOXRD or MMDF (default on SCO). See [**mbox**(5)](/mbox/5.md) and **RFC4155** for more details on MBOXO and MBOXRD and [**mmdf**(5)](/mmdf/5.md) for more details about MMDF.

- **maildir**

  The directory where articles/threads are to be saved in [**mbox**(5)](/mbox/5.md) format. This feature is mainly for use with the [**mutt**(1)](/mutt/1.md) mail program. It allows the user to save articles/threads/groups simply by giving '=' as the filename to save to. Default is *${TIN\_HOMEDIR:-"$HOME"}/Mail*.

- **mailer\_format**

  The format string used to create the mailer command with parameters that is used for mailing articles to other people. Default is '%M "%T" \< %F' (e.g., /bin/mail "iain" \< ~/.article). The flexible format allows other mailers with different command line parameters to be used such as

  ```
  sendmail -oem -t < %F
  mutt -H %F
  claws-mail --compose "mailto:%T?subject=%S&insert=%F"
  ```

  **interactive\_mailer** must be set adequate. The following substitutions are supported:

  ```
  %F	filename
  %M	default_mailer
  %S	subject-field
  %T	to-filed
  %U	username
  %%	%
  ```

- **mark\_saved\_read**

  If ON mark articles that are saved as read. Default is ON.

- **mark\_ignore\_tags**

  When this is ON, the **GroupMarkThdRead** ('**K**'), **ThreadMarkArtRead** ('**K**'), **MarkThdUnread** ('**Z**') at Group level and **MarkArtUnread** ('**z**') at Thread level functions mark just the current article or thread, ignoring other tagged, (un)read articles. When OFF, the same function presents a menu with choices of the current thread or article, all tagged, unread articles, or nothing.

- **metamail\_prog**

  Path, name and options of external [**metamail**(1)](/metamail/1.md) program used to view non-textual parts of articles. To use the built-in viewer, set to --internal. This is the default value when [**metamail**(1)](/metamail/1.md) is not installed. Leave it blank if you don't want any automatic viewing of non-textual attachments. The **PageViewAttach** ('**V**') command can always be used to manually view any attachments. See also **ask\_for\_metamail**.

- **mm\_charset**

  Charset supported locally, which is also used for MIME header (charset parameter and charset name in header encoding) in mail and news postings. If **MIME\_STRICT\_CHARSET** is defined at compile time, text in charset other than the value of this parameter is considered not displayable and represented as '?'. Otherwise, all character sets are regarded as compatible with the display. If it's not set, the value of the environment variable $**MM\_CHARSET** is used. US-ASCII or compile-time default is used in case neither of them is defined. If your system supports [**iconv**(3)](/iconv/3.md) or **ucnv\_\***(), this option is disabled and you should use **mm\_network\_charset** instead.

- **mm\_network\_charset**

  Charset used for posting and MIME headers; replaces **mm\_charset**. Conversion between **mm\_network\_charset** and local charset (determined via [**nl\_langinfo**(3)](/nl_langinfo/3.md)) is done via [**iconv**(3)](/iconv/3.md) or **ucnv\_\***(). If none of these functions are available on your system this option is disabled and you have to use **mm\_charset** instead. **mm\_network\_charset** is limited to one of the following charsets: US-ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-{R,U,RU} EUC-{CN,JP,KR,TW}, ISO-2022-{CN,CN-EXT,JP,JP-1,JP-2}, Big5, UTF-8 Not all values might work on your system, see [**iconv\_open**(3)](/iconv_open/3.md) for more details. If it's not set, the value of the environment variable $**MM\_CHARSET** is used. US-ASCII or compile-time default is used in case neither of them is defined.

- **mono\_markdash**

  Character attribute of words emphasized like \_this\_. It depends on your terminal which attributes are usable. See also **word\_h\_display\_marks** and **word\_highlight**.

- **mono\_markslash**

  Character attribute of words emphasized like /this/. It depends on your terminal which attributes are usable. See also **word\_h\_display\_marks** and **word\_highlight**.

- **mono\_markstar**

  Character attribute of words emphasized like \*this\*. It depends on your terminal which attributes are usable. See also **word\_h\_display\_marks** and **word\_highlight**.

- **mono\_markstroke**

  Character attribute of words emphasized like -this-. It depends on your terminal which attributes are usable. See also **word\_h\_display\_marks** and **word\_highlight**.

- **newnews**

  These are internal timers used by [**tin**(1)](/tin/1.md) to keep track of new newsgroups. Do not change them unless you understand what they are for.

- **news\_headers\_to\_display**

  Which news headers you wish to see. If you want to see \_all\_ the headers, place an '\*' as this value. This is the only way a wildcard can be used. If you enter 'X-' as the value, you will see all headers beginning with 'X-' (like X-Alan or X-Pape). You can list more than one by delimiting with spaces. Not defining anything turns off this option.

- **news\_headers\_to\_not\_display**

  Same as **news\_headers\_to\_display** except it denotes the opposite. An example of using both options might be if you thought 'X-' headers were A Good Thing(tm), but thought Alan and Pape were miscreants... well then you would do something like this: **news\_headers\_to\_display=X-** **news\_headers\_to\_not\_display=X-Alan X-Pape** Not defining anything turns off this option.

- **news\_quote\_format**

  Format of quote line when posting/following up an article (%A=Address, %D=Date, %F=Fullname+Address, %G=Groupname, %M=Message-ID, %N=Fullname, %C=Firstname, %I=Initials). If the article has multiple addresses only the first is evaluated. Default is "%F wrote:".

- **nntp\_read\_timeout\_secs**

  Time in seconds to wait for a response from the server. Default is 120.

- **normalization\_form**

  The normalization form which should be used to normalize unicode input. The possible values are:

  - 0

    **None**: no normalization

  - 1

    **NFKC**: Compatibility Decomposition, followed by Canonical Composition

  - 2

    **NFKD**: Compatibility Decomposition

  - 3

    **NFC**: Canonical Decomposition, followed by Canonical Composition

  - 4

    **NFD**: Canonical Decomposition

  - 5

    **NFKC\_CF**: Compatibility Decomposition, followed by Canonical Composition and Case Folding

  Some normalization modes are only available if they are supported by the library [**tin**(1)](/tin/1.md) uses to do the normalization. NFC should be used if possible (**RFC5198**).

- **page\_mime\_format**

  Format string [**tin**(1)](/tin/1.md) uses for mime header at Page level. Default is "\[-- %T%S%\*n%z%\*l%!c%!d%\*e --\]".

- **page\_uue\_format**

  Format string [**tin**(1)](/tin/1.md) uses for uue header at Page level. Default is "\[-- %T%S%\*n%I%!d%\*e --\]".

- **pos\_first\_unread**

  If ON put cursor at first unread article in group otherwise at last article. Default is ON.

- **post\_8bit\_header**

  Allows 8-bit characters unencoded in the header of a news article, if set this also disables the generation of MIME-headers when they are usually required. Default is OFF. Only enacted if **post\_mime\_encoding** is also set to 8bit. In a number of local hierarchies where 8-bit characters are used, using unencoded (raw) 8-bit characters in header is acceptable and sometimes even recommended so that you need to check the convention adopted in the local hierarchy of your interest to determine what to do with this and **post\_mime\_encoding**.

- **post\_mime\_encoding**

  MIME encoding of the body in news message, if necessary. (8bit, base64, quoted-printable, 7bit). Default is 8bit, which leads to no encoding. base64 and quoted-printable are usually undesired on usenet.

- **post\_process\_view**

  If ON, then [**tin**(1)](/tin/1.md) will start an appropriate viewer program to display any files that were post processed and uudecoded. The program is determined using the [**mailcap**(5)](/mailcap/5.md) file. Default is ON.

- **post\_process\_type**

  This specifies whether to perform post processing on saved articles. Because the shell archive may contain commands you may not want to be executed, be careful when extracting shell archives. The following values are allowed:

  - 0

    **No** (default), no post processing is done.

  - 1

    **Shell archives**, unpacking of multi-part [**shar**(1)](/shar/1.md) files only.

  - 2

    **Yes**, binary attachments and data will be decoded and saved.

- **posted\_articles\_file**

  Keep posted articles in given file. If the given filename does not contain any expandable strings it will be prefixed with *${TIN\_HOMEDIR:-"$HOME"}/Mail/*. If no filename is set then postings will not be saved. See the section "MAILING PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information about the various expansion characters. Default is 'posted'.

- **print\_header**

  If ON, then the full article header is sent to the printer. Otherwise only the ''Subject:'' and ''From:'' fields are output. Default is OFF.

- **printer**

  The printer program with options that is to be used to print articles. The default is [**lpr**(1)](/lpr/1.md) for BSD machines and [**lp**(1)](/lp/1.md) for SysV machines. Printing from [**tin**(1)](/tin/1.md) may have been disabled by the System Administrator.

- **process\_only\_unread**

  If ON only save/print/pipe/mail unread articles (tagged articles excepted). Default is OFF.

- **prompt\_followupto**

  If ON show empty ''Followup-To:'' header when editing an article. Default is OFF.

- **quote\_chars**

  The character used in quoting included text to article followups and mail replies. The '\_' character represents a blank character and is replaced with ' ' when read, %I is replaced by author's initials. If the article has multiple addresses only the first is evaluated. Default is '\>\_'.

- **quote\_style**

  This bit coded integer value controls how articles are to be quoted when following up or replying to them. Any of the following options can be combined by adding all relevant values. Default is 5, which means that quote characters are compressed and empty lines are quoted.

  - 0

    **Nothing special** Non empty lines are quoted.

  - 1

    **Compress quotes** Compress quote characters together when quoting multiple times (for example, '\> \> \>' will be turned into '\>\>\>'). This option is on by default.

  - 2

    **Quote Signatures** This option is off by default. Signatures are always quoted regardless of this option when you are viewing an article in raw mode **PageToggleRaw** ('**^H**') and followup or reply to it. Signatures are never quoted regardless of this option when **show\_signatures** is off.

  - 4

    **Quote empty lines** This option is on by default.

- **quote\_regex**

  A regular expression that will be applied when reading articles. All matching lines are shown in **col\_quote**. If **quote\_regex** is blank, then [**tin**(1)](/tin/1.md) uses a built-in default.

- **quote\_regex2**

  A regular expression that will be applied when reading articles. All matching lines are shown in **col\_quote2**. If **quote\_regex2** is blank, then [**tin**(1)](/tin/1.md) uses a built-in default.

- **quote\_regex3**

  A regular expression that will be applied when reading articles. All matching lines are shown in **col\_quote3**. If **quote\_regex3** is blank, then [**tin**(1)](/tin/1.md) uses a built-in default.

- **recent\_time**

  If set to 0, this feature is deactivated, otherwise it means the number of days. Default is 2.

- **render\_bidi**

  If ON [**tin**(1)](/tin/1.md) does the rendering of bi-directional text. If OFF [**tin**(1)](/tin/1.md) leaves the rendering of bi-directional text to the terminal. Default is OFF.

- **reread\_active\_file\_secs**

  The news *${TIN\_LIBDIR:-NEWSLIBDIR}"/"${TIN\_ACTIVEFILE:-active}* file is reread at regular intervals to show if any new news has arrived. Default is 1200. Setting this to 0 will disable this feature.

- **savedir**

  Directory where articles/threads are saved. Default is *${TIN\_HOMEDIR:-"$HOME"}/News*.

- **score\_limit\_kill**

  If the score of an article is below or equal this value the article gets marked as killed.

- **score\_limit\_select**

  If the score of an article is above or equal this value the article gets marked as hot.

- **score\_kill**

  Score of an article which should be killed, this must be \<= **score\_limit\_kill**.

- **score\_select**

  Score of an article which should be marked hot, this must be \>= **score\_limit\_select**.

- **scroll\_lines**

  The number of lines that will be scrolled up/down in the article pager when using cursor-up/down. The default is 1 (line-by-line). Set to 0 to get traditional [**tin**(1)](/tin/1.md) page-by-page scrolling. Set to -1 to get page-by-page scrolling where the top/bottom line is carried over onto the next page. This setting supersedes **show\_last\_line\_prev\_page**=ON. Set to -2 to get half-page scrolling. This setting supersedes **full\_page\_scroll**=OFF.

- **select\_format**

  The format string used for the Selection level. Default is "%f %n %U  %G  %d". The following substitutions are supported:

  ```
  %G	group name
  %U	unread count
  %d	description
  %f	group flag
  %n	current group number
  %%	%
  ```

- **sort\_function**

  Function used for sorting articles. Default is 0.

  - 0

    Use [**qsort**(3)](/qsort/3.md) for sorting.

  - 1

    Use [**heapsort**(3)](/heapsort/3.md) for sorting. This might be faster in large groups with long threads (somewhat presorted data).

- **show\_author**

  Which information about the author should be shown. Default is 2, authors full name.

  - 0

    **None**, only the ''Subject:'' line will be displayed.

  - 1

    **Address**, ''Subject:'' line & the address part of the ''From:'' line are displayed.

  - 2

    **Full Name**, ''Subject:'' line & the authors full name part of the ''From:'' line are displayed (default).

  - 3

    **Address and Name**, ''Subject:'' line & all of the ''From:'' line are displayed.

- **show\_art\_score**

  If ON show article score in the lower left corner when displaying articles. Default is OFF. See also **col\_score\_neg** and **col\_score\_pos**.

- **show\_description**

  If ON show a short group description text after newsgroup name at the group selection level. The ''**-d**'' command-line flag will override the setting and turn descriptions off. The text used is taken from the *${TIN\_LIBDIR:-NEWSLIBDIR}/newsgroups* file and if supported (requires [**tin**(1)](/tin/1.md) to be built with mh-mail-handling support) from *${TIN\_HOMEDIR:-"$HOME"}/.tin/mailgroups* for mailgroups. Default is ON.

- **show\_help\_mail\_sign**

  Allows you to select whether [**tin**(1)](/tin/1.md) shows a help indication, a new mail indication, both, or neither in the various level titles. Default is 3.

  - 0

    **Don't show help or mail sign**.

  - 1

    **Show only help sign**.

  - 2

    **Show only mail sign if new mail**, show only the mail sign, and only if new mail has arrived.

  - 3

    **Show mail if new mail else help s.**, show mail sign if new mail has arrived otherwise show help sign.

- **show\_only\_unread\_arts**

  If ON show only new/unread articles otherwise show all articles. Default is ON.

- **show\_only\_unread\_groups**

  If ON show only subscribed groups that contain unread articles. Default is OFF.

- **show\_signatures**

  If OFF don't show signatures when displaying articles. Default is ON.

- **sigdashes**

  If ON prepend the signature with sigdashes. Default is ON.

- **sigfile**

  The path that specifies the signature file to use when posting, following up to or replying to an article. If the path is a directory then the signature will be randomly generated from files that are in the specified directory. If a file named *.sigfixed* does exist in that dir or *${TIN\_HOMEDIR:-"$HOME"}/.sigfixed* does exist it will be prepended to the chosen signature (first match counts). If the path starts with a ! the program the path points to will be executed to generate a signature. In order to pass the group name to the program, %G can be specified. This will be replaced by the name of the current newsgroup. --none will suppress any signature. Default is *${TIN\_HOMEDIR:-"$HOME"}/.Sig*. See also *${TIN\_HOMEDIR:-"$HOME"}/.sigfixed*.

- **signature\_repost**

  If ON add signature to reposted articles. Default is ON.

- **slashes\_regex**

  A regular expression that will be applied when reading articles. All matching words are shown in **col\_markslash** or **mono\_markslash**. If **slashes\_regex** is blank, then [**tin**(1)](/tin/1.md) uses a built-in default.

- **sort\_article\_type**

  This specifies how articles should be sorted. Sort by ascending Date (6) is the default. The following sort types are allowed:

  - 0

    **Nothing**, don't sort articles.

  - 1

    **Subject: (descending)**, sort articles by ''Subject:'' field descending.

  - 2

    **Subject: (ascending)**, sort articles by ''Subject:'' field ascending.

  - 3

    **From: (descending)**, sort articles by ''From:'' field descending.

  - 4

    **From: (ascending)**, sort articles by ''From:'' field ascending.

  - 5

    **Date: (descending)**, sort articles by ''Date:'' field descending.

  - 6

    **Date: (ascending)**, sort articles by ''Date:'' field ascending (default).

  - 7

    **Score (descending)**, sort articles by filtering score descending.

  - 8

    **Score (ascending)**, sort articles by filtering score ascending.

  - 9

    **Lines: (descending)**, sort articles by ''Lines:'' field descending.

  - 10

    **Lines: (ascending)**, sort articles by ''Lines:'' field ascending.

- **sort\_threads\_type**

  This specifies how threads will be sorted. Sort by descending Score (1) is the default. The following sort types are allowed:

  - 0

    **Nothing**, don't sort threads.

  - 1

    **Score (descending)**, sort threads by filtering score descending (default).

  - 2

    **Score (ascending)**, sort threads by filtering score ascending.

  - 3

    **Last posting date (descending)**, sort threads by date of last posting descending.

  - 4

    **Last posting date (ascending)**, sort threads by date of last posting ascending.

- **spamtrap\_warning\_addresses**

  Set this option to a list of comma-separated strings to be warned if you are replying to an article by mail where the e-mail address contains one of these strings. The matching is case-insensitive. Example:

  *spam,delete,remove*

- **stars\_regex**

  A regular expression that will be applied when reading articles. All matching words are shown in **col\_markstar** or **mono\_markstar**. If **stars\_regex** is blank, then [**tin**(1)](/tin/1.md) uses a built-in default.

- **strip\_blanks**

  Strips the blanks from the end of each line therefore speeding up the display when reading on a slow terminal or via modem. Default is ON.

- **strip\_bogus**

  Bogus groups are groups that are present in your *${TIN\_HOMEDIR:-"$HOME"}/.newsrc* file that no longer exist on the news server. There are 3 options. 0 means do nothing & always keep bogus groups. 1 means bogus groups will be permanently removed. 2 means that bogus groups will appear on the Group Selection Menu, prefixed with a 'D'. This allows you to unsubscribe from them as and when you wish. Default is 0 (Always Keep).

- **strip\_newsrc**

  If ON, then unsubscribed groups will be permanently removed from your *${TIN\_HOMEDIR:-"$HOME"}/.newsrc* file. Default is OFF.

- **strip\_re\_regex**

  A regular expression to find Subject prefixes like "Re:" to remove. If **strip\_re\_regex** is blank, then [**tin**(1)](/tin/1.md) uses a built-in default.

- **strip\_was\_regex**

  A regular expression to find Subject suffixes like "(was:" to remove. If **strip\_was\_regex** is blank, then [**tin**(1)](/tin/1.md) uses a built-in default.

- **strokes\_regex**

  A regular expression that will be applied when reading articles. All matching words are shown in **col\_markstroke** or **mono\_markstroke**. If **strokes\_regex** is blank, then [**tin**(1)](/tin/1.md) uses a built-in default.

- **tex2iso\_conv**

  Decode German style TeX umlaut codes to ISO If ON, show "a as Umlaut-a, etc. Default is OFF. This behavior can also be toggled in the article viewer via **PageToggleTex2iso** ('**"**').

- **thread\_articles**

  Defines which threading method to use. The choices are:

  - 0

    Don't thread

  - 1

    Thread on Subject only

  - 2

    Thread on References only

  - 3

    Thread on References then Subject (default)

  - 4

    Thread multipart articles on Subject

  - 5

    Thread on Percentage Match of the Subjects

  It's also possible to set the threading type on a per group basis by setting the group attribute variable **thread\_articles** to 0 – 5 in the file *${TIN\_HOMEDIR:-"$HOME"}/.tin/attributes*.

- **thread\_format**

  The format string used for the Thread level. Default is "%n %m  \[%L\]  %T  %F". The following substitutions are supported:

  ```
  %D	date
  %F	from, name and/or address
  %I	initials
  %L	line count
  %M	message-id
  %S	score
  %T	thread tree
  %m	article marks
  %n	current article number
  %%	%
  ```

- **thread\_perc**

  Defines how close the subjects must match while threading by Percentage Match for threads to be considered part of a single thread. This value is in the range 0 to 100. The default is 75.

- **thread\_catchup\_on\_exit**

  If ON catchup group/thread when leaving with the left arrow key. Default is ON.

- **thread\_score**

  How the total score of a thread is computed. Default is 0, the maximum score in this thread.

  - 0

    **Max**, the maximum score in this thread.

  - 1

    **Sum**, the sum of all scores in this thread.

  - 2

    **Average**, the average score in this thread.

- **tls\_ca\_cert\_file**

  The name of file containing all trusted CA certificates used for NNTPS (**RFC8143**) connections. If left empty the system default will be used.

- **translit**

  If ON append //TRANSLIT to the first argument of [**iconv\_open**(3)](/iconv_open/3.md) to enable transliteration. This means that when a character cannot be represented in the target character set, it can be approximated through one or several similarly looking characters. On systems where this extension doesn't exist, this option is disabled. Default is OFF.

- **trim\_article\_body**

  Allows you to select how [**tin**(1)](/tin/1.md) treats blank lines in article bodies. Default is 0. This option does not affect lines within verbatim blocks.

  - 0

    **Don't trim article body**, do nothing.

  - 1

    **Skip leading blank lines**.

  - 2

    **Skip trailing blank lines**.

  - 3

    **Skip leading and trailing blank l.**, skip leading and trailing blank lines.

  - 4

    **Compact multiple between text**, replace multiple blank lines between text blocks with one blank line.

  - 5

    **Compact multiple and skip leading**, 4 + 1

  - 6

    **Compact multiple and skip trailing**, 4 + 2

  - 7

    **Compact mltpl., skip lead. & trai.**, 4 + 3

- **suppress\_soft\_hyphens**

  If ON remove soft hyphens (U+00AD) from non verbatim blocks when displaying articles. Default is OFF.

- **underscores\_regex**

  A regular expression that will be applied when reading articles. All matching words are shown in **col\_markdash** or **mono\_markdash**. If **underscores\_regex** is blank, then [**tin**(1)](/tin/1.md) uses a built-in default.

- **unlink\_article**

  If ON remove *${TIN\_HOMEDIR:-"$HOME"}/.article* after posting. Default is ON.

- **url\_handler**

  The program that will be run when launching URLs in the article viewer using **PageViewUrl** ('**U**'). The actual URL will be appended. Default is **url\_handler.pl**.

- **url\_highlight**

  Enable highlighting URLs in message body. Default is ON.

- **use\_color**

  If enabled [**tin**(1)](/tin/1.md) uses ANSI-colors. Default is OFF.

- **use\_keypad**

  Use scroll keys on keypad. Default is OFF.

- **use\_mouse**

  Allows the mouse button support in an [**xterm**(1x)](/xterm/1x.md) to be enabled/disabled. Default is OFF.

- **use\_slrnface**

  If enabled [**slrnface**(1)](/slrnface/1.md) will be used to interpret the ''X-Face:'' header. For this option to have any effect, [**tin**(1)](/tin/1.md) must be running in an [**xterm**(1x)](/xterm/1x.md) and [**slrnface**(1)](/slrnface/1.md) must be in your $**PATH**. Default is OFF.

- **utf8\_graphics**

  If ON use UTF-8 characters for indicator ('→'), thread/attachment tree and ellipsis ('...'). Default is OFF.

- **verbatim\_begin\_regex**

  A regular expression that [**tin**(1)](/tin/1.md) will use to find the begin of a verbatim block. Default is #v+

- **verbatim\_end\_regex**

  A regular expression that [**tin**(1)](/tin/1.md) will use to find the end of a verbatim block. Default is #v-

- **verbatim\_handling**

  Allows you to select how [**tin**(1)](/tin/1.md) treats verbatim blocks in article bodies. Default is 1.

  - 0

    **Don't detect verbatim blocks**. Do nothing.

  - 1

    **Detect and show verbatim blocks**. Detect and show verbatim blocks, including begin and end marks.

  - 2

    **Detect, hide begin and end marks**. Detect and show verbatim blocks, hide begin and end marks.

  - 3

    **Don't show verbatim blocks**. Detect verbatim blocks and hide them completely.

- **wildcard**

  Allows you to select how [**tin**(1)](/tin/1.md) matches strings. The default is 0 and uses the [**wildmat**(3)](/wildmat/3.md) notation, which is how this has traditionally been handled. Setting this to 1 allows you to use [**perl**(1)](/perl/1.md) compatible regular expressions [**pcre**(3)](/pcre/3.md) or [**pcre2**(3)](/pcre2/3.md). (see also [**perlre**(1)](/perlre/1.md) and [**pcrepattern**(3)](/pcrepattern/3.md) or [**pcre2pattern**(3)](/pcre2pattern/3.md)). You will probably want to update your filter file if you use this regularly. NB: Newsgroup names will always be matched using the [**wildmat**(3)](/wildmat/3.md) notation.

- **word\_h\_display\_marks**

  Should the leading and ending stars, slashes, strokes and dashes also be displayed, even when they are highlighting marks?

  - 0

    **no**

  - 1

    yes, **display mark**

  - 2

    print a **space** instead

- **word\_highlight**

  Enable word highlighting. See **word\_h\_display\_marks** for the options available. If **use\_color** is enabled the colors specified in **col\_markdash**, **col\_markslash**, **col\_markstar** and **col\_markstroke** are used for word highlighting else the character attributes specified in **mono\_markdash**, **mono\_markslash**, **mono\_markstar** and **mono\_markstroke** are used. Default is ON.

- **wrap\_column**

  Sets the column at which a displayed article body should be wrapped. If this value is equal to 0, it defaults to the current screen width. If this value is greater than your current screen width and **dont\_break\_words** is unset the part off-screen is not displayed. Thus setting this option to a large value can be used to disable wrapping. If this value is negative the wrap margin is the current screen width plus the given value (as long as the result is still positive, otherwise it will fall back to the current screen width). Default is 0, wrapping at the current screen width.

- **wrap\_on\_next\_unread**

  If enabled a search for the next unread article will wrap around all articles to find also previous unread articles. If disabled the search stops at the end of the thread list. Default is ON.

- **xpost\_quote\_format**

  Format is the same as for **news\_quote\_format**, this is used when answering to a crossposting to several groups with no ''Followup-To:'' set.

*/etc/tin/tin.defaults*

Yet another global configuration file with "*variable*=*value*" pairs. This one is for the more general options which usually can't be controlled via *${TIN\_LIBDIR:-NEWSLIBDIR}/tinrc* and/or *${TIN\_HOMEDIR:-"$HOME"}/.tin/tinrc* like resetting (to override the built-in default) the *newslibdir*.

- **domainname**

  Sets a global domain name used in From lines

- **organization**

  Defines the name of your organization. $**ORGANIZATION** overrides any specified value.

- **newslibdir**

  Defines the default place for some configuration files, common values are */usr/lib/news*, */var/lib/news*, */usr/local/lib/news* or */news/db*. $**TIN\_LIBDIR** overrides any specified value.

- **bugaddress**

  Defines the email address to which users can send bug reports using a built-in function. The default points to a developers mailing list located at tin.org. You might want to change this address to one of your local administration if you want to deal with your lusers problems on your own.

- **inewsdir**

  Defines the directory containing the [**inews**(1)](/inews/1.md) executable.

- **mm\_charset**

  Default charset to be used in MIME's ''Content-Type:'' header. $**MM\_CHARSET** overrides any specified value.

- **post\_mime\_encoding**

  Default encoding scheme used in MIME articles. 8bit might be the best value.

- **mail\_mime\_encoding**

  Default encoding scheme used in MIME letters. quoted-printable is a good choice here.

- **disable\_gnksa\_domain\_check**

  Allow unregistered top level domains. As the list of valid TLDs is no longer actively maintained the default was changed to ON starting with [**tin**(1)](/tin/1.md) version 2.1.5

- **disable\_sender**

  Don't generate a ''Sender:'' header. This has an effect only if **inews\_prog** is set to --internal.

- **spooldir**

  Base of your newsspool (Bnews, Cnews and INN traditional spool style), common values are */var/spool/news*, */usr/spool/news*, */news/spool*. $**TIN\_SPOOLDIR** overrides any specified value.

- **overviewdir**

  Base of your NOV database [**newsoverview**(5)](/newsoverview/5.md) (tradspool style; might be the same dir as *spooldir*), common values are */var/spool/overview*, */usr/spool/overview*, */news/overview*. $**TIN\_NOVROOTDIR** overrides any specified value.

- **overviewfile**

  Name of a single overview file, common values are *.overview* or *over.view*. $**TIN\_NOVFILENAME** overrides any specified value.

- **overviewfmtfile**

  Full pathname of your newssystem's overview.fmt file; usually the file resides in *newslibdir* and is named *overview.fmt*, so you only have to change this setting if your configuration differs.

- **activefile**

  Full pathname of your newssystem's active file; usually the file resides in *newslibdir* and is named *active*, so you only have to change this setting if your configuration differs. $**TIN\_ACTIVEFILE** overrides any specified value.

- **activetimesfile**

  Full pathname of your newssystem's active.times file; usually the file resides in *newslibdir* and is named *active.times*, so you only have to change this setting if your configuration differs.

- **newsgroupsfile**

  Full pathname of your newssystem's newsgroups file; usually the file resides in *newslibdir* and is named *newsgroups*, so you only have to change this setting if your configuration differs.

- **subscriptionsfile**

  Full pathname of your newssystem's subscriptions file; usually the file resides in *newslibdir* and is named *subscriptions*, so you only have to change this setting if your configuration differs.

*/usr/local/share/locale/$LC\_MESSAGES/LC\_MESSAGES/tin.mo*

translation into language specified in $**LC\_ALL**, $**LC\_MESSAGES** or $**LANG**

*${TIN\_LIBDIR:-NEWSLIBDIR}"/"${TIN\_ACTIVEFILE:-active}*

This file lists the newsgroups that the local site receives. Each newsgroup should be listed only once. Each line specifies one group; within each newsgroup, articles are assigned unique names, which are monotonically increasing numbers.

If an article is posted to newsgroups not mentioned in this file, those newsgroups are ignored. If no valid newsgroups are specified, the article is rejected.

Each line consists of four space-separated fields "*name* *highmark* *lowmark* *flags*".

- **name**

  is the name of the newsgroup

- **highmark**

  is the highest article number that has been used in that newsgroup

- **lowmark**

  is the lowest article number in the group; this number is not guaranteed to be accurate, and should only be taken to be a hint. Note that because of article cancellations, there may be gaps in the numbering sequence. If the lowest article number is greater than the highest article number, then there are no articles in the newsgroup.

- **flags**

  can be one of those

  - **y**

    local postings are allowed

  - **n**

    no local postings are allowed, only remote ones

  - **m**

    the group is moderated and all postings must be approved

  - **j**

    articles in this group are not kept, but only passed on

  - **x**

    articles cannot be posted to this newsgroup

  - **=foo.bar**

    articles are locally filed into the ''foo.bar'' group

- [**tin**(1)](/tin/1.md)

  only tries to read the file if you read directly from the local spool, if you read news via NNTP, [**tin**(1)](/tin/1.md) uses the LIST (**RFC3977**) or LIST COUNTS (**RFC6048**) command instead.

*${TIN\_LIBDIR:-NEWSLIBDIR}/active.times*

This file provides a chronological record of when newsgroups are created. It is normally updated by the local news server (e.g., [**innd**(8)](/innd/8.md)) whenever a new group is created. Each line consist of three space-separated fields "*name* *time* *creator*".

- **name**

  is the name of the newsgroup

- **time**

  is the time when the group was created, expressed as the number of seconds since the Epoch.

- **creator**

  is the electronic mail address of the person who created the group.

- [**tin**(1)](/tin/1.md)

  only tries to read the file if you read directly from the local spool, if you read news via NNTP, [**tin**(1)](/tin/1.md) uses the NEWGROUPS (**RFC3977**) command instead.

*${TIN\_LIBDIR:-NEWSLIBDIR}/newsgroups*

This file provides short descriptions of each newsgroup. It is normally updated by the local news server (e.g., [**innd**(8)](/innd/8.md)) whenever a new group is created. Each line consist of two tab-separated fields "*group.name*	*one-line description*".

- **group.name**

  is the name of the newsgroup

- **one-line description**

  is a short single-line description of the group

- [**tin**(1)](/tin/1.md)

  only tries to read the file if you read directly from the local spool, if you read news via NNTP, [**tin**(1)](/tin/1.md) uses the LIST NEWSGROUPS (**RFC3977**) command instead.

*${TIN\_LIBDIR:-NEWSLIBDIR}/organization*

This file might hold a default organization to be used in the ''Organization:'' header. $**ORGANIZATION** has a higher priority if set.

*${TIN\_LIBDIR:-NEWSLIBDIR}/overview.fmt*

This file specifies the organization of the news overview database (see also [**newsoverview**(5)](/newsoverview/5.md)). The order of lines in this file is important; it determines the order in which the fields will appear in the database. See also [**overview.fmt**(5)](/overview.fmt/5.md). [**tin**(1)](/tin/1.md) only tries to read the file if you read directly from the local spool, if you read news via NNTP, [**tin**(1)](/tin/1.md) uses the LIST OVERVIEW.FMT (**RFC3977**) command instead.

*${TIN\_LIBDIR:-NEWSLIBDIR}/subscriptions*

This file contains a list of newsgroups — one per line — which the client should subscribe to when the user has no ${TIN\_HOMEDIR:-"$HOME"}/.newsrc for the news server. [**tin**(1)](/tin/1.md) only tries to read the file if you read directly from the local spool, if you read news via NNTP, [**tin**(1)](/tin/1.md) uses the LIST SUBSCRIPTIONS (**RFC6048**) command instead.

## SEE ALSO

[**inews**(1)](/inews/1.md), [**ispell**(1)](/ispell/1.md), [**lp**(1)](/lp/1.md), [**lpr**(1)](/lpr/1.md), [**metamail**(1)](/metamail/1.md), [**mutt**(1)](/mutt/1.md), [**perl**(1)](/perl/1.md), [**perlre**(1)](/perlre/1.md), **pgp**(1), **rn**(1), [**shar**(1)](/shar/1.md), [**slrnface**(1)](/slrnface/1.md), [**tin**(1)](/tin/1.md), [**xterm**(1x)](/xterm/1x.md), [**heapsort**(3)](/heapsort/3.md), [**iconv**(3)](/iconv/3.md), [**iconv\_open**(3)](/iconv_open/3.md), [**nl\_langinfo**(3)](/nl_langinfo/3.md), [**pcre**(3)](/pcre/3.md), [**pcre2**(3)](/pcre2/3.md), [**pcrepattern**(3)](/pcrepattern/3.md), [**pcre2pattern**(3)](/pcre2pattern/3.md), [**qsort**(3)](/qsort/3.md), [**strftime**(3)](/strftime/3.md), [**system**(3)](/system/3.md), [**active**(5)](/active/5.md), [**mailcap**(5)](/mailcap/5.md), [**mbox**(5)](/mbox/5.md), [**mmdf**(5)](/mmdf/5.md), [**newsoverview**(5)](/newsoverview/5.md), [**overview.fmt**(5)](/overview.fmt/5.md), [**innd**(8)](/innd/8.md), **RFC1524**, **RFC1952**, **RFC2045**, **RFC2046**, **RFC2047**, **RFC2231**, **RFC2980**, **RFC3977**, **RFC4155**, **RFC4643**, **RFC5198**, **RFC5322**, **RFC5536**, **RFC5537**, **RFC6048**, **RFC6838**, **RFC8143**
