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