big dialogs: set_curosr2 -> set_dlg_cursor.
[elinks.git] / src / config / options.inc
blob43b72c7c418d2b002956a45cb93f8b813f01fac8
1 /* Option definitions. */
3 /* TODO: Autogenerate this file from something more human readable. --jonas */
4 /* TODO: Make #ifdef FEATURE more consistent. */
6 /* A few guidelines for this file: */
7 /* 1. Keep options in alphabetical order with trees as the first children
8  *    of their parents.
9  * 2. Keep in mind that descriptions should be readable on 80 wide terminals
10  *    so insert appropriate line breaks and newlines.
11  * 3. If several command line options should share the same caption and
12  *    description they should be declared after another and only the last one
13  *    should have the caption and description defined. (ie. -h, -? and -help)
14  * 4. When adding an alias put a comment about the date the alias was added.
15  * 5. Love thy option system! :) */
17 static struct option_info config_options_info[] = {
18         /* [gettext_accelerator_context(IGNORE)] */
19         INIT_OPT_TREE("", N_("Configuration system"),
20                 "config", 0,
21                 N_("Configuration handling options.")),
23         INIT_OPT_INT("config", N_("Comments"),
24                 "comments", 0, 0, 3, 3,
25                 N_("Amount of comments automatically written to the config file:\n"
26                 "0 is no comments are written\n"
27                 "1 is only the \"blurb\" (name+type) is written\n"
28                 "2 is only the description is written\n"
29                 "3 is full comments are written")),
31         INIT_OPT_INT("config", N_("Indentation"),
32                 "indentation", 0, 0, 16, 2,
33                 N_("Shift width of one indentation level in the configuration\n"
34                 "file. Zero means that no indentation is performed at all\n"
35                 "when saving the configuration.")),
37         INIT_OPT_INT("config", N_("Saving style"),
38                 "saving_style", 0, 0, 3, 3,
39                 N_("Determines what happens when you tell ELinks to save options:\n"
40                 "0 is only values of current options are altered\n"
41                 "1 is values of current options are altered and missing options\n"
42                 "     are added at the end of the file\n"
43                 "2 is the configuration file is rewritten from scratch\n"
44                 "3 is values of current options are altered and missing options\n"
45                 "     CHANGED during this ELinks session are added at the end of\n"
46                 "     the file")),
48         INIT_OPT_BOOL("config", N_("Comments localization"),
49                 "i18n", 0, 0,
50                 N_("If set to 1, comments in the configuration file will be\n"
51                 "translated to the language used by UI. Note that if you have\n"
52                 "different language set in different terminals, the language\n"
53                 "used in the configuration file MAY be the same as on the\n"
54                 "terminal where you saved the file, but it should be generally\n"
55                 "considered unpredictable.")),
58         INIT_OPT_BOOL("config", N_("Saving style warnings"),
59                 "saving_style_w", 0, 0,
60                 N_("This is internal option used when displaying a warning about\n"
61                 "obsolete config.saving_style. You shouldn't touch it.")),
63         INIT_OPT_BOOL("config", N_("Show template"),
64                 "show_template", 0, 0,
65                 N_("Show template options in autocreated trees in the options\n"
66                 "manager and save them to the configuration file.")),
68         /* Keep options in alphabetical order. */
71         INIT_OPT_TREE("", N_("Connections"),
72                 "connection", OPT_SORT,
73                 N_("Connection options.")),
76         INIT_OPT_BOOL("connection", N_("Asynchronous DNS"),
77                 "async_dns", 0, 1,
78                 N_("Whether to use asynchronous DNS resolving.")),
80         INIT_OPT_INT("connection", N_("Maximum connections"),
81                 "max_connections", 0, 1, 16, 10,
82                 N_("Maximum number of concurrent connections.")),
84         INIT_OPT_INT("connection", N_("Maximum connections per host"),
85                 "max_connections_to_host", 0, 1, 8, 2,
86                 N_("Maximum number of concurrent connections to a given host.")),
88         INIT_OPT_INT("connection", N_("Connection retries"),
89                 "retries", 0, 0, 16, 3,
90                 N_("Number of tries to establish a connection.\n"
91                    "Zero means try forever.")),
93         INIT_OPT_INT("connection", N_("Receive timeout"),
94                 "receive_timeout", 0, 1, 1800, 120,
95                 N_("Receive timeout (in seconds).")),
97 #ifdef CONFIG_IPV6
98         INIT_OPT_BOOL("connection", N_("Try IPv4 when connecting"),
99                 "try_ipv4", 0, 1,
100                 N_("Whether to try to connect to a host over IPv4.\n"
101                 "Note that if connection.try_ipv6 is enabled too,\n"
102                 "it takes precedence. And better do not touch this\n"
103                 "at all unless you are sure what are you doing.\n"
104                 "Note that you can also force a given protocol\n"
105                 "to be used on a per-connection basis by using a URL\n"
106                 "in the style of e.g. http4://elinks.cz/.")),
107 #else
108         INIT_OPT_BOOL("connection", N_("Try IPv4 when connecting"),
109                 "try_ipv4", 0, 1,
110                 N_("Whether to try to connect to a host over IPv4.\n"
111                 "Do not touch this option.\n"
112                 "Note that you can also force a given protocol\n"
113                 "to be used on a per-connection basis by using a URL\n"
114                 "in the style of e.g. http4://elinks.cz/.")),
115 #endif
117 #ifdef CONFIG_IPV6
118         INIT_OPT_BOOL("connection", N_("Try IPv6 when connecting"),
119                 "try_ipv6", 0, 1,
120                 N_("Whether to try to connect to a host over IPv6.\n"
121                 "Note that you can also force a given protocol\n"
122                 "to be used on a per-connection basis by using a URL\n"
123                 "in the style of e.g. http6://elinks.cz/.")),
124 #endif
126         INIT_OPT_INT("connection", N_("Timeout for non-restartable connections"),
127                 "unrestartable_receive_timeout", 0, 1, 1800, 600,
128                 N_("Timeout for non-restartable connections (in seconds).")),
130         /* Keep options in alphabetical order. */
134         INIT_OPT_TREE("", N_("Document"),
135                 "document", OPT_SORT,
136                 N_("Document options.")),
138         INIT_OPT_TREE("document", N_("Browsing"),
139                 "browse", 0,
140                 N_("Document browsing options (mainly interactivity).")),
143         INIT_OPT_TREE("document.browse", N_("Access keys"),
144                 "accesskey", 0,
145                 N_("Options for handling of link access keys.\n"
146                 "An HTML document can use the ACCESSKEY attribute to assign\n"
147                 "an access key to an element. When an access key is pressed,\n"
148                 "the corresponding element will be given focus.")),
150         INIT_OPT_BOOL("document.browse.accesskey", N_("Automatic links following"),
151                 "auto_follow", 0, 0,
152                 N_("Automatically follow a link or submit a form if appropriate\n"
153                 "accesskey is pressed - this is the standard behaviour, but it's\n"
154                 "considered dangerous.")),
156         INIT_OPT_BOOL("document.browse.accesskey", N_("Display access key in link info"),
157                 "display", 0, 0,
158                 N_("Display access key in link info.")),
160         INIT_OPT_INT("document.browse.accesskey", N_("Accesskey priority"),
161                 "priority", 0, 0, 2, 0,
162                 N_("Priority of 'accesskey' HTML attribute:\n"
163                 "0 is first try all normal bindings; if it fails, check accesskey\n"
164                 "1 is first try only frame bindings; if it fails, check accesskey\n"
165                 "2 is first check accesskey (this can be dangerous)")),
168         INIT_OPT_TREE("document.browse", N_("Forms"),
169                 "forms", 0,
170                 N_("Options for handling of the forms interaction.")),
172         INIT_OPT_BOOL("document.browse.forms", N_("Submit form automatically"),
173                 "auto_submit", 0, 1,
174                 N_("Automagically submit a form when enter is pressed with a text\n"
175                 "field selected.")),
177         INIT_OPT_BOOL("document.browse.forms", N_("Confirm submission"),
178                 "confirm_submit", 0, 1,
179                 N_("Ask for confirmation when submitting a form.")),
181         INIT_OPT_INT("document.browse.forms", N_("Default form input size"),
182                 "input_size", 0, 3, 300, HTML_DEFAULT_INPUT_SIZE,
183                 N_("Default form input size if none is specified.")),
185         INIT_OPT_BOOL("document.browse.forms", N_("Insert mode"),
186                 "insert_mode", 0, 1,
187                 N_("The setting for this option affects how key presses are handled\n"
188                 "when one selects a text-input form-field. When enabled, one must\n"
189                 "explicitly 'enter' a selected text-field to edit it; this prevents\n"
190                 "text fields from capturing key presses, such as presses of a scroll\n"
191                 "key, when it is inadvertently selected. When disabled, key presses\n"
192                 "are always inserted into a selected text field.")),
194         INIT_OPT_STRING("document.browse.forms", N_("External editor"),
195                 "editor", 0, "",
196                 N_("Path to the executable that ELinks should launch when the user\n"
197                 "requests to edit a textarea with an external editor.\n"
198                 "If this is blank, ELinks will use the value of the environmental\n"
199                 "variable $EDITOR. If $EDITOR is empty or not set, ELinks will then\n"
200                 "default to \"vi\".")),
203         INIT_OPT_TREE("document.browse", N_("Images"),
204                 "images", 0,
205                 N_("Options for handling of images.")),
207         INIT_OPT_INT("document.browse.images", N_("Display style for image tags"),
208                 "display_style", 0, 0, 3, 2,
209                 N_("Display style for image tags when displayed:\n"
210                 "0     means always display IMG\n"
211                 "1     means always display filename\n"
212                 "2     means display alt/title attribute if possible, IMG if not\n"
213                 "3     means display alt/title attribute if possible, filename if not")),
215         INIT_OPT_INT("document.browse.images", N_("Maximum length for image filename"),
216                 "filename_maxlen", 0, 0, 500, 0,
217                 N_("Maximum length of image filename when displayed:\n"
218                 "0     means always display full filename\n"
219                 "1-500 means display filename with this maximal length;\n"
220                 "      if it is longer, the middle is substituted by an asterisk")),
222         /* Compatibility aliases. Added: 2004-12-15, 0.10pre3.CVS. It was
223          * replaced by display_style and filename_maxlen options combination. */
224         INIT_OPT_ALIAS("document.browse.images", "file_tags", 0,
225                 "document.browse.images.filename_maxlen"),
227         INIT_OPT_INT("document.browse.images", N_("Image links tagging"),
228                 "image_link_tagging", 0, 0, 2, 1,
229                 N_("When to enclose image links:\n"
230                 "0 means never\n"
231                 "1 means never if alt or title are provided (old behavior)\n"
232                 "2 means always")),
234         INIT_OPT_STRING("document.browse.images", N_("Image link prefix"),
235                 "image_link_prefix", 0, "[",
236                 N_("Prefix string to use to mark image links.")),
238         INIT_OPT_STRING("document.browse.images", N_("Image link suffix"),
239                 "image_link_suffix", 0, "]",
240                 N_("Suffix string to use to mark image links.")),
242         INIT_OPT_INT("document.browse.images", N_("Maximum length for image label"),
243                 "label_maxlen", 0, 0, 500, 0,
244                 N_("Maximum length of image label (alt/title):\n"
245                 "0     means always display full label\n"
246                 "1-500 means display label with this maximal length;\n"
247                 "      if it is longer, the middle is substituted by an asterisk")),
249         INIT_OPT_BOOL("document.browse.images", N_("Display links to images w/o alt"),
250                 "show_as_links", 0, 0,
251                 N_("Display links to images without an alt attribute. If this option\n"
252                 "is off, these images are completely invisible.")),
254         INIT_OPT_BOOL("document.browse.images", N_("Display links to images"),
255                 "show_any_as_links", 0, 1,
256                 N_("Display links to any images in the document, regardless of them\n"
257                 "having an alt attribute or not. If this option is off, the alt\n"
258                 "attribute contents is shown, but as normal text, not selectable\n"
259                 "as a link.")),
262         INIT_OPT_TREE("document.browse", N_("Links"),
263                 "links", 0,
264                 N_("Options for handling of links to other documents.")),
266         INIT_OPT_TREE("document.browse.links", N_("Active link"),
267                 "active_link", 0,
268                 N_("Options for the active link.")),
270         INIT_OPT_TREE("document.browse.links.active_link", N_("Colors"),
271                 "colors", 0,
272                 N_("Active link colors.")),
274         INIT_OPT_COLOR("document.browse.links.active_link.colors", N_("Background color"),
275                 "background", 0, "#0000ff",
276                 N_("Default background color.")),
278         INIT_OPT_COLOR("document.browse.links.active_link.colors", N_("Text color"),
279                 "text", 0, "black",
280                 N_("Default text color.")),
282         INIT_OPT_BOOL("document.browse.links.active_link", N_("Enable color"),
283                 "enable_color", 0, 0,
284                 N_("Enable use of the active link background and text color\n"
285                 "settings instead of the link colors from the document.")),
287         INIT_OPT_BOOL("document.browse.links.active_link", N_("Bold"),
288                 "bold", 0, 0,
289                 N_("Make the active link text bold.")),
291         INIT_OPT_BOOL("document.browse.links.active_link", N_("Invert colors"),
292                 "invert", 0, 1,
293                 N_("Invert the fore- and background color so the link "
294                 "stands out.")),
296         INIT_OPT_BOOL("document.browse.links.active_link", N_("Underline"),
297                 "underline", 0, 0,
298                 N_("Underline the active link.")),
301         INIT_OPT_BOOL("document.browse.links", N_("Directory highlighting"),
302                 "color_dirs", 0, 1,
303                 N_("Highlight links to directories in FTP and local directory listing.")),
305         INIT_OPT_BOOL("document.browse.links", N_("Number links"),
306                 "numbering", 0, 0,
307                 N_("Display numbers next to the links.")),
309         INIT_OPT_INT("document.browse.links", N_("Handling of target=_blank"),
310                 "target_blank", 0, 0, 3, 0,
311                 N_("Define how to handle links having target=_blank set:\n"
312                 "0 means open link in current tab\n"
313                 "1 means open link in new tab in foreground\n"
314                 "2 means open link in new tab in background\n"
315                 "3 means open link in new window")),
317         /* Compatibility aliases. Added: 2004-01-07, 0.9.0.CVS. */
318         INIT_OPT_ALIAS("document.browse.links", "typeahead_wraparound", 0,
319                 "document.browse.search.wraparound"),
321         INIT_OPT_ALIAS("document.browse.links", "typeahead_error", 0,
322                 "document.browse.search.show_not_found"),
324         INIT_OPT_BOOL("document.browse.links", N_("Use tabindex"),
325                 "use_tabindex", 0, 1,
326                 N_("Whether to navigate links using tabindex specified ordering.\n"
327                 "The TABINDEX attribute in HTML elements specifies the order\n"
328                 "in which links should receive focus when using the keyboard\n"
329                 "to navigate the document.")),
331         INIT_OPT_BOOL("document.browse.links", N_("Missing fragment reporting"),
332                 "missing_fragment", 0, 1,
333                 N_("Open a message box when document has no tag with given id.")),
335         INIT_OPT_INT("document.browse.links", N_("Number keys select links"),
336                 "number_keys_select_link", 0, 0, 2, 1,
337                 N_("Number keys select links rather than specify command prefixes. This\n"
338                 "is a tristate:\n"
339                 "0 means never\n"
340                 "1 means if document.browse.links.numbering = 1\n"
341                 "2 means always")),
343         INIT_OPT_BOOL("document.browse.links", N_("Warn about maliciously crafted URIs"),
344                 "warn_malicious", 0, 1,
345                 N_("When following a link the user ID part of the URI is\n"
346                 "checked and if a maliciously crafted URI is detected a\n"
347                 "warning dialog will ask before following the link.")),
349         /* TODO - this is somehow implemented by ff, but disabled
350          * for now as it doesn't work. */
351         INIT_OPT_BOOL("document.browse.links", N_("Wrap-around links cycling"),
352                 "wraparound", /* 0 */ 0, 0,
353                 N_("When pressing 'down' on the last link, jump to the first one, and\n"
354                 "vice versa.")),
357         INIT_OPT_TREE("document.browse", N_("Scrolling"),
358                 "scrolling", OPT_SORT,
359                 N_("Scrolling options.")),
361         INIT_OPT_INT("document.browse.scrolling", N_("Horizontal step"),
362                 "horizontal_step", 0, 1, 9999, 8,
363                 N_("Number of columns to scroll when a key bound to scroll-left or scroll-\n"
364                 "right is pressed and no prefix was given.")),
366         INIT_OPT_BOOL("document.browse.scrolling", N_("Extended horizontal scrolling"),
367                 "horizontal_extended", 0, 1,
368                 N_("Whether to allow horizontal scrolling when the document\n"
369                 "does not extend off the screen. Useful for copy/paste\n"
370                 "operations.")),
372         INIT_OPT_INT("document.browse.scrolling", N_("Margin"),
373                 "margin", 0, 0, 20, 3,
374                 N_("Size of the virtual margin - when you click inside of that margin,\n"
375                 "document scrolls in that direction.")),
377         INIT_OPT_INT("document.browse.scrolling", N_("Vertical step"),
378                 "vertical_step", 0, 1, 9999, 2,
379                 N_("Number of lines to scroll when a key bound to scroll-up or scroll-\n"
380                 "down is pressed and no prefix was given.")),
383         INIT_OPT_TREE("document.browse", N_("Searching"),
384                 "search", 0,
385                 N_("Options for searching.")),
387         INIT_OPT_BOOL("document.browse.search", N_("Case sensitivity"),
388                 "case", 0, 0,
389                 N_("Whether the search should match the document text while maintaining\n"
390                 "case sensitivity.")),
392 #ifdef HAVE_REGEX_H
393         INIT_OPT_INT("document.browse.search", N_("Regular expressions"),
394                 "regex", 0, 0, 2, 0,
395                 N_("Enable searching with regular expressions:\n"
396                 "0 for plain text searching\n"
397                 "1 for basic regular expression searches\n"
398                 "2 for extended regular expression searches")),
399 #endif
401         INIT_OPT_BOOL("document.browse.search", N_("Show search hit top or bottom dialogs"),
402                 "show_hit_top_bottom", 0, 1,
403                 N_("Whether to show a dialog when the search hits the top or bottom of the\n"
404                 "document.")),
406         INIT_OPT_BOOL("document.browse.search", N_("Wraparound"),
407                 "wraparound", 0, 1,
408                 N_("Wrap around when searching. Currently only used for typeahead.")),
410         INIT_OPT_INT("document.browse.search", N_("Show not found"),
411                 "show_not_found", 0, 0, 2, 2,
412                 N_("How to inform the user when nothing is matched:\n"
413                 "0 means do nothing\n"
414                 "1 means beep the terminal\n"
415                 "2 means pop up message box")),
417         INIT_OPT_INT("document.browse.search", N_("Typeahead searching"),
418                 "typeahead", 0, 0, 2, 0,
419                 N_("Start typeahead searching when an unbound key is pressed without\n"
420                 "any modifiers. Note that most keys have default bindings, so this\n"
421                 "feature will not be useful unless you unbind them.\n\n"
422                 "0 disables this feature; typeahead searching will only be used\n"
423                 "  when you press a key bound to search-typeahead or similar\n"
424                 "1 automatically starts typeahead searching thru link text\n"
425                 "2 automatically starts typeahead searching thru all document text")),
428         INIT_OPT_INT("document.browse", N_("Horizontal text margin"),
429                 "margin_width", 0, 0, 9, 3,
430                 N_("Horizontal text margin.")),
432         INIT_OPT_BOOL("document.browse", N_("Document meta refresh"),
433                 "refresh", 0, 1,
434                 N_("Automatically follow document-specified refresh directives ('<meta>\n"
435                 "refresh' tags). Web-page authors use these to instruct the browser\n"
436                 "to reload a document at a given interval or to load another page.\n"
437                 "Regardless of the value the refresh URI is accessible as a link.\n"
438                 "Use the document.browse.minimum_refresh_time to control the minimum\n"
439                 "number of seconds a refresh will wait.")),
441         INIT_OPT_INT("document.browse", N_("Document meta refresh minimum time"),
442                 "minimum_refresh_time", 0, 0, INT_MAX, 1000,
443                 N_("The minimum number of milliseconds that should pass before\n"
444                 "refreshing. If set to zero the document refresh time is used\n"
445                 "unchanged. It can fix going back in history for some sites that\n"
446                 "use refreshing with zero values.")),
448         INIT_OPT_BOOL("document.browse", N_("Tables navigation order"),
449                 "table_move_order", 0, 0,
450                 N_("Move by columns in table, instead of rows.")),
452         /* Keep options in alphabetical order. */
456         INIT_OPT_TREE("document", N_("Cache"),
457                 "cache", OPT_SORT,
458                 N_("Cache options.")),
460         INIT_OPT_BOOL("document.cache", N_("Cache information about redirects"),
461                 "cache_redirects", 0, 0,
462                 N_("Cache even redirects sent by server (usually thru HTTP by a 302\n"
463                 "HTTP code and a Location header). This was the original behaviour\n"
464                 "for quite some time, but it causes problems in a situation very\n"
465                 "common to various web login systems - frequently, when accessing\n"
466                 "a certain location, they will redirect you to a login page if they\n"
467                 "don't receive an auth cookie, the login page then gives you the\n"
468                 "cookie and redirects you back to the original page, but there you\n"
469                 "have already cached redirect back to the login page! If this\n"
470                 "option has value of 0, this malfunction is fixed, but occasionally\n"
471                 "you may get superfluous (depends on how you take it ;-) requests to\n"
472                 "the server. If this option has value of 1, experienced users can\n"
473                 "still workaround it by clever combination of usage of reload,\n"
474                 "jumping around in session history and hitting ctrl+enter.\n"
475                 "Note that this option is checked when retrieving the information\n"
476                 "from cache, not when saving it to cache - thus if you enable\n"
477                 "it, even previous redirects will be taken from cache instead of\n"
478                 "asking the server.")),
480         INIT_OPT_BOOL("document.cache", N_("Ignore cache-control info from server"),
481                 "ignore_cache_control", 0, 1,
482                 N_("Ignore Cache-Control and Pragma server headers.\n"
483                 "When set, the document is cached even with 'Cache-Control: no-cache'.")),
485         INIT_OPT_TREE("document.cache", N_("Formatted documents"),
486                 "format", 0,
487                 N_("Format cache options.")),
489         INIT_OPT_INT("document.cache.format", N_("Number"),
490                 "size", 0, 0, 256, 5,
491                 N_("Number of cached formatted pages. Do not get too generous\n"
492                 "here, 'formatted' means that all the accompanying structures\n"
493                 "are kept in memory so that you get the cached document\n"
494                 "immediatelly, but these structures may take a lot - 2x the\n"
495                 "size of the HTML source is probably not unusual, but it can\n"
496                 "be even more if the document consists of a lot of short lines\n"
497                 "(padded right, if possible) and links and not much other markup.\n"
498                 "So if you set this to 256 and then you don't like your ELinks\n"
499                 "eating 90M, don't come complaining to us. ;-)\n"
500                 "Also note that the format cache itself is not counted to the\n"
501                 "memory cache size, but the HTML source of the formatted documents\n"
502                 "is always cached, even if it is over the memory cache size\n"
503                 "threshold. (Then of course no other documents can be cached.)")),
505         /* FIXME: Write more. */
506         INIT_OPT_INT("document.cache", N_("Revalidation interval"),
507                 "revalidation_interval", 0, -1, 86400, -1,
508                 N_("Period in seconds that a cache entry is considered to be\n"
509                 "up-to-date. When a document is loaded and this interval has elapsed\n"
510                 "since the document was initially loaded or most recently\n"
511                 "revalidated with the server, the server will be checked in case\n"
512                 "there is a more up-to-date version of the document.\n\n"
513                 "A value of -1 disables automatic revalidation.")),
515         INIT_OPT_TREE("document.cache", N_("Memory cache"),
516                 "memory", 0,
517                 N_("Memory cache options.")),
519         INIT_OPT_LONG("document.cache.memory", N_("Size"),
520                 "size", 0, 0, LONG_MAX, 1048576,
521                 N_("Memory cache size (in bytes).")),
525         INIT_OPT_TREE("document", N_("Charset"),
526                 "codepage", 0,
527                 N_("Charset options.")),
529         INIT_OPT_CODEPAGE("document.codepage", N_("Default codepage"),
530                 "assume", 0, "System",
531                 N_("Default document codepage. 'System' stands for\n"
532                 "a codepage determined by a selected locale.")),
534         INIT_OPT_BOOL("document.codepage", N_("Ignore charset info from server"),
535                 "force_assumed", 0, 0,
536                 N_("Ignore charset info sent by server.")),
540         INIT_OPT_TREE("document", N_("Default color settings"),
541                 "colors", 0,
542                 N_("Default document color settings.")),
545         INIT_OPT_COLOR("document.colors", N_("Text color"),
546                 "text", 0, "#bfbfbf",
547                 N_("Default text color.")),
549         INIT_OPT_COLOR("document.colors", N_("Background color"),
550                 "background", 0, "#000000",
551                 N_("Default background color.")),
553         INIT_OPT_COLOR("document.colors", N_("Link color"),
554                 "link", 0, "#0000ff",
555                 N_("Default link color.")),
557         INIT_OPT_COLOR("document.colors", N_("Visited-link color"),
558                 "vlink", 0, "#ffff00",
559                 N_("Default visited link color.")),
561         INIT_OPT_COLOR("document.colors", N_("Image-link color"),
562                 "image", 0, "darkolivegreen",
563                 N_("Default image link color.")),
565         INIT_OPT_COLOR("document.colors", N_("Bookmarked-link color"),
566                 "bookmark", 0, "hotpink",
567                 N_("Default bookmarked link color.")),
569         INIT_OPT_COLOR("document.colors", N_("Directory color"),
570                 "dirs", 0, "#ffff00",
571                 N_("Default directory color.\n"
572                 "See document.browse.links.color_dirs option.")),
574         /* Compatibility alias: added by jonas at 2005-05-31, 0.11.CVS. */
575         INIT_OPT_ALIAS("document.colors", "allow_dark_on_black", OPT_ALIAS_NEGATE,
576                 "document.colors.increase_contrast"),
578         INIT_OPT_BOOL("document.colors", N_("Increase contrast"),
579                 "increase_contrast", 0, 1,
580                 N_("Increase the contrast between the foreground and background colors\n"
581                    "to ensure readability. For example it disallows dark colors on a\n"
582                    "black background. Note, this is different from ensuring the contrast\n"
583                    "with the ensure_contrast option.")),
585         INIT_OPT_BOOL("document.colors", N_("Ensure contrast"),
586                 "ensure_contrast", 0, 1,
587                 N_("Makes sure that the back- and foreground colors are never "
588                 "equal.")),
590         /* If you change this please also change ACT_MAIN_DOCUMENT_COLORS action
591          * handling. */
592         INIT_OPT_INT("document.colors", N_("Use document-specified colors"),
593                 "use_document_colors", 0, 0, 2, 2,
594                 N_("Use colors specified in document:\n"
595                 "0 is use always the default settings\n"
596                 "1 is use document colors if available, except background\n"
597                 "2 is use document colors, including background. This can\n"
598                 "  mostly look very impressive, but some sites will appear\n"
599                 "  really ugly. Note, that obviously if the background is\n"
600                 "  not black, it will break the behaviour of transparency.")),
603         /* Keep options in alphabetical order. */
607         INIT_OPT_TREE("document", N_("Downloading"),
608                 "download", 0,
609                 N_("Options regarding files downloading and handling.")),
611         INIT_OPT_STRING("document.download", N_("Default download directory"),
612                 "directory", 0, "./",
613                 N_("Default download directory.")),
615         INIT_OPT_BOOL("document.download", N_("Set original time"),
616                 "set_original_time", 0, 0,
617                 N_("Set the timestamp of each downloaded file to the timestamp\n"
618                 "stored on the server.")),
620         /* Does automatic resuming make sense as an option? */
621         INIT_OPT_INT("document.download", N_("Prevent overwriting"),
622                 "overwrite", 0, 0, 2, 2,
623                 N_("Prevent overwriting the local files:\n"
624                 "0 is files will silently be overwritten\n"
625                 "1 is add a suffix .{number} (for example '.1') to the name\n"
626                 "2 is ask the user")),
628         INIT_OPT_INT("document.download", N_("Notify download completion by bell"),
629                 "notify_bell", 0, 0, 2, 0,
630                 N_("Audio notification when download is completed:\n"
631                 "0 is never\n"
632                 "1 is when background notification is active\n"
633                 "2 is always")),
636         INIT_OPT_TREE("document", N_("Dump output"),
637                 "dump", 0,
638                 N_("Dump output options.")),
640         INIT_OPT_CODEPAGE("document.dump", N_("Codepage"),
641                 "codepage", 0, "System",
642                 N_("Codepage used in dump output. 'System' stands for\n"
643                 "a codepage determined by a selected locale.")),
645         INIT_OPT_INT("document.dump", N_("Color mode"),
646                 "color_mode", 0, -1, COLOR_MODES - 1, -1,
647                 /* The list of modes must be at the end of this string
648                  * because AsciiDoc 7.1.2 does not support continuing
649                  * an outer list entry after an inner list.
650                  * TRANSLATORS: This restriction applies only to the
651                  * "en" (English) translation.  (See doc/Makefile.)  */
652                 N_("Color mode for dumps.\n"
653                 "Some modes may have been disabled at compile time. "
654                 "The Setup -> Terminal options dialog lists the modes "
655                 "supported by this executable. If you select an "
656                 "unsupported mode, ELinks uses 16 colors.\n"
657                 "The color modes are:\n"
658                 "-1 is standard dump mode\n"
659                 "0 is mono mode\n"
660                 "1 is 16 color mode\n"
661                 "2 is 88 color mode\n"
662                 "3 is 256 color mode\n"
663                 "4 is true color mode")),
665         INIT_OPT_STRING("document.dump", N_("Footer"),
666                 "footer", 0, "",
667                 N_("Footer string used in dumps. %u is substituted by URL.")),
669         INIT_OPT_STRING("document.dump", N_("Header"),
670                 "header", 0, "",
671                 N_("Header string used in dumps. %u is substituted by URL.")),
673         INIT_OPT_BOOL("document.dump", N_("Numbering"),
674                 "numbering", 0, 1,
675                 N_("Whether to print link numbers in dump output.")),
677         INIT_OPT_BOOL("document.dump", N_("References"),
678                 "references", 0, 1,
679                 N_("Whether to print references (URIs) of document links\n"
680                 "in dump output.")),
682         INIT_OPT_STRING("document.dump", N_("Separator"),
683                 "separator", 0, "\n\n",
684                 N_("String which separates two dumps.")),
686         INIT_OPT_INT("document.dump", N_("Width"),
687                 "width", 0, 1, 65536, DEFAULT_TERMINAL_WIDTH,
688                 N_("Width of screen in characters when dumping documents.")),
692         INIT_OPT_TREE("document", N_("History"),
693                 "history", OPT_SORT,
694                 N_("History options.")),
696         INIT_OPT_BOOL("document.history", N_("Keep unhistory"),
697                 "keep_unhistory", 0, 1,
698                 N_("Keep unhistory (\"forward history\").")),
701         INIT_OPT_TREE("document", N_("HTML rendering"),
702                 "html", 0,
703                 N_("Options concerning the display of HTML pages.")),
705         INIT_OPT_BOOL("document.html", N_("Display frames"),
706                 "display_frames", 0, 1,
707                 N_("Display frames.")),
709         INIT_OPT_BOOL("document.html", N_("Display tables"),
710                 "display_tables", 0, 1,
711                 N_("Display tables.")),
713         INIT_OPT_BOOL("document.html", N_("Display subscripts"),
714                 "display_subs", 0, 1,
715                 N_("Display subscripts (as [thing]).")),
717         INIT_OPT_BOOL("document.html", N_("Display superscripts"),
718                 "display_sups", 0, 1,
719                 N_("Display superscripts (as ^thing).")),
721         INIT_OPT_INT("document.html", N_("Rendering of HTML link element"),
722                 "link_display", 0, 0, 5, 2,
723                 N_("How to render <link> tags from the HTML header:\n"
724                 "0 is nothing\n"
725                 "1 is title\n"
726                 "2 is name in addition\n"
727                 "3 is hreflang in addition\n"
728                 "4 is type in addition\n"
729                 "5 is everything")),
731         INIT_OPT_BOOL("document.html", N_("Underline links"),
732                 "underline_links", 0, 0,
733                 N_("Underline links.")),
735         INIT_OPT_BOOL("document.html", N_("Wrap non breaking space"),
736                 "wrap_nbsp", 0, 0,
737                 N_("If set do not honour non breaking space (the nbsp entity)\n"
738                 "but allow to wrap the text. This can help keeping the width\n"
739                 "of documents down so no horizontal scrolling is needed.")),
742         INIT_OPT_TREE("document", N_("Plain rendering"),
743                 "plain", 0,
744                 N_("Options concerning the display of plain text pages.")),
746         INIT_OPT_BOOL("document.plain", N_("Display URIs"),
747                 "display_links", 0, 0,
748                 N_("Display URIs in the document as links.")),
750         INIT_OPT_BOOL("document.plain", N_("Compress empty lines"),
751                 "compress_empty_lines", 0, 0,
752                 N_("Compress successive empty lines to only one in displayed text.")),
755         INIT_OPT_TREE("document", N_("URI passing"),
756                 "uri_passing", OPT_SORT | OPT_AUTOCREATE,
757                 N_("Rules for passing URIs to external commands. When one rule\n"
758                 "is defined the link and tab menu will have a menu item that\n"
759                 "makes it possible to pass the the link, frame or tab URI to\n"
760                 "an external command. If several rules are defined the link and\n"
761                 "tab menu will have a submenu of items for each rule. Note, this\n"
762                 "is mostly useful for launching graphical viewers, since there\n"
763                 "is no support for releasing the terminal while the command runs.\n"
764                 "The action and submenus are also available by binding keys to\n"
765                 "the frame-external-command, the link-external-command, and\n"
766                 "the tab-external-command actions.")),
768         INIT_OPT_STRING("document.uri_passing", NULL,
769                 "_template_", 0, "",
770                 N_("A rule for passing URI to an external command.\n"
771                 "The format is:\n"
772                 "%c in the string means the current URL\n"
773                 "%% in the string means '%'\n"
774                 "Do _not_ put single- or double-quotes around %c.")),
776         /* Keep options in alphabetical order. */
780         INIT_OPT_TREE("", N_("Information files"),
781                 "infofiles", OPT_SORT,
782                 N_("Options for information files in ~/.elinks.")),
784         INIT_OPT_INT("infofiles", N_("Save interval"),
785                 "save_interval", 0, 0, INT_MAX, 300,
786                 N_("Interval at which to trigger information files in ~/.elinks\n"
787                 "to be saved to disk if they have changed (seconds; 0 to disable)")),
789         INIT_OPT_BOOL("infofiles", N_("Use secure file saving"),
790                 "secure_save", 0, 1,
791                 N_("First write data to unique temporary file, then rename this file\n"
792                 "upon successfully finishing this. Note that this relates only to\n"
793                 "config files, not downloaded files. You may want to disable\n"
794                 "it if you are using some exotic permissions for concerned files.\n"
795                 "Secure file saving is automagically disabled if file is symlink.\n"
796                 "Warning: some systems (ie. OS/2, Win32) require that destination\n"
797                 "file doesn't exist when rename(3) is called, breaking atomicity,\n"
798                 "and reducing reliability of this feature.")),
800         INIT_OPT_BOOL("infofiles", N_("Use fsync(3) with secure file saving"),
801                 "secure_save_fsync", 0, 1,
802                 N_("When using secure file saving, call fsync(3), if the OS\n"
803                    "supports it, to force the OS immediately to write the data\n"
804                    "to permanent storage. This is optional for those who wish\n"
805                    "to avoid excessive disk I/O.")),
807         /* Keep options in alphabetical order. */
811         INIT_OPT_TREE("", N_("Terminals"),
812                 "terminal", OPT_AUTOCREATE,
813                 N_("Terminal options.")),
815         INIT_OPT_TREE("terminal", NULL,
816                 "_template_", 0,
817                 N_("Options specific to this terminal type (according to $TERM value).")),
819         /* TODO: Incorporate some of the following to the option text.
820          *
821          * When UTF-8 I/O is disabled:
822          * 0 (TERM_DUMB) outputs ASCII -+| characters.
823          * 1 (TERM_VT100) switches charsets with ^N and ^O.
824          * 2 (TERM_LINUX) outputs CP437 characters without switching
825          *   charsets, so it works correctly only if the terminal uses
826          *   CP437.  Can also be made CP850 and CP852 compatible with
827          *   the restrict_852 option.
828          * 3 (TERM_KOI8) outputs KOI8-R characters without switching
829          *   charsets, so it works correctly only if the terminal uses
830          *   KOI8-R and the user has selected either KOI8-R or ASCII
831          *   in ELinks.  It is also mostly compatible with KOI8-U.
832          * 4 (TERM_FREEBSD) outputs characters in the 0x80...0x9F
833          *   range, which FreeBSD 4.0 (but not 5.0) treated as
834          *   graphical.
835          *
836          * When UTF-8 I/O is enabled, ELinks outputs (almost) the same
837          * characters as above but encodes them in UTF-8 and does not
838          * switch charsets.  So, it will work in any terminal that
839          * understands UTF-8 and has the characters in its font.  */
840         INIT_OPT_INT("terminal._template_", N_("Type"),
841                 "type", 0, 0, 4, 0,
842                 N_("Terminal type; matters mostly only when drawing frames and\n"
843                 "dialog box borders:\n"
844                 "0 is dumb terminal type, ASCII art\n"
845                 "1 is VT100, simple but portable\n"
846                 "2 is Linux, you get double frames and other goodies\n"
847                 "3 is KOI-8\n"
848                 "4 is FreeBSD")),
850         INIT_OPT_BOOL("terminal._template_", N_("Switch fonts for line drawing"),
851                 "m11_hack", 0, 0,
852                 N_("Switch fonts when drawing lines, enabling both local characters\n"
853                 "and lines working at the same time. ELinks uses this option only if\n"
854                 "UTF-8 I/O is disabled and the terminal type is Linux or FreeBSD.")),
856         /* When CONFIG_UTF8 is defined, any code that reads the "utf_8_io"
857          * option should also check whether the "codepage" option is UTF-8,
858          * and if so, behave as if "utf_8_io" were 1.  (When CONFIG_UTF8 is
859          * not defined, it should not be possible to set UTF-8 as "codepage";
860          * please report any such possibilities as bugs.)  */
861         INIT_OPT_BOOL("terminal._template_", N_("UTF-8 I/O"),
862                 "utf_8_io", 0, 0,
863                 N_("Enable I/O in UTF-8 for Unicode terminals. Note that currently,\n"
864                 "only the subset of UTF-8 according to terminal codepage is used.\n"
865                 "ELinks ignores this option if the terminal codepage is UTF-8.")),
867 #ifdef CONFIG_COMBINE
868         INIT_OPT_BOOL("terminal._template_", N_("Combining characters"),
869                 "combine", 0, 0,
870                 N_("Enable combining characters. It works only with "
871                 "the xterm in UTF-8 mode.")),
872 #endif
874         INIT_OPT_BOOL("terminal._template_", N_("Restrict frames in cp850/852"),
875                 "restrict_852", 0, 0,
876                 N_("Restrict the characters used when drawing lines. Makes sense\n"
877                 "only with linux terminals using the cp850/852 character sets.")),
879         INIT_OPT_BOOL("terminal._template_", N_("Block cursor"),
880                 "block_cursor", 0, 0,
881                 N_("Move cursor to bottom right corner when done drawing.\n"
882                 "This is particularly useful when we have a block cursor,\n"
883                 "so that inversed text is displayed correctly.")),
885         INIT_OPT_INT("terminal._template_", N_("Color mode"),
886                 "colors", 0, 0, COLOR_MODES - 1, 0,
887                 /* The list of modes must be at the end of this string
888                  * because AsciiDoc 7.1.2 does not support continuing
889                  * an outer list entry after an inner list.
890                  * TRANSLATORS: This restriction applies only to the
891                  * "en" (English) translation.  (See doc/Makefile.)  */
892                 N_("The color mode controls what colors are used and how they are "
893                 "output to the terminal.\n"
894                 "Some modes may have been disabled at compile time. "
895                 "The Setup -> Terminal options dialog lists the modes "
896                 "supported by this executable. If you select an "
897                 "unsupported mode, ELinks uses 16 colors.\n"
898                 "The color modes are:\n"
899                 "0 is mono mode, only 2 colors are used\n"
900                 "1 is 16 color mode, uses the common ANSI colors\n"
901                 "2 is 88 color mode, uses XTerm RGB codes\n"
902                 "3 is 256 color mode, uses XTerm RGB codes\n"
903                 "4 is true color mode, uses konsole RGB codes")),
905         INIT_OPT_BOOL("terminal._template_", N_("Transparency"),
906                 "transparency", 0, 0,
907                 N_("If we should not set the background to black. This is particularly\n"
908                 "useful when we have a terminal (typically in some windowing\n"
909                 "environment) with a background image or a transparent background -\n"
910                 "it will be visible in ELinks as well (but ELinks document color handling\n"
911                 "will still assume the background is black so if you have a bright background\n"
912                 "you might experience contrast problems). Note that this option makes\n"
913                 "sense only when colors are enabled.")),
915         INIT_OPT_BOOL("terminal._template_", N_("Underline"),
916                 "underline", 0, 0,
917                 N_("If we should use underline or enhance the color instead.")),
919         INIT_OPT_CODEPAGE("terminal._template_", N_("Codepage"),
920                 "charset", 0, "System",
921                 N_("Codepage of charset used for displaying content on terminal.\n"
922                 "'System' stands for a codepage determined by a selected locale.")),
924         /* Keep options in alphabetical order. */
928         INIT_OPT_TREE("", N_("User interface"),
929                 "ui", OPT_SORT,
930                 N_("User interface options.")),
934         INIT_OPT_TREE("ui", N_("Color settings"),
935                 "colors", 0,
936                 N_("Default user interface color settings.")),
939         /* ========================================================== */
940         /* ============= BORING PART (colors) START ================= */
941         /* ========================================================== */
942         /* XXX: All bfu colors needs to have both 'text' and 'background'
943          *      options even if it is not used. get_bfu_color() depends
944          *      on it. */
945         /* The colors and mono tree should be similar but with different default
946          * values of course so always use the macros below. */
948 #define DO_INIT_OPT_COLORS(subtree, capt, name, fg, bg, desc)           \
949         INIT_OPT_TREE(subtree, capt, name, 0, desc),                    \
950         INIT_OPT_COLOR(subtree "." name, N_("Text color"),              \
951                       "text", 0, fg, N_("Default text color.")),        \
952         INIT_OPT_COLOR(subtree "." name, N_("Background color"),        \
953                       "background", 0, bg, N_("Default background color."))
955 #define INIT_OPT_COLORS(subtree, capt, name, cfg, cbg, mfg, mbg, desc)  \
956         DO_INIT_OPT_COLORS("ui.colors.color" subtree, capt, name, cfg, cbg, desc), \
957         DO_INIT_OPT_COLORS("ui.colors.mono" subtree, capt, name, mfg, mbg, desc)
959 #define INIT_OPT_COLOR_TREE(subtree, capt, name, desc)                  \
960         INIT_OPT_TREE("ui.colors.color" subtree, capt, name, 0, desc),  \
961         INIT_OPT_TREE("ui.colors.mono" subtree, capt, name, 0, desc)
963         INIT_OPT_TREE("ui.colors", N_("Color terminals"),
964                 "color", 0,
965                 N_("Color settings for color terminal.")),
967         INIT_OPT_TREE("ui.colors", N_("Non-color terminals"),
968                 "mono", 0,
969                 N_("Color settings for non-color terminal.")),
971         /* FIXME: obsolete, how to alias them correctly ? --Zas */
972         INIT_OPT_COLOR_TREE("", N_("Main menu bar"),
973                 "mainmenu",
974                 N_("Main menu bar colors.")),
976         INIT_OPT_COLORS(".mainmenu", N_("Unselected main menu bar item"),
977                 "normal", "black", "white", "black", "white",
978                 N_("Unselected main menu bar item colors.")),
980         INIT_OPT_COLORS(".mainmenu", N_("Selected main menu bar item"),
981                 "selected", "green", "black", "gray", "black",
982                 N_("Selected main menu bar item colors.")),
984         INIT_OPT_COLOR_TREE(".mainmenu", N_("Hotkey"),
985                 "hotkey",
986                 N_("Main menu hotkey colors.")),
988         INIT_OPT_COLORS(".mainmenu.hotkey", N_("Unselected hotkey"),
989                 "normal", "darkred", "white", "black", "white",
990                 N_("Main menu unselected hotkey colors.")),
992         INIT_OPT_COLORS(".mainmenu.hotkey", N_("Selected hotkey"),
993                 "selected", "darkred", "green", "black", "white",
994                 N_("Main menu selected hotkey colors.")),
997         INIT_OPT_COLOR_TREE("", N_("Menu bar"),
998                 "menu",
999                 N_("Menu bar colors.")),
1001         INIT_OPT_COLORS(".menu", N_("Unselected menu item"),
1002                 "normal", "black", "white", "black", "white",
1003                 N_("Unselected menu item colors.")),
1005         INIT_OPT_COLORS(".menu", N_("Selected menu item"),
1006                 "selected", "black", "green", "gray", "black",
1007                 N_("Selected menu item colors.")),
1009         INIT_OPT_COLORS(".menu", N_("Marked menu item"),
1010                 "marked", "red", "white", "gray", "white",
1011                 N_("Marked menu item colors.")),
1013         INIT_OPT_COLOR_TREE(".menu", N_("Hotkey"),
1014                 "hotkey",
1015                 N_("Menu item hotkey colors.")),
1017         INIT_OPT_COLORS(".menu.hotkey", N_("Unselected hotkey"),
1018                 "normal", "darkred", "white", "gray", "black",
1019                 N_("Menu item unselected hotkey colors.")),
1021         INIT_OPT_COLORS(".menu.hotkey", N_("Selected hotkey"),
1022                 "selected", "darkred", "green", "gray", "black",
1023                 N_("Menu item selected hotkey colors.")),
1025         INIT_OPT_COLORS(".menu", N_("Menu frame"),
1026                 "frame", "black", "white", "black", "white",
1027                 N_("Menu frame colors.")),
1030         INIT_OPT_COLOR_TREE("", N_("Dialog"),
1031                 "dialog",
1032                 N_("Dialog colors.")),
1034         /* Compatibility alias: added by jonas at 2003-10-18, 0.5pre7.CVS. */
1035         INIT_OPT_ALIAS("ui.colors.color.dialog", "background", 0,
1036                 "ui.colors.color.dialog.generic.background"),
1038         /* Compatibility alias: added by jonas at 2003-10-18, 0.5pre7.CVS. */
1039         INIT_OPT_ALIAS("ui.colors.mono.dialog", "background", 0,
1040                 "ui.colors.mono.dialog.generic.background"),
1042         INIT_OPT_COLORS(".dialog", N_("Generic"),
1043                 "generic", "black", "white", "black", "white",
1044                 N_("Generic dialog colors.")),
1046         INIT_OPT_COLORS(".dialog", N_("Frame"),
1047                 "frame", "black", "white", "black", "white",
1048                 N_("Dialog frame colors.")),
1050         INIT_OPT_COLORS(".dialog", N_("Scrollbar"),
1051                 "scrollbar", "black", "blue", "white", "black",
1052                 N_("Scrollbar colors.")),
1054         INIT_OPT_COLORS(".dialog", N_("Selected scrollbar"),
1055                 "scrollbar-selected", "black", "green", "black", "white",
1056                 N_("Scrollbar selected colors.")),
1058         INIT_OPT_COLORS(".dialog", N_("Title"),
1059                 "title", "darkred", "white", "gray", "black",
1060                 N_("Dialog title colors.")),
1062         INIT_OPT_COLORS(".dialog", N_("Text"),
1063                 "text", "black", "white", "black", "white",
1064                 N_("Dialog text colors.")),
1066         INIT_OPT_COLORS(".dialog", N_("Checkbox"),
1067                 "checkbox", "darkred", "white", "black", "white",
1068                 N_("Dialog checkbox colors.")),
1070         INIT_OPT_COLORS(".dialog", N_("Selected checkbox"),
1071                 "checkbox-selected", "yellow", "green", "white", "black",
1072                 N_("Dialog selected checkbox colors.")),
1074         INIT_OPT_COLORS(".dialog", N_("Checkbox label"),
1075                 "checkbox-label", "black", "white", "black", "white",
1076                 N_("Dialog checkbox label colors.")),
1078         INIT_OPT_COLORS(".dialog", N_("Button"),
1079                 "button", "white", "blue", "black", "white",
1080                 N_("Dialog button colors.")),
1082         INIT_OPT_COLORS(".dialog", N_("Selected button"),
1083                 "button-selected", "yellow", "green", "white", "black",
1084                 N_("Dialog selected button colors.")),
1086         INIT_OPT_COLORS(".dialog", N_("Button shortcut"),
1087                 "button-shortcut", "yellow", "blue", "white", "black",
1088                 N_("Dialog button colors.")),
1090         INIT_OPT_COLORS(".dialog", N_("Selected button shortcut"),
1091                 "button-shortcut-selected", "white", "blue", "black", "white",
1092                 N_("Dialog selected button colors.")),
1094         INIT_OPT_COLORS(".dialog", N_("Text field"),
1095                 "field", "white", "blue", "gray", "black",
1096                 N_("Dialog text field colors.")),
1098         INIT_OPT_COLORS(".dialog", N_("Text field text"),
1099                 "field-text", "yellow", "blue", "gray", "black",
1100                 N_("Dialog field text colors.")),
1102         INIT_OPT_COLORS(".dialog", N_("Meter"),
1103                 "meter", "white", "blue", "gray", "black",
1104                 N_("Dialog meter colors.")),
1106         INIT_OPT_COLORS(".dialog", N_("Shadow"),
1107                 "shadow", "black", "black", "black", "black",
1108                 N_("Dialog shadow colors (see ui.shadows option).")),
1110         INIT_OPT_COLOR_TREE("", N_("Title bar"),
1111                 "title",
1112                 N_("Title bar colors.")),
1114         INIT_OPT_COLORS(".title", N_("Generic title bar"),
1115                 "title-bar", "black", "white", "gray", "black",
1116                 N_("Generic title bar colors.")),
1118         INIT_OPT_COLORS(".title", N_("Title bar text"),
1119                 "title-text", "black", "white", "gray", "black",
1120                 N_("Title bar text colors.")),
1123         INIT_OPT_COLOR_TREE("", N_("Status bar"),
1124                 "status",
1125                 N_("Status bar colors.")),
1127         INIT_OPT_COLORS(".status", N_("Generic status bar"),
1128                 "status-bar", "black", "white", "black", "white",
1129                 N_("Generic status bar colors.")),
1131         INIT_OPT_COLORS(".status", N_("Status bar text"),
1132                 "status-text", "black", "white", "black", "white",
1133                 N_("Status bar text colors.")),
1136         INIT_OPT_COLOR_TREE("", N_("Tabs bar"),
1137                 "tabs",
1138                 N_("Tabs bar colors.")),
1140         INIT_OPT_COLORS(".tabs", N_("Unvisited tab"),
1141                 "unvisited", "darkblue", "white", "gray", "white",
1142                 N_("Tab colors for tabs that have not been\n"
1143                    "selected since they completed loading.")),
1145         INIT_OPT_COLORS(".tabs", N_("Unselected tab"),
1146                 "normal", "black", "white", "black", "white",
1147                 N_("Unselected tab colors.")),
1149         INIT_OPT_COLORS(".tabs", N_("Loading tab"),
1150                 "loading", "darkred", "white", "gray", "white",
1151                 N_("Tab colors for tabs that are loading in the background.")),
1153         INIT_OPT_COLORS(".tabs", N_("Selected tab"),
1154                 "selected", "black", "green", "gray", "black",
1155                 N_("Selected tab colors.")),
1157         INIT_OPT_COLORS(".tabs", N_("Tab separator"),
1158                 "separator", "brown", "white", "gray", "white",
1159                 N_("Tab separator colors.")),
1162         INIT_OPT_COLORS("", N_("Searched strings"),
1163                 "searched", "black", "lime", "black", "white",
1164                 N_("Searched string highlight colors.")),
1167         /* ========================================================== */
1168         /* ============= BORING PART (colors) END =================== */
1169         /* ========================================================== */
1171         /* Keep options in alphabetical order. */
1173         INIT_OPT_TREE("ui", N_("Dialog settings"),
1174                 "dialogs", 0,
1175                 N_("Dialogs-specific appearance and behaviour settings.")),
1178         INIT_OPT_INT("ui.dialogs", N_("Minimal height of listbox widget"),
1179                 "listbox_min_height", 0, 1, 20, 10,
1180                 N_("Minimal height of the listbox widget (used e.g. for bookmarks\n"
1181                 "or global history).")),
1183         INIT_OPT_BOOL("ui.dialogs", N_("Drop shadows"),
1184                 "shadows", 0, 0,
1185                 N_("Make dialogs drop shadows (the shadows are solid, you can\n"
1186                 "adjust their color by ui.colors.*.dialog.shadow). You may\n"
1187                 "also want to eliminate the wide borders by adjusting setup.h.")),
1189         INIT_OPT_BOOL("ui.dialogs", N_("Underline menu hotkeys"),
1190                 "underline_hotkeys", 0, 0,
1191                 N_("Whether to underline hotkeys in menus to make them more\n"
1192                 "visible. Requires that underlining is enabled for the terminal.")),
1194         INIT_OPT_BOOL("ui.dialogs", N_("Underline button shortcuts"),
1195                 "underline_button_shortcuts", 0, 0,
1196                 N_("Whether to underline button shortcuts to make them more\n"
1197                 "visible. Requires that underlining is enabled for the terminal.")),
1200         INIT_OPT_TREE("ui", N_("Timer options"),
1201                 "timer", 0,
1202                 N_("Timed action after certain interval of user inactivity. Someone can\n"
1203                 "even find this useful, although you may not believe that.")),
1205 #ifdef CONFIG_LEDS
1206         INIT_OPT_INT("ui.timer", N_("Enable"),
1207                 "enable", 0, 0, 2, 0,
1208                 N_("Whether to enable the timer or not:\n"
1209                 "0 is don't count down anything\n"
1210                 "1 is count down, but don't show the timer\n"
1211                 "2 is count down and show the timer near LEDs")),
1212 #else
1213         INIT_OPT_INT("ui.timer", N_("Enable"),
1214                 "enable", 0, 0, 2, 0,
1215                 N_("Whether to enable the timer or not:\n"
1216                 "0 is don't count down anything\n"
1217                 "1 is count down, but don't show the timer\n"
1218                 "2 is count down and show the timer near LEDs (DISABLED)")),
1219 #endif
1221         INIT_OPT_INT("ui.timer", N_("Duration"),
1222                 "duration", 0, 1, 86400, 86400,
1223                 N_("Inactivity timeout in seconds. The maximum of one day\n"
1224                 "should be enough for just everyone (TM).")),
1226         INIT_OPT_STRING("ui.timer", N_("Action"),
1227                 "action", 0, "",
1228                 N_("Keybinding action to be triggered when timer reaches zero.")),
1231         INIT_OPT_TREE("ui", N_("Window tabs"),
1232                 "tabs", 0,
1233                 N_("Window tabs settings.")),
1235         INIT_OPT_INT("ui.tabs", N_("Display tabs bar"),
1236                 "show_bar", 0, 0, 2, 1,
1237                 N_("Show tabs bar on the screen:\n"
1238                 "0 means never\n"
1239                 "1 means only if two or more tabs are open\n"
1240                 "2 means always")),
1242         INIT_OPT_BOOL("ui.tabs", N_("Tab bar at top"),
1243                 "top", 0, 0,
1244                 N_("Whether display tab bar at top like other browsers do.")),
1246         INIT_OPT_BOOL("ui.tabs", N_("Wrap-around tabs cycling"),
1247                 "wraparound", 0, 1,
1248                 N_("When moving right from the last tab, jump to the first one, and\n"
1249                 "vice versa.")),
1251         INIT_OPT_BOOL("ui.tabs", N_("Confirm tab closing"),
1252                 "confirm_close", 0, 0,
1253                 N_("When closing a tab show confirmation dialog.")),
1257         INIT_OPT_LANGUAGE("ui", N_("Language"),
1258                 "language", 0,
1259                 N_("Language of user interface. 'System' means that the language will\n"
1260                 "be extracted from the environment dynamically.")),
1262         INIT_OPT_BOOL("ui", N_("Display menu bar always"),
1263                 "show_menu_bar_always", 0, 0,
1264                 N_("Always show menu bar on the screen.")),
1266         INIT_OPT_BOOL("ui", N_("Display status bar"),
1267                 "show_status_bar", 0, 1,
1268                 N_("Show status bar on the screen.")),
1270         INIT_OPT_BOOL("ui", N_("Display title bar"),
1271                 "show_title_bar", 0, 1,
1272                 N_("Show title bar on the screen.")),
1274         INIT_OPT_BOOL("ui", N_("Display goto dialog in new tabs"),
1275                 "startup_goto_dialog", 0, 1,
1276                 N_("Pop up goto dialog in newly created tabs when there's no homepage\n"
1277                 "set. This means also showing goto dialog on startup.")),
1279         INIT_OPT_BOOL("ui", N_("Show a message box when file is saved successfully"),
1280                 "success_msgbox", 0, 1,
1281                 N_("When you pressed a [ Save ] button in some manager, this option\n"
1282                 "will make sure that a box confirming success of the operation will\n"
1283                 "pop up.")),
1286         INIT_OPT_TREE("ui", N_("Sessions"),
1287                 "sessions", OPT_SORT,
1288                 N_("Sessions settings.")),
1290         INIT_OPT_BOOL("ui.sessions", N_("Keep session active"),
1291                 "keep_session_active", 0, 0,
1292                 N_("Keep the session active even if the last terminal exits.")),
1294         INIT_OPT_BOOL("ui.sessions", N_("Auto save session"),
1295                 "auto_save", 0, 0,
1296                 N_("Automatically save the session when quitting.\n"
1297                 "This feature requires bookmark support.")),
1299         INIT_OPT_BOOL("ui.sessions", N_("Auto restore session"),
1300                 "auto_restore", 0, 0,
1301                 N_("Automatically restore the session at start.\n"
1302                 "This feature requires bookmark support.")),
1304         INIT_OPT_STRING("ui.sessions", N_("Auto save and restore session folder name"),
1305                 "auto_save_foldername", 0, "Auto saved session",
1306                 N_("Name of the bookmarks folder used for auto saving and restoring session.\n"
1307                 "The name has to be unique. Any folders with the same name will be deleted.\n"
1308                 "This only makes sense with bookmark support.")),
1310         INIT_OPT_STRING("ui.sessions", N_("Homepage URI"),
1311                 "homepage", 0, WWW_HOME_URL,
1312                 N_("The URI to load either at startup time when no URI was given\n"
1313                 "on the command line or when requested by the goto-url-home action.\n"
1314                 "Set to \"\" if the environment variable WWW_HOME should be used\n"
1315                 "as homepage URI instead.")),
1317 #ifdef HAVE_STRFTIME
1318         INIT_OPT_STRING("ui", N_("Date format"),
1319                 "date_format", 0, "%b %e %H:%M",
1320                 N_("Date format to use in dialogs. See strftime(3).")),
1321 #endif
1323         INIT_OPT_BOOL("ui", N_("Set window title"),
1324                 "window_title", 0, 1,
1325                 N_("Set the window title when running in a windowing environment\n"
1326                 "in an xterm-like terminal. This way the document's title is\n"
1327                 "shown on the window titlebar.")),
1331         /* Compatibility alias: added by pasky at 2004-07-22, 0.9.CVS. */
1332         INIT_OPT_ALIAS("", "secure_file_saving", 0, "infofiles.secure_save"),
1334         NULL_OPTION_INFO,
1337 /* vim: set filetype=c : */