dont always run download first
[xxxterm.git] / xxxterm.1
blobb13a437da4df8d4bb7734720c6c4e0674851e94f
1 .\"     $xxxterm$
2 .\"
3 .\" Copyright (c) 2010, 2011 Marco Peereboom <marco@peereboom.us>
4 .\" Copyright (c) 2011 Jason McIntyre <jmc@openbsd.org>
5 .\"
6 .\" Permission to use, copy, modify, and distribute this software for any
7 .\" purpose with or without fee is hereby granted, provided that the above
8 .\" copyright notice and this permission notice appear in all copies.
9 .\"
10 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 .\"
18 .Dd $Mdocdate$
19 .Dt XXXTERM 1
20 .Os
21 .Sh NAME
22 .Nm xxxterm
23 .Nd lightweight web browser
24 .Sh SYNOPSIS
25 .Nm xxxterm
26 .Bk -words
27 .Op Fl nSTtV
28 .Op Fl f Ar file
29 .Op Fl s Ar session_name
30 .Op Ar url ...
31 .Ek
32 .Sh DESCRIPTION
33 .Nm
34 is a minimalistic web browser that tries to stay out of the way so that
35 valuable screen real estate can be used for much more important stuff.
36 It has sane defaults and does not require one to learn a language to do any
37 configuration.
38 It was written by hackers for hackers
39 and it strives to be small, compact, and fast.
40 .Pp
41 .Nm
42 is very simple in its use.
43 Most actions are initiated via key or mouse bindings.
44 Key bindings are based on those of the
45 .Xr vi 1
46 text editor,
47 giving web browsing a similar feel to navigating a text document.
48 The
49 .Sx KEY BINDINGS
50 section below documents the various defaults and possible customizations.
51 .Pp
52 The options are as follows:
53 .Bl -tag -width Ds
54 .It Fl f Ar file
55 Specify an alternative configuration file.
56 .It Fl n
57 Open a new tab in a running
58 .Nm
59 for each specified URL.
60 This option requires
61 .Cm enable_socket
62 to be enabled.
63 .It Fl e Ar command
64 Execute arbitrary command (see the
65 .Sx COMMAND MODE
66 section below) in a running
67 .Nm
68 instance. This option requires
69 .Cm enable_socket
70 to be enabled. Example run: xxxterm -e "tabnew openbsd.org"; xxxterm -e
71 tabclose; xxxterm -e wq.
72 .It Fl S
73 Disable the toolbar.
74 .It Fl s Ar session_name
75 Open session that was saved with ":session save" command.
76 .It Fl T
77 Disable visualization of tabs.
78 .It Fl t
79 Disable tabs.
80 .It Fl V
81 Display version and exit.
82 .El
83 .Sh FAST STARTUP
84 The following notation is used throughout this page:
85 .Pp
86 .Bl -tag -width Ds -offset indent -compact
87 .It Cm C-
88 Control
89 .It Cm S-
90 Shift
91 .It Cm M1-
92 Meta 1 (sometimes marked Alt)
93 .It Cm M2-
94 Meta 2
95 .It Cm M3-
96 Meta 3
97 .It Cm M4-
98 Meta 4 (sometimes marked Windows)
99 .It Cm M5-
100 Meta 2
101 .It Cm MB1
102 Mouse button 1
105 To browse to a specific address,
106 either use the mouse to click on the address bar
107 or press
108 .Cm F6
109 to shift the keyboard focus to the address bar.
110 The address is then entered manually.
112 The mouse can be used to navigate the page in the traditional manner,
113 or the keyboard can be used instead.
114 For example,
115 .Cm PageUp
117 .Cm PageDown
118 will scroll up and down the page.
120 To follow a link,
121 either click on it or use the
122 .Cm f
123 key and have
125 assign numbers to each link on the page;
126 entering that number on the keyboard will prompt
128 to follow the link.
129 .Sh KEY BINDINGS
131 provides many actions accessed via key or mouse bindings.
132 Most can be reprogrammed using a
133 .Cm keybinding
134 entry in the configuration file.
135 Each keyboard shortcut requires exactly one entry in the configuration file.
136 A shortcut can have multiple entries in the configuration file.
137 The format of the keybinding entry is as follows:
139 .D1 keybinding = action,keystroke(s)
141 For example, "keybinding = tabnew,C-t" where
142 .Cm tabnew
143 is the action and
144 .Cm C-t
146 the keystrokes.
148 .Cm clearall
149 key word is special and is meant to reset the key binding list to the GTK+
150 and WebKit defaults.
151 This keyword should be the first
152 .Cm keybinding
153 entry in the configuration file.
155 Shift should be used sparingly since it gets in the way of non-USA keyboards.
156 See the accompanying configuration file for examples.
158 The various bindings are documented below.
159 The relevant keybinding action is given afterwards, in parentheses.
160 .Ss Search Commands
161 These commands are used to search for text strings within a web page.
163 .Bl -tag -width Ds -offset indent -compact
164 .It Cm /
165 Start a search
166 .Pq Cm search
167 .It Cm \&?
168 Start a backwards search
169 .Pq Cm searchb
170 .It Cm n
171 Next item matching search
172 .Pq Cm searchnext
173 .It Cm N
174 Previous item matching search
175 .Pq Cm searchprev
177 .Ss Focus Commands
178 These commands are used to shift the focus of
180 from one area to another.
182 .Bl -tag -width Ds -offset indent -compact
183 .It Cm F6
184 Focus on address bar
185 .Pq Cm focusaddress
186 .It Cm F7
187 Focus on search entry
188 .Pq Cm focussearch
190 .Ss Command Aliases
191 These commands allow the user to map specific actions to specific keys.
192 It can be useful when the
193 .Fl S
194 option is used.
196 .Bl -tag -width Ds -offset indent -compact
197 .It Cm F9
198 Alias for ":open"
199 .Pq Cm promptopen
200 .It Cm F10
201 Alias for ":open current-uri"
202 .Pq Cm promptopencurrent
203 .It Cm F11
204 Alias for ":tabnew"
205 .Pq Cm prompttabnew
206 .It Cm F12
207 Alias for ":tabnew current-uri"
208 .Pq Cm prompttabnewcurrent
210 .Ss Navigation Commands
211 These commands allow the user to navigate web pages and,
212 to some extent,
213 control the browser.
215 .Bl -tag -width "Space, C-f, PageDownXXX" -offset indent -compact
216 .It Cm F5, C-r, C-l
217 Reload page
218 .Pq Cm reload
219 .It Cm C-R
220 Reload page without using any cached data
221 .Pq Cm reloadforce
222 .It Cm Backspace, M-Left
223 Previous page
224 .Pq Cm goback
225 .It Cm S-BackSpace, M-Right
226 Forward page
227 .Pq Cm goforward
228 .It Cm j, Down
229 Next line on page
230 .Pq Cm scrolldown
231 .It Cm k, Up
232 Previous line on page
233 .Pq Cm scrollup
234 .It Cm G, End
235 Bottom of page
236 .Pq Cm scrollbottom
237 .It Cm gg, Home
238 Top of page
239 .Pq Cm scrolltop
240 .It Cm Space, C-f, PageDown
241 Page down
242 .Pq Cm scrollpagedown
243 .It Cm C-b, PageUp
244 Page up
245 .Pq Cm scrollpageup
246 .It Cm l, Right
247 Page right
248 .Pq Cm scrollright
249 .It Cm h, Left
250 Page left
251 .Pq Cm scrollleft
252 .It Cm $
253 Page far right
254 .Pq Cm scrollfarright
255 .It Cm 0
256 Page far left
257 .Pq Cm scrollfarleft
258 .It Cm M-f
259 Favorites
260 .Pq Cm fav
261 .It Cm M-j
262 Cookie jar
263 .Pq Cm cookies
264 .It Cm M-d
265 Download manager
266 .Pq Cm dl
267 .It Cm C-p
268 Print page
269 .Pq Cm print
270 .It Cm M-h
271 Global history
272 .Pq Cm history
273 .It Cm C-j
274 Toggle Java Script enabled for FQDN
275 .Pq Cm js
276 .It Cm C-s
277 Toggle source view
278 .Pq Cm togglesrc
279 .It Cm M-c
280 Toggle cookie enabled for FQDN
281 .Pq Cm cookie
283 .Ss Tab Manipulation
285 supports tabbed browsing.
286 That is, web pages may be opened in separate tabs,
287 allowing the user to quickly move from one page to another,
288 and back.
289 These commands then are used to create, destroy, and move between tabs.
291 .Bl -tag -width "C-plus, C-equalXXX" -offset indent -compact
292 .It Cm C-MB1
293 Open new tab with the clicked link
294 .It Cm C-t
295 Create new tab with focus in URL entry
296 .Pq Cm tabnew
297 .It Cm C-w
298 Destroy current tab
299 .Pq Cm tabclose
300 .It Cm U
301 Undo close tab
302 .Pq Cm tabundoclose
303 .It Cm C-Left
304 Go to the previous tab
305 .Pq Cm tabprevious
306 .It Cm C-Right
307 Go to the next tab
308 .Pq Cm tabnext
309 .It Cm C-[1..0]
310 Jump to page
311 .Ar N
312 .Pq Cm tabgoto[1..0]
313 .It Cm C-minus
314 Shrink font size by one point
315 .Pq Cm focusout
316 .It Cm C-plus, C-equal
317 Grow font size by one point
318 .Pq Cm focusin
320 .Ss Yanking and pasting
321 These commands copy and paste text to and from the clipboard.
323 .Bl -tag -width Ds -offset indent -compact
324 .It Cm p
325 Paste the contents of the clipboard into the address bar
326 .Pq Cm pasteuricur
327 .It Cm P
328 Paste the contents of the clipboard into a new tab
329 .Pq Cm pasteurinew
330 .It Cm y
331 Yank the current URL into the clipboard
332 .Pq Cm yankuri
334 .Ss Hyperlink Following
335 This allows the user to follow hyperlinks
336 without using a mouse.
337 Enter the corresponding number to follow the link.
338 Alternatively one can type the name of the link and when there are no more
339 possibilities
341 will follow the link.
343 .Bl -tag -width Ds -offset indent -compact
344 .It Cm f
345 Highlight all links and prefix them with a number.
346 .Pq Cm hinting
348 .Ss Exiting
349 Commands to exit the browser.
351 .Bl -tag -width Ds -offset indent -compact
352 .It Cm C-q
353 Quit
354 .Pq Cm q!
356 .Ss Low-Contrast Color Scheme
357 This command toggles the page's style between the default CSS and a
358 low-contrast color scheme with light grey text on a dark grey background.
360 .Bl -tag -width Ds -offset indent -compact
361 .It Cm i
362 Toggle the current tab's style.
363 .Pq Cm userstyle
365 .Sh COMMAND MODE
366 Command mode works in a similar fashion to the
367 .Xr vi 1
368 editor;
369 it is entered by typing a colon and exited by typing Esc.
370 The commands and their descriptions are listed below.
371 .Bl -tag -width Ds -offset indent
372 .It Cm about , version
373 Show the "About" page.
374 .It Cm ca
375 Display CA certificates.
376 .It Cm cert , cert show
377 Download and display certificates of domain on tab.
378 .It Cm cert save
379 Save certificate into a local store.
380 The next time the site is visited it is compared against the store.
381 If the certificate matches,
382 the address bar will be blue;
383 if it doesn't the bar will be red.
384 .It Cm cookie
386 .Cm cookie
387 command is used to manipulate the cookie whitelist.
388 Used by itself it expands to
389 .Cm cookie show all .
390 .It Cm cookies
391 Show cookie jar contents.
392 .It Cm cookie save, cookie save fqdn
393 Save the current fully qualified domain name (FQDN)
394 to the persistent whitelist.
395 For example,
396 the www.peereboom.us domain would result in saving .www.peereboom.us.
397 .It Cm cookie save domain
398 Save the top level domain name to the persistent whitelist.
399 For example,
400 the www.peereboom.us domain would result in saving .peereboom.us.
402 This action enables cookies if it is currently disabled for this entry.
403 .It Cm cookie show all
404 Show all persistent and session entries in the cookie whitelist.
405 .It Cm cookie show persistent
406 Show all persistent entries in the cookie whitelist.
407 .It Cm cookie show session
408 Show all session entries in the cookie whitelist.
409 .It Cm cookie toggle domain
410 Toggle cookie support for the current top level domain.
411 .It Cm cookie toggle, cookie toggle fqdn
412 Toggle Java Script execution for the current FQDN.
413 .It Cm dl
414 Show download manager.
415 .It Cm fav
416 Show favorites.
417 .It Cm favadd
418 Add the current page to favorites.
419 .It Cm fullscreen , f
420 Toggle hiding tabs and url entry toolbar.
421 .It Cm h , hist , history
422 Show global history.
423 .It Cm help
424 Show help page.
425 .It Cm home
426 Go to home URL.
427 .It Cm js
429 .Cm js
430 command is used to manipulate the Java Script whitelist.
431 Used by itself it expands to
432 .Cm js show all .
433 .It Cm js save, save fqdn
434 Saves the FQDN to the persistent whitelist.
435 For example,
436 the www.peereboom.us domain would result in saving .www.peereboom.us.
437 .It Cm js save domain
438 Saves the top level domain name to the persistent whitelist.
439 For example,
440 the www.peereboom.us domain would result in saving .peereboom.us.
442 This action enables Java Script if it is currently disabled for this entry.
443 .It Cm js show all
444 Shows all persistent and session entries in the JS whitelist.
445 .It Cm js show persistent
446 Shows all persistent entries in the JS whitelist.
447 .It Cm js show session
448 Shows all session entries in the JS whitelist.
449 .It Cm js toggle, js toggle fqdn
450 Toggle Java Script execution for the current FQDN.
451 .It Cm js toggle domain
452 Toggle Java Script execution for the current top level domain.
453 .It Cm open , op , o URL
454 Open URL.
455 .It Cm print
456 Print page.
457 .It Cm qa , qa! , q!
458 Quit
459 .Nm .
460 .It Cm quit , q
461 Close current tab and quit
463 if it is the last tab.
464 .It Cm restart
465 Restart
467 and reload all current tabs.
468 .It Cm session , Cm session show
469 Display the current session name.
470 By default the session name is main_session.
471 To create a new session use the
472 .Cm session save
473 command.
474 A session is defined as the lifetime of the browser application.
475 .It Cm session delete <session_name>
476 Delete session session_name from persistent storage.
477 If session_name is the current session then the session will revert to
478 main_session.
479 .It Cm session open <session_name>
480 Open session_name and close all currently open tabs.
481 Going forward this session is named session_name.
482 .It Cm session save <session_name>
483 Save current tabs to session_name session.
484 This will close the current session and going forward this session is named
485 session_name.
486 .It Cm stats
487 Show blocked cookie statistics.
488 These statistics vary based on settings and are not persistent.
489 .It Cm statushide , statush
490 Hide status bar.
491 .It Cm statusshow , statuss
492 Show status bar.
493 .It Cm tabclose , tabc
494 Close current tab.
495 .It Cm tabhide , tabh
496 Hide tabs.
497 .It Cm tabnew , tabedit , tabe URL
498 Create new tab and optionally open provided URL.
499 .It Cm tabnext , tabn
500 Go to the next tab.
501 .It Cm tabprevious , tabp
502 Go to the previous tab.
503 .It Cm tabshow , tabs
504 Show tabs.
505 .It Cm urlhide , urlh
506 Hide url entry and tool bar.
507 .It Cm urlshow , urls
508 Show url entry and tool bar.
509 .It Cm w
510 Save open tabs to current session.
511 The tabs will be restored next time
513 the session is opened.
514 See the session command for additional details.
515 .It Cm wq , wq!
516 Save open tabs and quit.
517 The tabs will be restored next time
519 the session is opened.
520 See the session command for additional details.
522 .Sh ABOUT SCREENS
523 The about screens are internally generated web pages by
525 for user interaction.
526 These are entered in the address bar and the format is
527 .Cm about:screen
528 where screen is the desired screen to display.
529 For example about:favorites.
530 Any about screen can be used as the home page as specified by
531 .Cm home
532 in the configuration file.
534 .Bl -tag -width "downloadsXXX" -offset indent -compact
535 .It Cm about
536 show the about screen
537 .It Cm blank
538 show a blank screen
539 .It Cm cookiewl
540 show the cookie whitelist screen
541 .It Cm cookiejar
542 show the cookiejar screen
543 .It Cm downloads
544 show the downloads screen
545 .It Cm favorites
546 show the favorites screen
547 .It Cm help
548 show the help web page
549 .It Cm history
550 show the history screen
551 .It Cm jswl
552 show the Java Script whitelist screen
553 .It Cm set
554 show the settings screen
555 .It Cm stats
556 show the statistics screen
558 .Sh WHITELISTS
559 This section descibes advanced usage settings.
560 Most users should use
561 .Cm browser_mode
562 instead to setup
564 and skip over this section.
567 has a number of whitelists to control blocking cookies and Java Script
568 execution for FQDNs or domains.
569 When properly enabled these whitelists require either the FQDN or top level
570 domain to exist in the whitelists in order to allow cookies to be stored or
571 Java Script to execute.
572 Both Java Script and cookies have two whitelists associated with them.
573 The whitelists are called session and persistent.
574 Items in the session whitelists are only allowed for the lifetime of the
576 instance.
577 Items in the persistent whitelists are stored on disk and are restored
578 upon restarting.
580 Setting up the whitelists is a little tricky due to intricacies of WebKit.
581 In fact the semantics are different for cookies and Java Script.
583 Cookie whitelist requires the following configuration to be set:
585 .Bl -tag -width "enable_cookie_whitelistXXX" -offset indent -compact
586 .It Cm cookies_enabled
587 This is a WebKit setting and must be set to
588 .Pa 1
589 (ENABLED)
590 in order to be able to use a
591 cookie whitelist.
592 .It Cm enable_cookie_whitelist
593 This needs to be set to
594 .Pa 1
595 to enable the cookie whitelist functionality.
596 .It Cm cookie_wl
597 These entries in the configuration file are the actual domains names in the
598 cookie whitelist.
601 Java Script whitelist requires the following configuration to be set:
603 .Bl -tag -width "enable_js_whitelistXXX" -offset indent -compact
604 .It Cm enable_scripts
605 This is a WebKit setting and must be set to
606 .Pa 0
607 (DISABLED)
608 in order to be able to use a
609 Java Script whitelist.
610 .It Cm enable_js_whitelist
611 This needs to be set to
612 .Pa 1
613 to enable the Java Script whitelist functionality.
614 .It Cm js_wl
615 These entries in the configuration file are the actual domains names in the
616 Java Script whitelist.
619 See the
620 .Pa FILES
621 section for additional configuration file entries and details
622 that alter runtime behavior.
623 .Sh FILES
624 .Bl -tag -width "/etc/xxxterm.confXXX" -compact
625 .It Pa ~/.xxxterm.conf
627 user specific settings.
628 .It Pa ~/.xxxterm
630 scratch directory.
634 tries to open the user specific file,
635 .Pa ~/.xxxterm.conf .
636 If that file is unavailable,
637 it then uses built-in defaults.
639 The format of the file is \*(Ltkeyword\*(Gt = \*(Ltsetting\*(Gt.
640 For example:
642 .Dl http_proxy = http://127.0.0.1:8080
644 Enabling or disabling an option is done by using 1 or 0 respectively.
646 The file supports the following keywords:
648 .Bl -tag -width "enable_cookie_whitelistXXX" -offset indent -compact
649 .It Cm alias
650 Defines an alias for a given URL, so that the URL is loaded when the alias is
651 entered in the address bar.
652 If the aliased URL includes a %s format specifier, then any argument given after
653 the alias on the address bar is substituted.
654 For example, if g,http://www.google.com/search?q=%s is defined as an alias,
655 then the URL http://www.google.com/search?q=foo is loaded when navigating to
656 "g foo".
657 .It Cm allow_volatile_cookies
658 If set cookies are stored in the session cache but will be discarded once
660 exits.
661 Unfortunately enabling this does allow for some limited tracking on the web.
662 .It Cm append_next
663 When set a new tab is appended after the current tab instead of being appended
664 as the last tab.
665 .It Cm browser_mode
668 browser has 3 default operating modes:
669 .Pa normal
670 (the default),
671 .Pa whitelist
673 .Pa kiosk .
674 In the
675 .Pa normal
676 mode the browser allows all cookies and Java Script as any other browser
677 would.
678 This means that all cookies are saved to persistent storage and that all
679 Java Script runs.
681 On the other hand, using the
682 .Pa whitelist
683 mode enables whitelists.
684 This requires the user to add all the required
685 .Pa cookie_wl
687 .Pa js_wl
688 items.
689 If a domain does not appear in the whitelists
691 disallows cookies and Java Script execution.
694 .Pa kiosk
695 mode the browse works just like
696 .Pa normal
697 mode however the toolbar only has the backward, forward and home button.
699 This setting must be the first entry in
700 .Pa ~/.xxxterm.conf
701 because it sets advanced settings that can be overridden later in the file.
702 See the default config file for more details.
703 .It Cm cookie_policy
704 This field delineates the cookie policy.
705 Possible values are: no3rdparty, reject 3rd party cookies.
706 accept, accept all cookies.
707 reject, reject all cookies.
708 .It Cm cookie_wl
709 This is a cookie whitelist item.
710 Use multiple times to add multiple entries.
711 Valid entries are for example *.moo.com and the equivalent .moo.com.
712 A fully qualified host is also valid and is for example www.moo.com.
713 .It Cm cookies_enabled
714 Enable cookies.
715 .It Cm ctrl_click_focus
716 Give focus in newly created tab instead of opening it in the background.
717 .It Cm default_font_size
718 Set the default browsing font size.
719 .It Cm default_zoom_level
720 Set the default browsing zoom level.
721 .It Cm download_dir
722 Locations where files are downloaded to.
723 This directory must exist and
725 validates that during startup.
726 .It Cm enable_cookie_whitelist
727 When enabled all cookies must be in the whitelist or they are rejected.
728 .It Cm enable_js_whitelist
729 When enabled all domains must be in the js whitelist in order to run Java Script.
730 NOTE: Make sure
731 .Cm enable_scripts
732 is set to 0.
733 .It Cm enable_plugins
734 Enable plugins.
735 .It Cm enable_scripts
736 Enable scripts.
737 .It Cm enable_socket
738 When enabled the first instance of
740 will create a socket in the
741 .Pa ~/.xxxterm
742 directory.
743 Using the -n url option on subsequent
745 invocations will cause the specified URL to be loaded in a new tab.
746 Only a user with identical UID and GID can use this option.
747 .It Cm fancy_bar
748 Enables a backward, forward, and stop button to the toolbar.
749 Additionally if
750 .Cm search_string
751 is set it'll enable an entry box for searches.
752 .It Cm guess_search
753 When enabled
755 will try to guess if the string you entered, in the URI entry widget or
756 the command widget, is term you want to search for using search_string
757 (see above).
758 If the string does not contain a dot nor a slash, is not a
759 path to a local file and does not resolves to an IP then it is assumed
760 to be a search term.
761 .It Cm home
762 Homepage in URL format.
763 .It Cm http_proxy
764 Proxy server in URL format.
766 overrides
767 .Cm http_proxy
768 if it is specified as an environment variable.
769 It must be noted that one MUST use an IP address and not a FQDN.
771 If one desires to use a socks proxy then an intermediary tool must be used.
772 It has been reported that tsocks works with
773 .Nm .
774 .It Cm icon_size
775 Permits icon sizes to be changed if
776 .Cm fancy_bar
777 is enabled.
778 Size 1 is small; 2 is normal; 3 through 6 are progressively larger.
779 .It Cm js_wl
780 This is a Java Script whitelist item.
782 .Cm cookie_wl
783 for semantics and more details.
784 .It Cm mime_type
785 Sets an action for a specific or default MIME type.
786 For example, to download and view a pdf using kpdf set
787 .Pa mime_type = application/pdf,kpdf .
788 To set a default value use *, for example,
789 .Pa mime_type = video/*,mplayer .
790 Note that the action is only passed the URL and not all applications are
791 capable of dealing with a URL and therefore one might have to create a wrapper
792 script to download the content first.  Alternatively one can add the
793 .Pa @
794 in front of the MIME type to indicate "download first".
795 For example,
796 .Pa mime_type = @application/pdf,xpdf .
797 When
798 .Pa @
799 is use the file will be downloaded to the
800 .Pa download_dir
801 before the MIME handler is called.
802 .It Cm read_only_cookies
803 Mark cookies file read-only and discard all cookies once the session is
804 terminated.
805 .It Cm refresh_interval
806 Refresh interval while in the download manager.
807 The default is 10.
808 .It Cm resource_dir
809 Directory that contains various
811 resources such as icons.
812 This is OS-specific and should be handled by the porter.
813 .It Cm save_global_history
814 If set the global history will be saved to
815 .Pa ~/.xxxterm/history
816 when quitting
817 and restored at startup.
818 See the
819 .Sx KEY BINDINGS
820 section above for how the global history is accessed.
821 Global history is not saved to disk by default.
822 .It Cm save_rejected_cookies
823 Saves rejected cookies in cookie format in {work_dir}/rejected.txt.
824 All cookies are saved and unlike a cookie jar they are never replaced.
825 Make sure there is enough disk space to enable this feature.
826 .It Cm search_string
827 Default search engine string.
828 See the
829 .Pa xxxterm.conf
830 file for details.
831 .It Cm session_autosave
832 Enable session auto-saving when changing state (e.g. adding or removing a tab).
833 The session name is what is currently in use and is described in the
834 .Cm session save
836 .Cm session open
837 commands.
838 .It Cm session_timeout
839 This value is the time that is added in seconds to a session cookie.
840 .It Cm show_tabs
841 Enable or disable showing tabs.
842 .It Cm show_url
843 Enable or disable showing the url and toolbar.
844 .It Cm show_statusbar
845 Enable or disable showing the status bar.
846 .It Cm single_instance
847 If set only one
849 will be permitted to run.
850 If there is a URL specified it will be opened in a new tab in the already
851 running
853 session.
854 .It Cm ssl_ca_file
855 If set to a valid PEM file
856 all server certificates will be validated against it.
857 The URL bar will be colored green when the certificate is trusted
858 and yellow when untrusted.
861 .Cm ssl_ca_file
862 is not set then the URL bar will color all HTTPS connections red.
863 .It Cm ssl_strict_certs
864 If this value is set connections to untrusted sites will be aborted.
865 This value is only used if
866 .Cm ssl_ca_file
867 is set.
868 .It Cm user_agent
869 Set to override the default
871 user-agent string.
872 .It Cm window_height
873 Set the default height of the browser window.
874 .It Cm window_width
875 Set the default width of the browser window.
876 .It Cm work_dir
877 Set the work directory where all
879 scratch files are stored.
880 Default is
881 .Cm ~/.xxxterm .
883 .Sh HISTORY
885 was inspired by vimprobable2 and the bloat in other
887 web browsers.
888 .Sh AUTHORS
889 .An -nosplit
891 was written by
892 .An Marco Peereboom Aq marco@peereboom.us ,
893 .An Stevan Andjelkovic Aq stevan@student.chalmers.se ,
894 .An Edd Barrett Aq vext01@gmail.com ,
896 .An Todd T. Fries Aq todd@fries.net .
897 .Sh BUGS
898 When
899 .Cm save_global_history
900 is enabled
902 is supposed to, in addition to restoring the global history, color the
903 visited links accordingly; however due to bug #51747 in WebKit this does
904 not happen.