The elinks\&.conf file contains configuration information for ELinks\&. It can be used to configure the behaviour of ELinks in a wide variety of ways: protocol behaviour, keybindings, colors used for rendering and for the user interface\&.
It is read at startup and saved only when requested\&. All options described in this document can be fully configured from within ELinks so no editing of elinks\&.conf is needed\&.
Note that MIME\-related options used for specifying handlers of various MIME types are NOT described in this document\&. Documentation for these options can be found at the ELinks homepage\&. Keybindings can also be specified in elinks\&.conf\&. This is described in \fBelinkskeys\fR(5)\&.
The syntax of the configuration file is very simple\&. The elinks\&.conf file is a free\-form ASCII text file\&. The file may contain extra tabs and newlines for formatting purposes\&. Keywords in the file are case\-sensitive\&. Comments may be placed anywhere within the file (except within quotes)\&. Comments begin with the # character and end at the end of the line\&.
When saving bookmarks also store whether folders are expanded or not, so the look of the bookmark dialog is kept across \fIELinks\fR sessions\&. If disabled all folders will appear unexpanded next time \fIELinks\fR is run\&.
If set to 1, comments in the configuration file will be translated to the language used by UI\&. Note that if you have different language set in different terminals, the language used in the configuration file MAY be the same as on the terminal where you saved the file, but it should be generally considered unpredictable\&.
.TP
config\&.saving_style_w [0|1] (default: 0)
This is internal option used when displaying a warning about obsolete config\&.saving_style\&. You shouldn't touch it\&.
.TP
config\&.show_template [0|1] (default: 0)
Show template options in autocreated trees in the options manager and save them to the configuration file\&.
The location of a file containing the client certificate and unencrypted private key in PEM format\&. If unset, the file pointed to by the X509_CLIENT_CERT variable is used instead\&.
.TP
connection\&.ssl\&.cert_verify [0|1] (default: 0)
Verify the peer's SSL certificate\&. Note that this needs extensive configuration of OpenSSL by the user\&.
Whether to try to connect to a host over IPv4\&. Note that if connection\&.try_ipv6 is enabled too, it takes precedence\&. And better do not touch this at all unless you are sure what are you doing\&. Note that you can also force a given protocol to be used on a per\-connection basis by using an URL in the style of e\&.g\&. http4://elinks\&.cz/\&.
Whether to try to connect to a host over IPv6\&. Note that you can also force a given protocol to be used on a per\-connection basis by using an URL in the style of e\&.g\&. http6://elinks\&.cz/\&.
0: is force expiration at the end of session, ignoring cookie's expiration date
.TP
\(bu
1: + is use cookie's expiration date, but limit age to the given number of days
.LP
.RE
.IP
.TP
cookies\&.paranoid_security [0|1] (default: 0)
When enabled, we'll require three dots in cookies domain for all non\-international domains (instead of just two dots)\&. Some countries have generic second level domains (eg\&. \&.com\&.pl, \&.co\&.uk) and allowing sites to set cookies for these generic domains could potentially be very bad\&. Note, it is off by default as it breaks a lot of sites\&.
.TP
cookies\&.save [0|1] (default: 1)
Whether cookies should be loaded from and save to disk\&.
.TP
cookies\&.resave [0|1] (default: 1)
Save cookies after each change in cookies list? No effect when cookie saving (cookies\&.save) is off\&.
Options for handling of link access keys\&. An HTML document can use the ACCESSKEY attribute to assign an access key to an element\&. When an access key is pressed, the corresponding element will be given focus\&.
The setting for this option affects how key presses are handled when one selects a text\-input form\-field\&. When enabled, one must explicitly 'enter' a selected text\-field to edit it; this prevents text fields from capturing key presses, such as presses of a scroll key, when it is inadvertently selected\&. When disabled, key presses are always inserted into a selected text field\&.
Path to the executable that \fIELinks\fR should launch when the user requests to edit a textarea with an external editor\&. If this is blank, \fIELinks\fR will use the value of the environmental variable $EDITOR\&. If $EDITOR is empty or not set, \fIELinks\fR will then default to "vi"\&.
Display links to any images in the document, regardless of them having an alt attribute or not\&. If this option is off, the alt attribute contents is shown, but as normal text, not selectable as a link\&.
.TP
document\&.browse\&.links
Options for handling of links to other documents\&.
Whether to navigate links using tabindex specified ordering\&. The TABINDEX attribute in HTML elements specifies the order in which links should receive focus when using the keyboard to navigating the document\&.
When following a link the user ID part of the URI is checked and if a maliciously crafted URI is detected a warning dialog will ask before following the link\&.
Start typeahead searching when an unbound key is pressed without any modifiers\&. Note that most keys have default bindings, so this feature will not be useful unless you unbind them\&.
.TP
when you (when you press a key bound to search\-typeahead or similar)
1 automatically starts typeahead searching thru link text 2 automatically starts typeahead searching thru all document text
Automatically follow document\-specified refresh directives (\fI<meta> refresh\fR tags)\&. Web\-page authors use these to instruct the browser to reload a document at a given interval or to load another page\&. Regardless of the value the refresh URI is accessible as a link\&. Use the document\&.browse\&.minimum_refresh_time to control the minimum number of seconds a refresh will wait\&.
The minimum number of milliseconds that should pass before refreshing\&. If set to zero the document refresh time is used unchanged\&. It can fix going back in history for some sites that use refreshing with zero values\&.
Number of cached formatted pages\&. Do not get too generous here, 'formatted' means that all the accompanying structures are kept in memory so that you get the cached document immediatelly, but these structures may take a lot \- 2x the size of the HTML source is probably not unusual, but it can be even more if the document consists of a lot of short lines (padded right, if possible) and links and not much other markup\&. So if you set this to 256 and then you don't like your \fIELinks\fR eating 90M, don't come complaining to us\&. ;\-) Also note that the format cache itself is not counted to the memory cache size, but the HTML source of the formatted documents is always cached, even if it is over the memory cache size threshold\&. (Then of course no other documents can be cached\&.)
Cache even redirects sent by server (usually thru HTTP by a 302 HTTP code and a Location header)\&. This was the original behaviour for a quite some time, but it causes problems in a situation very common to various web login systems \- frequently, when accessing certain location, they will redirect you to a login page if they don't receive an auth cookie, the login page then gives you the cookie and redirects you back to the original page, but there you have already cached redirect back to the login page! If this option has value of 0, this malfunction is fixed, but occasionally you may get superfluous (depends on how you take it ;\-) requests to the server\&. If this option has value of 1, experienced users can still workaround it by clever combination of usage of reload, jumping around in session history and hitting ctrl+enter\&. Note that this option is checked when retrieving the information from cache, not when saving it to cache \- thus if you will enable it, even previous redirects will be taken from cache instead of asking the server\&.
Period in seconds that a cache entry is considered to be up\-to\-date\&. When a document is loaded and this interval has elapsed since the document was initially loaded or most recently revalidated with the server, the server will be checked in case there is a more up\-to\-date version of the document\&.
Increase the contrast between the foreground and background colors to ensure readability\&. For example it disallows dark colors on a black background\&. Note, this is different from ensuring the contrast with the ensure_contrast option\&.
1: is use document colors if available, except background
.TP
\(bu
2: is use document colors, including background\&. This can mostly look very impressive, but some sites will appear really ugly\&. Note, that obviously if the background is not black, it will break the behaviour of transparency\&.
.LP
.RE
.IP
.TP
document\&.css
Options concerning how to use CSS for styling documents\&.
.TP
document\&.css\&.enable [0|1] (default: 1)
Enable adding of CSS style info to documents\&.
.TP
document\&.css\&.import [0|1] (default: 1)
When enabled any external style sheets that are imported from either CSS itself using the @import keyword or from the HTML using <link> tags in the document header will also be downloaded\&.
.TP
document\&.css\&.stylesheet <str> (default: "")
The path to the file containing the default user defined Cascading Style Sheet\&. It can be used to control the basic layout of HTML documents\&. The path is assumed to be relative to \fIELinks\fR' home directory\&. Leave as "" to use built\-in document styling\&.
.TP
document\&.download
Options regarding files downloading and handling\&.
Color mode for dumps\&. Some modes may have been disabled at compile time\&. The Setup \-> Terminal options dialog lists the modes supported by this executable\&. If you select an unsupported mode, \fIELinks\fR uses 16 colors\&. The color modes are:
If set do not honour non breaking space (the nbsp entity) but allow to wrap the text\&. This can help keeping the width of documents down so no horizontal scrolling is needed\&.
.TP
document\&.plain
Options concerning the display of plain text pages\&.
Rules for passing URIs to external commands\&. When one rule is defined the link and tab menu will have a menu item that makes it possible to pass the the link, frame or tab URI to an external command\&. If several rules are defined the link and tab menu will have a submenu of items for each rule\&. Note, this is mostly useful for launching graphical viewers, since there is no support for releasing the terminal while the command runs\&. The action and submenus are also available by binding keys to the frame\-external\-command, the link\-external\-command, and the tab\-external\-command actions\&.
A rule for passing URI to an external command\&. The format is: %c in the string means the current URL %% in the string means '%' Do _not_ put single\- or double\-quotes around %c\&.
Whether to disallow scripts to open new windows or tabs\&.
.TP
infofiles
Options for information files in ~/\&.elinks\&.
.TP
infofiles\&.save_interval <num> (default: 300)
Interval at which to trigger information files in ~/\&.elinks to be saved to disk if they has changed (seconds; 0 to disable)
.TP
infofiles\&.secure_save [0|1] (default: 1)
First write data to unique temporary file, then rename this file upon successfully finishing this\&. Note that this relates only to config files, not downloaded files\&. You may want to disable it if you are using some exotic permissions for concerned files\&. Secure file saving is automagically disabled if file is symlink\&. Warning: some systems (ie\&. OS/2, Win32) require that destination file doesn't exist when rename(3) is called, breaking atomicity, and reducing reliability of this feature\&.
.TP
infofiles\&.secure_save_fsync [0|1] (default: 1)
When using secure file saving, call fsync(3), if the OS supports it, to force the OS immediately to write the data to permanent storage\&. This is optional for those who wish to avoid excessive disk I/O\&.
.TP
mime
MIME\-related options (handlers of various MIME types)\&.
.TP
mime\&.extension
Extension <\-> MIME type association\&.
.TP
mime\&.extension\&._template_ <str> (default: "")
MIME\-type matching this file extension ('*' is used here in place of '\&.')\&.
.TP
mime\&.handler
A file type handler is a set of information about how to use an external program to view a file\&. It is possible to refer to it for several MIME types -- e\&.g\&., you can define an 'image' handler to which mime\&.type\&.image\&.png, mime\&.type\&.image\&.jpeg, and so on will refer; or one might define a handler for a more specific type of file -- e\&.g\&., PDF files\&. Note you must define both a MIME handler and a MIME type association for it to work\&.
Mailcap search path\&. Colon\-separated list of files\&. Leave as "" to use MAILCAP environment variable instead\&.
.TP
mime\&.mailcap\&.ask [0|1] (default: 1)
Ask before using the handlers defined by mailcap\&.
.TP
mime\&.mailcap\&.description <num> (default: 0)
Type of description to show in "what to do with this file" query dialog:
.RS
.TP3
\(bu
0: is show "mailcap"
.TP
\(bu
1: is show program to be run
.TP
\(bu
2: is show mailcap description field if any; "mailcap" otherwise
.LP
.RE
.IP
.TP
mime\&.mailcap\&.prioritize [0|1] (default: 1)
Prioritize entries by the order of the files in the mailcap path\&. This means that wildcard entries (like: image/*) will also be checked before deciding the handler\&.
.TP
mime\&.mimetypes
Options for the support of mime\&.types files\&. These files can be used to find the content type of an URL by looking at the extension of the file name\&.
The search path for mime\&.types files\&. Colon\-separated list of files\&.
.TP
mime\&.type
Handler <\-> MIME type association\&. The first sub\-tree is the MIME class while the second sub\-tree is the MIME type (ie\&. image/gif handler will reside at mime\&.type\&.image\&.gif)\&. Each MIME type option should contain (case\-sensitive) name of the MIME handler (its properties are stored at mime\&.handler\&.<name>)\&.
.TP
mime\&.type\&._template_
Handler matching this MIME\-type class ('*' is used here in place of '\&.')\&.
The number of seconds to wait between periodically contacting the tracker for announcing progress and requesting more peers\&. Set to zero to use the interval requested by the tracker\&.
What IP address to report to the tracker\&. If set to "" no IP address will be sent and the tracker will automatically determine an appropriate IP address\&.
An additional identification that is not shared with any users\&. It is intended to allow a client to prove their identity should their IP address change\&. It is an optional parameter, but some trackers require this parameter\&. If set to "" no user key will be sent to the tracker\&.
The minimum number of peers to have in the current peer info pool before skipping requesting of more peers\&. I\&.e\&. setting numwant to zero\&. Set to 0 to not have any limit\&.
The maximum number of allowed connections to both active and non\-active peers\&. By increasing the number of allowed connections, the chance of finding good peers to download from is increased\&. However, too many connections can lead to TCP congestion\&. If the maximum is reached all new incoming connections will be closed\&.
How many bytes to query for per request\&. This is complementary to the max_request_length option\&. If the configured length is bigger than the piece length it will be truncated\&.
Maximum number of items in the peer pool\&. The peer pool contains information used for establishing connections to new peers\&. Set to 0 to have unlimited size\&.
How many piece requests to continuously keep in queue\&. Pipelining of requests is essential to saturate connections and get a good connection performance and thus a faster download\&. However, a very big queue size can lead to wasting bandwidth near the end of the connection since remaining piece blocks will be requested from multiple peers\&.
The number of seconds between updating the connection state and most importantly choke and unchoke peer connections\&. The choke period should be big enough for newly unchoked connections to get started but small enough to not allow freeriders too much room for stealing bandwidth\&.
When set, if we can't open a file named 'filename', we'll try to open 'filename' with some encoding extension appended (ie\&. 'filename\&.gz'); it depends on the supported encodings\&.
Broken 302 redirect (violates RFC but compatible with Netscape)\&. This is a problem for a lot of web discussion boards and the like\&. If they will do strange things to you, try to play with this\&.
HTTP referer sending options\&. HTTP referer is a special header sent in the HTTP requests, which is supposed to contain the previous page visited by the browser\&. This way, the server can know what link did you follow when accessing that page\&. However, this behaviour can unfortunately considerably affect privacy and can lead even to a security problem on some badly designed web pages\&.
Request localised versions of documents from web\-servers (using the Accept\-Language header) using the language you have configured for \fIELinks\fR' user\-interface (this also affects navigator\&.language ECMAScript value available to scripts)\&. Note that some see this as a potential security risk because it tells web\-masters and the FBI sniffers about your language preference\&.
.TP
protocol\&.http\&.trace [0|1] (default: 0)
If active, all HTTP requests are sent with TRACE as their method rather than GET or POST\&. This is useful for debugging of both \fIELinks\fR and various server\-side scripts \-\-\- the server only returns the client's request back to the client verbatim\&. Note that this type of request may not be enabled on all servers\&.
Change the User Agent ID\&. That means identification string, which is sent to HTTP server when a document is requested\&. The 'textmode' token in the first field is our silent attempt to establish this as a standard for new textmode user agents, so that the webmasters can have just a single uniform test for these if they are ie\&. pushing some lite version to them automagically\&. %v in the string means \fIELinks\fR version %s in the string means system identification %t in the string means size of the terminal %b in the string means number of bars displayed by \fIELinks\fR Use " " if you don't want any User\-Agent header to be sent at all\&.
Comma separated list of which entries in the article header to show\&. E\&.g\&. 'Subject' and \fIFrom\fR\&. All header entries can be read in the header info dialog\&.
.TP
protocol\&.rewrite
Rules for rewriting URIs entered in the goto dialog\&. It makes it possible to define a set of prefixes that will be expanded if they match a string entered in the goto dialog\&. The prefixes can be dumb, meaning that they work only like URI abbreviations, or smart ones, making it possible to pass arguments to them like search engine keywords\&.
.TP
protocol\&.rewrite\&.dumb
Dumb prefixes, see enable\-dumb description for details\&.
Replacement URI for this smartprefix: %c in the string means the current URL %s in the string means the whole argument to smartprefix %0,%1,...,%9 means argument 0, 1, ..., 9 %% in the string means '%'
Default URI template used when the string entered in the goto dialog does not appear to be a URI or a filename (i\&.e\&. contains no '\&.', \fI:\fR or \fI/\fR characters), and does not match any defined prefixes\&. Set the value to "" to disable use of the default template rewrite rule\&. %c in the template means the current URL %s in the template means the whole string from the goto dialog %0,%1,...,%9 mean the 1st,2nd,...,10th space\-delimited part of %s %% in the template means '%'
Enable dumb prefixes \- simple URI abbreviations which can be written to the Goto URL dialog instead of actual URIs \- i\&.e\&. if you write 'elinks' there, you are directed to http://elinks\&.cz/\&.
Enable smart prefixes \- URI templates triggered by writing given abbreviation to the Goto URL dialog followed by a list of arguments from which the actual URI is composed \- i\&.e\&. 'gg:search keywords' or \fIgn search keywords for news\fR\&.
.TP
protocol\&.user
User protocols\&. Options in this tree specify external handlers for the appropriate protocols\&. Ie\&. protocol\&.user\&.mailto\&.unix\&.
.TP
protocol\&.user\&._template_
Handler (external program) for this protocol\&. Name the options in this tree after your system (ie\&. unix, unix\-xwin)\&.
Handler (external program) for this protocol and system\&. %f in the string means file name to include form data from %h in the string means hostname (or email address) %p in the string means port %d in the string means path (everything after the port) %s in the string means subject (?subject=<this>) %u in the string means the whole URL
.TP
protocol\&.no_proxy <str> (default: "")
Comma separated list of domains for which the proxy (HTTP/FTP) should be disabled\&. Optionally, a port can be specified for some domains as well\&. If it's blank, NO_PROXY environment variable is checked as well\&.
.TP
terminal
Terminal options\&.
.TP
terminal\&._template_
Options specific to this terminal type (according to $TERM value)\&.
.TP
terminal\&._template_\&.type <num> (default: 0)
Terminal type; matters mostly only when drawing frames and dialog box borders:
.RS
.TP3
\(bu
0: is dumb terminal type, ASCII art
.TP
\(bu
1: is VT100, simple but portable
.TP
\(bu
2: is Linux, you get double frames and other goodies
Switch fonts when drawing lines, enabling both local characters and lines working at the same time\&. \fIELinks\fR uses this option only if UTF\-8 I/O is disabled and the terminal type is Linux or FreeBSD\&.
Enable I/O in UTF\-8 for Unicode terminals\&. Note that currently, only the subset of UTF\-8 according to terminal codepage is used\&. \fIELinks\fR ignores this option if the terminal codepage is UTF\-8\&.
Move cursor to bottom right corner when done drawing\&. This is particularly useful when we have a block cursor, so that inversed text is displayed correctly\&.
The color mode controls what colors are used and how they are output to the terminal\&. Some modes may have been disabled at compile time\&. The Setup \-> Terminal options dialog lists the modes supported by this executable\&. If you select an unsupported mode, \fIELinks\fR uses 16 colors\&. The color modes are:
If we should not set the background to black\&. This is particularly useful when we have a terminal (typically in some windowing environment) with a background image or a transparent background \- it will be visible in \fIELinks\fR as well (but \fIELinks\fR document color handling will still assume the background is black so if you have a bright background you might experience contrast problems)\&. Note that this option makes sense only when colors are enabled\&.
Make dialogs drop shadows (the shadows are solid, you can adjust their color by ui\&.colors\&.*\&.dialog\&.shadow)\&. You may also want to eliminate the wide borders by adjusting setup\&.h\&.
Name of the bookmarks folder used for auto saving and restoring session\&. The name has to be unique\&. Any folders with the same name will be deleted\&. This only makes sense with bookmark support\&.
The URI to load either at startup time when no URI was given on the command line or when requested by the goto\-url\-home action\&. Set to "" if the environment variable WWW_'HOME' should be used as homepage URI instead\&.
Automatically save a snapshot of all tabs periodically\&. This will periodically bookmark the tabs of each terminal in a separate folder for recovery after a crash\&.
Set the window title when running in a windowing environment in an xterm\-like terminal\&. This way the document's title is shown on the window titlebar\&.
Generated using output from ELinks version 0\&.12\&.GIT\&.