start cleaning up michal style violations and fix a & that should have
[xxxterm.git] / xxxterm.1
blobbd81b869373ab0867852a5bbb089f413b435f334
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.
147 GTK has some default keybindings for manipulating text inside input
148 fields, such as the URI or search entry widget, for example
149 .Cm C-w
150 deletes a word. To override these defaults prefix your key with an
151 exclamation mark, like this: "keybinding = tabclose,!C-w".
153 .Cm clearall
154 key word is special and is meant to reset the key binding list to the GTK+
155 and WebKit defaults.
156 This keyword should be the first
157 .Cm keybinding
158 entry in the configuration file.
160 Shift should be used sparingly since it gets in the way of non-USA keyboards.
161 See the accompanying configuration file for examples.
163 The various bindings are documented below.
164 The relevant keybinding action is given afterwards, in parentheses.
165 .Ss Search Commands
166 These commands are used to search for text strings within a web page.
168 .Bl -tag -width Ds -offset indent -compact
169 .It Cm /
170 Start a search
171 .Pq Cm search
172 .It Cm \&?
173 Start a backwards search
174 .Pq Cm searchb
175 .It Cm n
176 Next item matching search
177 .Pq Cm searchnext
178 .It Cm N
179 Previous item matching search
180 .Pq Cm searchprev
182 .Ss Focus Commands
183 These commands are used to shift the focus of
185 from one area to another.
187 .Bl -tag -width Ds -offset indent -compact
188 .It Cm F6
189 Focus on address bar
190 .Pq Cm focusaddress
191 .It Cm F7
192 Focus on search entry
193 .Pq Cm focussearch
195 .Ss Command Aliases
196 These commands allow the user to map specific actions to specific keys.
197 It can be useful when the
198 .Fl S
199 option is used.
201 .Bl -tag -width Ds -offset indent -compact
202 .It Cm F1
203 Alias for ":help"
204 .It Cm F4
205 Alias for ":toplevel toggle"
206 .It Cm F9
207 Alias for ":open"
208 .Pq Cm promptopen
209 .It Cm F10
210 Alias for ":open current-uri"
211 .Pq Cm promptopencurrent
212 .It Cm F11
213 Alias for ":tabnew"
214 .Pq Cm prompttabnew
215 .It Cm F12
216 Alias for ":tabnew current-uri"
217 .Pq Cm prompttabnewcurrent
219 .Ss Navigation Commands
220 These commands allow the user to navigate web pages and,
221 to some extent,
222 control the browser.
224 .Bl -tag -width "Space, C-f, PageDownXXX" -offset indent -compact
225 .It Cm F5, C-r, C-l
226 Reload page
227 .Pq Cm reload
228 .It Cm C-R
229 Reload page without using any cached data
230 .Pq Cm reloadforce
231 .It Cm Backspace, M-Left
232 Previous page
233 .Pq Cm goback
234 .It Cm S-BackSpace, M-Right
235 Forward page
236 .Pq Cm goforward
237 .It Cm j, Down
238 Next line on page
239 .Pq Cm scrolldown
240 .It Cm k, Up
241 Previous line on page
242 .Pq Cm scrollup
243 .It Cm G, End
244 Bottom of page
245 .Pq Cm scrollbottom
246 .It Cm gg, Home
247 Top of page
248 .Pq Cm scrolltop
249 .It Cm Space, C-f, PageDown
250 Page down
251 .Pq Cm scrollpagedown
252 .It Cm C-b, PageUp
253 Page up
254 .Pq Cm scrollpageup
255 .It Cm l, Right
256 Page right
257 .Pq Cm scrollright
258 .It Cm h, Left
259 Page left
260 .Pq Cm scrollleft
261 .It Cm $
262 Page far right
263 .Pq Cm scrollfarright
264 .It Cm 0
265 Page far left
266 .Pq Cm scrollfarleft
267 .It Cm M-f
268 Favorites
269 .Pq Cm fav
270 .It Cm M-j
271 Cookie jar
272 .Pq Cm cookiejar
273 .It Cm M-d
274 Download manager
275 .Pq Cm dl
276 .It Cm C-p
277 Print page
278 .Pq Cm print
279 .It Cm M-h
280 Global history
281 .Pq Cm history
282 .It Cm C-j
283 Toggle Java Script enabled for FQDN
284 .Pq Cm js
285 .It Cm C-s
286 Toggle source view
287 .Pq Cm togglesrc
288 .It Cm M-c
289 Toggle cookie enabled for FQDN
290 .Pq Cm cookie
292 .Ss Tab Manipulation
294 supports tabbed browsing.
295 That is, web pages may be opened in separate tabs,
296 allowing the user to quickly move from one page to another,
297 and back.
298 These commands then are used to create, destroy, and move between tabs.
300 .Bl -tag -width "C-plus, C-equalXXX" -offset indent -compact
301 .It Cm C-MB1
302 Open new tab with the clicked link
303 .It Cm C-t
304 Create new tab with focus in URL entry
305 .Pq Cm tabnew
306 .It Cm C-w
307 Destroy current tab
308 .Pq Cm tabclose
309 .It Cm U
310 Undo close tab
311 .Pq Cm tabundoclose
312 .It Cm C-Left
313 Go to the previous tab
314 .Pq Cm tabprevious
315 .It Cm C-Right
316 Go to the next tab
317 .Pq Cm tabnext
318 .It Cm C-[1..9]
319 Jump to page
320 .Ar N
321 .Pq Cm tabnext [1..9]
322 .It Cm C-minus
323 Zoom out by 4%
324 .Pq Cm focusout
325 .It Cm C-plus, C-equal
326 Zoom in by 4%
327 .Pq Cm focusin
328 .It Cm C-0
329 Set zoom level to 100%
330 .Pq Cm focusreset
332 .Ss Yanking and pasting
333 These commands copy and paste text to and from the clipboard.
335 .Bl -tag -width Ds -offset indent -compact
336 .It Cm p
337 Paste the contents of the clipboard into the address bar
338 .Pq Cm pasteuricur
339 .It Cm P
340 Paste the contents of the clipboard into a new tab
341 .Pq Cm pasteurinew
342 .It Cm y
343 Yank the current URL into the clipboard
344 .Pq Cm yankuri
346 .Ss Hyperlink Following
347 This allows the user to follow hyperlinks
348 without using a mouse.
349 Enter the corresponding number to follow the link.
350 Alternatively one can type the name of the link and when there are no more
351 possibilities
353 will follow the link.
355 .Bl -tag -width Ds -offset indent -compact
356 .It Cm f
357 Highlight all links and prefix them with a number.
358 .Pq Cm hinting
360 .Ss Exiting
361 Commands to exit the browser.
363 .Bl -tag -width Ds -offset indent -compact
364 .It Cm C-q
365 Quit
366 .Pq Cm quitall
368 .Ss Low-Contrast Color Scheme
369 This command toggles the page's style between the default CSS and a
370 low-contrast color scheme with light grey text on a dark grey background.
372 .Bl -tag -width Ds -offset indent -compact
373 .It Cm i
374 Toggle the current tab's style.
375 .Pq Cm userstyle
377 .Sh COMMAND MODE
378 Command mode works in a similar fashion to the
379 .Xr vi 1
380 editor;
381 it is entered by typing a colon and exited by typing Esc.
382 The commands and their descriptions are listed below.
383 .Bl -tag -width Ds -offset indent
384 .It Cm about , version
385 Show the "About" page.
386 .It Cm buffers , ls , tabs
387 Displays the currently open tabs and lets the user switch tab by typing
388 the tab number or using the mouse.
389 .It Cm ca
390 Display CA certificates.
391 .It Cm cert , cert show
392 Download and display certificates of domain on tab.
393 .It Cm cert save
394 Save certificate into a local store.
395 The next time the site is visited it is compared against the store.
396 If the certificate matches,
397 the address bar will be blue;
398 if it doesn't the bar will be red.
399 .It Cm cookie
401 .Cm cookie
402 command is used to manipulate the cookie whitelist.
403 Used by itself it expands to
404 .Cm cookie show all .
405 .It Cm cookiejar
406 Show cookie jar contents.
407 .It Cm cookie save, cookie save fqdn
408 Save the current fully qualified domain name (FQDN)
409 to the persistent whitelist.
410 For example,
411 the www.peereboom.us domain would result in saving .www.peereboom.us.
412 .It Cm cookie save domain
413 Save the top level domain name to the persistent whitelist.
414 For example,
415 the www.peereboom.us domain would result in saving .peereboom.us.
417 This action enables cookies if it is currently disabled for this entry.
418 .It Cm cookie show all
419 Show all persistent and session entries in the cookie whitelist.
420 .It Cm cookie show persistent
421 Show all persistent entries in the cookie whitelist.
422 .It Cm cookie show session
423 Show all session entries in the cookie whitelist.
424 .It Cm cookie toggle domain
425 Toggle cookie support for the current top level domain.
426 .It Cm cookie toggle, cookie toggle fqdn
427 Toggle cookie support for the current FQDN.
428 .It Cm dl
429 Show download manager.
430 .It Cm fav
431 Show favorites.
432 .It Cm favadd
433 Add the current page to favorites.
434 .It Cm fullscreen , f
435 Toggle hiding tabs and url entry toolbar.
436 .It Cm h , hist , history
437 Show global history.
438 .It Cm help
439 Show help page.
440 .It Cm home
441 Go to home URL.
442 .It Cm js
444 .Cm js
445 command is used to manipulate the Java Script whitelist.
446 Used by itself it expands to
447 .Cm js show all .
448 .It Cm js save, save fqdn
449 Saves the FQDN to the persistent whitelist.
450 For example,
451 the www.peereboom.us domain would result in saving .www.peereboom.us.
452 .It Cm js save domain
453 Saves the top level domain name to the persistent whitelist.
454 For example,
455 the www.peereboom.us domain would result in saving .peereboom.us.
457 This action enables Java Script if it is currently disabled for this entry.
458 .It Cm js show all
459 Shows all persistent and session entries in the JS whitelist.
460 .It Cm js show persistent
461 Shows all persistent entries in the JS whitelist.
462 .It Cm js show session
463 Shows all session entries in the JS whitelist.
464 .It Cm js toggle, js toggle fqdn
465 Toggle Java Script execution for the current FQDN.
466 .It Cm js toggle domain
467 Toggle Java Script execution for the current top level domain.
468 .It Cm open , op , o URL
469 Open URL.
470 .It Cm print
471 Print page.
472 .It Cm qa , qall , quitall
473 Quit
474 .Nm .
475 .It Cm quit , q
476 Close current tab and quit
478 if it is the last tab.
479 .It Cm restart
480 Restart
482 and reload all current tabs.
483 .It Cm run_script [path_to_script]
484 Runs the script path_to_script with the current uri as the argument.
485 If path_to_script is not provided, the value of default_script is used
486 instead.
487 .It Cm session , Cm session show
488 Display the current session name.
489 By default the session name is main_session.
490 To create a new session use the
491 .Cm session save
492 command.
493 A session is defined as the lifetime of the browser application.
494 .It Cm session delete <session_name>
495 Delete session session_name from persistent storage.
496 If session_name is the current session then the session will revert to
497 main_session.
498 .It Cm session open <session_name>
499 Open session_name and close all currently open tabs.
500 Going forward this session is named session_name.
501 .It Cm session save <session_name>
502 Save current tabs to session_name session.
503 This will close the current session and going forward this session is named
504 session_name.
505 .It Cm stats
506 Show blocked cookie statistics.
507 These statistics vary based on settings and are not persistent.
508 .It Cm statustoggle , statust
509 Toggle status bar.
510 .It Cm tabclose , tabc
511 Close current tab.
512 .It Cm tabhide
513 Hide tabs.
514 .It Cm tabnew , tabedit , tabe URL
515 Create new tab and optionally open provided URL.
516 .It Cm tabnext , tabn
517 Go to the next tab.
518 .It Cm tabprevious , tabp
519 Go to the previous tab.
520 .It Cm tabshow
521 Show tabs.
522 .It Cm toplevel , toplevel toggle
523 Toggle the top level domain name cookie and JS session whitelist.
524 This is to enable/disable short lived full site functionality without
525 permanently adding the top level domain to the persistent whitelist.
526 .It Cm urlhide , urlh
527 Hide url entry and tool bar.
528 .It Cm urlshow , urls
529 Show url entry and tool bar.
530 .It Cm w
531 Save open tabs to current session.
532 The tabs will be restored next time the session is opened.
533 See the session command for additional details.
534 .It Cm wq
535 Save open tabs and quit.
536 The tabs will be restored next time
538 the session is opened.
539 See the session command for additional details.
541 .Sh BUFFER COMMANDS
542 In addition to shortcuts and commands 
544 provides buffer commands. Buffer commands are short, multi character
545 vi-like commands, often requiring an argument. Partial buffer commands
547 displayed in the buffer command statusbar element (see
548 .Cm statusbar_elems ) .
549 Pressing Esc or switching to another tab cancels a partially entered
550 buffer command. In the following list
551 .Cm arg
552 denotes the argument a buffer command accepts. Buffer commands are
553 defined as extended regular experssions.
554 Note that if a character is used as a shortcut it will not be interpreted
555 as the beginning of a buffer command. This is the case with
556 .Cm 0 .
558 .Bl -tag -width "[`'][a-zA-Z0-9]XXX" -offset indent -compact
559 .It Cm gg
560 go to the top of the page
561 .It Cm gG
562 go to the bottom of the page
563 .It Cm [0-9]+%
564 go to the 
565 .Cm arg
566 percent of the page
567 .It Cm [0-9]*gU
569 .Cm arg
570 levels up. If
571 .Cm arg
572 is missing, 1 is assumed. Going a
573 level up means going to a uri obtained from the current one by removing
574 the last slash ('/') character and everything that follows it
575 .It Cm gh
576 open the home page in the current tab
577 .It Cm m[a-zA-Z0-9]
578 set a mark denoted by
579 .Cm arg
580 at the current page position. These marks behave like those in vi or
581 less.
582 .It Cm [`'][a-zA-Z0-9]
583 go to the position where mark
584 .Cm arg
585 was set
586 .It Cm M[a-zA-Z0-9]
587 set the current uri as quickmark
588 .Cm arg
589 .It Cm go[a-zA-Z0-9]
590 open the uri marked as quickmark
591 .Cm arg
592 in the current tab
593 .It Cm gn[a-zA-Z0-9]
594 open the uri marked as quickmark
595 .Cm arg
596 in a new tab
597 .It Cm [0-9]+t
598 activate tab number
599 .Cm arg
600 .It Cm ZZ
601 quit
603 .It Cm ZR
604 restart
606 .It Cm zi
607 zoom in by 4%
608 .It Cm zo
609 zoom out by 4%
610 .It Cm z0
611 set zoom level to 100%
612 .It Cm [0-9]+Z
613 set zoom level to
614 .Cm arg
616 .Sh QUICKMARKS
617 Quickmarks are like bookmarks, except they are refered to by a single
618 character (a letter or a digit), instead of a longer name. See the
619 .Cm M[a-zA-Z0-9] ,
620 .Cm go[a-zA-Z0-9]
622 .Cm gn[a-zA-Z0-9]
623 buffer commands for usage. Quickmarks are stored in
624 .Pa ~/.xxxterm/quickmarks
625 and are saved automatically after each
626 .Cm M[a-zA-Z0-9]
627 buffer command.
628 .Sh ABOUT SCREENS
629 The about screens are internally generated web pages by
631 for user interaction.
632 These are entered in the address bar and the format is
633 .Cm about:screen
634 where screen is the desired screen to display.
635 For example about:favorites.
636 Any about screen can be used as the home page as specified by
637 .Cm home
638 in the configuration file.
640 .Bl -tag -width "downloadsXXX" -offset indent -compact
641 .It Cm about
642 show the about screen
643 .It Cm blank
644 show a blank screen
645 .It Cm cookiewl
646 show the cookie whitelist screen
647 .It Cm cookiejar
648 show the cookiejar screen
649 .It Cm downloads
650 show the downloads screen
651 .It Cm favorites
652 show the favorites screen
653 .It Cm help
654 show the help web page
655 .It Cm history
656 show the history screen
657 .It Cm jswl
658 show the Java Script whitelist screen
659 .It Cm set
660 show the settings screen
661 .It Cm stats
662 show the statistics screen
664 .Sh WHITELISTS
665 This section descibes advanced usage settings.
666 Most users should use
667 .Cm browser_mode
668 instead to setup
670 and skip over this section.
673 has a number of whitelists to control blocking cookies and Java Script
674 execution for FQDNs or domains.
675 When properly enabled these whitelists require either the FQDN or top level
676 domain to exist in the whitelists in order to allow cookies to be stored or
677 Java Script to execute.
678 Both Java Script and cookies have two whitelists associated with them.
679 The whitelists are called session and persistent.
680 Items in the session whitelists are only allowed for the lifetime of the
682 instance.
683 Items in the persistent whitelists are stored on disk and are restored
684 upon restarting.
686 Setting up the whitelists is a little tricky due to intricacies of WebKit.
687 In fact the semantics are different for cookies and Java Script.
689 Cookie whitelist requires the following configuration to be set:
691 .Bl -tag -width "enable_cookie_whitelistXXX" -offset indent -compact
692 .It Cm cookies_enabled
693 This is a WebKit setting and must be set to
694 .Pa 1
695 (ENABLED)
696 in order to be able to use a
697 cookie whitelist.
698 .It Cm enable_cookie_whitelist
699 This needs to be set to
700 .Pa 1
701 to enable the cookie whitelist functionality.
702 .It Cm cookie_wl
703 These entries in the configuration file are the actual domains names in the
704 cookie whitelist.
707 Java Script whitelist requires the following configuration to be set:
709 .Bl -tag -width "enable_js_whitelistXXX" -offset indent -compact
710 .It Cm enable_scripts
711 This is a WebKit setting and must be set to
712 .Pa 0
713 (DISABLED)
714 in order to be able to use a
715 Java Script whitelist.
716 .It Cm enable_js_whitelist
717 This needs to be set to
718 .Pa 1
719 to enable the Java Script whitelist functionality.
720 .It Cm js_wl
721 These entries in the configuration file are the actual domains names in the
722 Java Script whitelist.
725 See the
726 .Pa FILES
727 section for additional configuration file entries and details
728 that alter runtime behavior.
729 .Sh FILES
730 .Bl -tag -width "/etc/xxxterm.confXXX" -compact
731 .It Pa ~/.xxxterm.conf
733 user specific settings.
734 .It Pa ~/.xxxterm
736 scratch directory.
740 tries to open the user specific file,
741 .Pa ~/.xxxterm.conf .
742 If that file is unavailable,
743 it then uses built-in defaults.
745 The format of the file is \*(Ltkeyword\*(Gt = \*(Ltsetting\*(Gt.
746 For example:
748 .Dl http_proxy = http://127.0.0.1:8080
750 Enabling or disabling an option is done by using 1 or 0 respectively.
752 The file supports the following keywords:
754 .Bl -tag -width "enable_cookie_whitelistXXX" -offset indent -compact
755 .It Cm alias
756 Defines an alias for a given URL, so that the URL is loaded when the alias is
757 entered in the address bar.
758 If the aliased URL includes a %s format specifier, then any argument given after
759 the alias on the address bar is substituted.
760 For example, if g,http://www.google.com/search?q=%s is defined as an alias,
761 then the URL http://www.google.com/search?q=foo is loaded when navigating to
762 "g foo".
763 .It Cm allow_volatile_cookies
764 If set cookies are stored in the session cache but will be discarded once
766 exits.
767 Unfortunately enabling this does allow for some limited tracking on the web.
768 .It Cm append_next
769 When set a new tab is appended after the current tab instead of being appended
770 as the last tab.
771 .It Cm browser_mode
774 browser has 3 default operating modes:
775 .Pa normal
776 (the default),
777 .Pa whitelist
779 .Pa kiosk .
780 In the
781 .Pa normal
782 mode the browser allows all cookies and Java Script as any other browser
783 would.
784 This means that all cookies are saved to persistent storage and that all
785 Java Script runs.
787 On the other hand, using the
788 .Pa whitelist
789 mode enables whitelists.
790 This requires the user to add all the required
791 .Pa cookie_wl
793 .Pa js_wl
794 items.
795 If a domain does not appear in the whitelists
797 disallows cookies and Java Script execution.
800 .Pa kiosk
801 mode the browse works just like
802 .Pa normal
803 mode however the toolbar only has the backward, forward and home button.
805 This setting must be the first entry in
806 .Pa ~/.xxxterm.conf
807 because it sets advanced settings that can be overridden later in the file.
808 See the default config file for more details.
809 .It Cm cmd_font
810 Set the command prompt font.
811 E.g.
812 .Pa cmd_font = monospace normal 9 .
813 .It Cm cookie_policy
814 This field delineates the cookie policy.
815 Possible values are: no3rdparty, reject 3rd party cookies.
816 accept, accept all cookies.
817 reject, reject all cookies.
818 .It Cm cookie_wl
819 This is a cookie whitelist item.
820 Use multiple times to add multiple entries.
821 Valid entries are for example *.moo.com and the equivalent .moo.com.
822 A fully qualified host is also valid and is for example www.moo.com.
823 .It Cm cookies_enabled
824 Enable cookies.
825 .It Cm ctrl_click_focus
826 Give focus in newly created tab instead of opening it in the background.
827 .It Cm default_script
828 Path to the script used as the default value for the run_script
829 command.
830 .It Cm default_zoom_level
831 Set the default browsing zoom level.
832 .It Cm download_dir
833 Locations where files are downloaded to.
834 This directory must exist and
836 validates that during startup.
837 .It Cm enable_cookie_whitelist
838 When enabled all cookies must be in the whitelist or they are rejected.
839 .It Cm enable_js_whitelist
840 When enabled all domains must be in the js whitelist in order to run Java Script.
841 NOTE: Make sure
842 .Cm enable_scripts
843 is set to 0.
844 .It Cm enable_plugins
845 Enable plugins.
846 .It Cm enable_scripts
847 Enable scripts.
848 .It Cm enable_socket
849 When enabled the first instance of
851 will create a socket in the
852 .Pa ~/.xxxterm
853 directory.
854 Using the -n url option on subsequent
856 invocations will cause the specified URL to be loaded in a new tab.
857 Only a user with identical UID and GID can use this option.
858 .It Cm enable_localstorage
859 Enable html5 Local Storage.
860 .It Cm enable_spell_checking
861 Enables spell checking. Preferred languages can be set using
862 .Cm spell_check_languages
863 option.
864 .It Cm fancy_bar
865 Enables a backward, forward, and stop button to the toolbar.
866 Additionally if
867 .Cm search_string
868 is set it'll enable an entry box for searches.
869 .It Cm guess_search
870 When enabled
872 will try to guess if the string you entered, in the URI entry widget or
873 the command widget, is term you want to search for using search_string
874 (see above).
875 If the string does not contain a dot nor a slash, is not a
876 path to a local file and does not resolves to an IP then it is assumed
877 to be a search term.
878 .It Cm home
879 Homepage in URL format.
880 .It Cm http_proxy
881 Proxy server in URL format.
883 overrides
884 .Cm http_proxy
885 if it is specified as an environment variable.
886 It must be noted that one MUST use an IP address and not a FQDN.
888 If one desires to use a socks proxy then an intermediary tool must be used.
889 It has been reported that tsocks works with
890 .Nm .
891 .It Cm icon_size
892 Permits icon sizes to be changed if
893 .Cm fancy_bar
894 is enabled.
895 Size 1 is small; 2 is normal; 3 through 6 are progressively larger.
896 .It Cm js_wl
897 This is a Java Script whitelist item.
899 .Cm cookie_wl
900 for semantics and more details.
901 .It Cm max_connections
902 The maximum number of connections that
904 can open at once.
905 .It Cm max_host_connections
906 The maximum number of connections that
908 can open at once to a given host.
909 .It Cm mime_type
910 Sets an action for a specific or default MIME type.
911 For example, to download and view a pdf using kpdf set
912 .Pa mime_type = application/pdf,kpdf .
913 To set a default value use *, for example,
914 .Pa mime_type = video/*,mplayer .
915 Note that the action is only passed the URL and not all applications are
916 capable of dealing with a URL and therefore one might have to create a wrapper
917 script to download the content first.  Alternatively one can add the
918 .Pa @
919 in front of the MIME type to indicate "download first".
920 For example,
921 .Pa mime_type = @application/pdf,xpdf .
922 When
923 .Pa @
924 is use the file will be downloaded to the
925 .Pa download_dir
926 before the MIME handler is called.
927 .It Cm oops_font
928 Set the font used to display error messages.
929 E.g.
930 .Pa oops_font = monospace normal 9 .
931 .It Cm read_only_cookies
932 Mark cookies file read-only and discard all cookies once the session is
933 terminated.
934 .It Cm refresh_interval
935 Refresh interval while in the download manager.
936 The default is 10.
937 .It Cm resource_dir
938 Directory that contains various
940 resources such as icons.
941 This is OS-specific and should be handled by the porter.
942 .It Cm save_global_history
943 If set the global history will be saved to
944 .Pa ~/.xxxterm/history
945 when quitting
946 and restored at startup.
947 See the
948 .Sx KEY BINDINGS
949 section above for how the global history is accessed.
950 Global history is not saved to disk by default.
951 .It Cm save_rejected_cookies
952 Saves rejected cookies in cookie format in {work_dir}/rejected.txt.
953 All cookies are saved and unlike a cookie jar they are never replaced.
954 Make sure there is enough disk space to enable this feature.
955 .It Cm search_string
956 Default search engine string.
957 See the
958 .Pa xxxterm.conf
959 file for details.
960 .It Cm session_autosave
961 Enable session auto-saving when changing state (e.g. adding or removing a tab).
962 The session name is what is currently in use and is described in the
963 .Cm session save
965 .Cm session open
966 commands.
967 .It Cm session_timeout
968 This value is the time that is added in seconds to a session cookie.
969 .It Cm show_tabs
970 Enable or disable showing tabs.
971 .It Cm show_url
972 Enable or disable showing the url and toolbar.
973 .It Cm show_statusbar
974 Enable or disable showing the status bar.
975 .It Cm single_instance
976 If set only one
978 will be permitted to run.
979 If there is a URL specified it will be opened in a new tab in the already
980 running
982 session.
983 .It Cm spell_check_languages
984 The languages to be used for spell checking, separated by commas. For example, en_US.
985 .It Cm ssl_ca_file
986 If set to a valid PEM file
987 all server certificates will be validated against it.
988 The URL bar will be colored green when the certificate is trusted
989 and yellow when untrusted.
992 .Cm ssl_ca_file
993 is not set then the URL bar will color all HTTPS connections red.
994 .It Cm ssl_strict_certs
995 If this value is set connections to untrusted sites will be aborted.
996 This value is only used if
997 .Cm ssl_ca_file
998 is set.
999 .It Cm statusbar_elems
1000 Define the components of the status bar. The possible components are:
1001 .Bd -literal -offset indent
1002 | - separator
1003 P - page progress percent
1004 B - buffer command
1005 Z - page zoom level
1007 The default is "BP".
1008 These components show nothing if there is nothing worth showing, like
1009 zoom amount 100%.
1010 .It Cm statusbar_font
1011 Set the status bar font.
1012 E.g.
1013 .Pa statusbar_font = monospace normal 9 .
1014 .It Cm tab_style
1015 Set the tab style to either
1016 .Cm normal
1017 - the default gtk notebook tabs, or
1018 .Cm compact
1019 for an alternative.
1020 You can switch the tab style with the
1021 .Pa tabnextstyle
1022 command.
1023 .It Cm tabbar_font
1024 Set the compact tab bar font.
1025 E.g.
1026 .Pa tabbar_font = monospace normal 9 .
1027 .It Cm user_agent
1028 Set to override the default
1030 user-agent string.
1031 .It Cm window_height
1032 Set the default height of the browser window.
1033 .It Cm window_width
1034 Set the default width of the browser window.
1035 .It Cm work_dir
1036 Set the work directory where all
1038 scratch files are stored.
1039 Default is
1040 .Cm ~/.xxxterm .
1042 .Sh HISTORY
1044 was inspired by vimprobable2 and the bloat in other
1046 web browsers.
1047 .Sh AUTHORS
1048 .An -nosplit
1050 was written by
1051 .An Marco Peereboom Aq marco@peereboom.us ,
1052 .An Stevan Andjelkovic Aq stevan@student.chalmers.se ,
1053 .An Edd Barrett Aq vext01@gmail.com ,
1054 .An Todd T. Fries Aq todd@fries.net ,
1055 .An Raphael Graf Aq r@undefined.ch ,
1057 .An Michal Mazurek Aq akfaew@jasminek.net .
1058 .Sh BUGS
1059 When
1060 .Cm save_global_history
1061 is enabled
1063 is supposed to, in addition to restoring the global history, color the
1064 visited links accordingly; however due to bug #51747 in WebKit this does
1065 not happen.