1 .\" Copyright (c) 2010, 2011, 2012 Marco Peereboom <marco@peereboom.us>
2 .\" Copyright (c) 2011 Jason McIntyre <jmc@openbsd.org>
3 .\" Copyright (c) 2012 Josh Rickmar <jrick@devio.us>
5 .\" Permission to use, copy, modify, and distribute this software for any
6 .\" purpose with or without fee is hereby granted, provided that the above
7 .\" copyright notice and this permission notice appear in all copies.
9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 .Dd $Mdocdate: July 02 2012 $
22 .Nd lightweight web browser
28 .Op Fl s Ar session_name
33 is a minimalistic web browser that tries to stay out of the way so that
34 valuable screen real estate can be used for much more important stuff.
35 It has sane defaults and does not require one to learn a language to do any
37 It was written by hackers for hackers
38 and it strives to be small, compact, and fast.
41 is very simple in its use.
42 Most actions are initiated via key or mouse bindings.
43 Key bindings are based on those of the
46 giving web browsing a similar feel to navigating a text document.
49 section below documents the various defaults and possible customizations.
51 The options are as follows:
54 Specify an alternative configuration file.
56 Open a new tab in a running
58 for each specified URL.
63 Execute arbitrary command (see the
65 section below) in a running
67 instance. This option requires
69 to be enabled. Example run: xombrero -e "tabnew openbsd.org"; xombrero -e
70 tabclose; xombrero -e wq.
73 .It Fl s Ar session_name
74 Open session that was saved with ":session save" command.
76 Disable visualization of tabs.
80 Display version and exit.
83 The following notation is used throughout this page:
85 .Bl -tag -width Ds -offset indent -compact
91 Meta 1 (sometimes marked Alt)
97 Meta 4 (sometimes marked Windows)
104 To browse to a specific address,
105 either use the mouse to click on the address bar
108 to shift the keyboard focus to the address bar.
109 The address is then entered manually.
111 The mouse can be used to navigate the page in the traditional manner,
112 or the keyboard can be used instead.
117 will scroll up and down the page.
120 either click on it or use the
124 assign numbers to each link on the page;
125 entering that number on the keyboard will prompt
130 provides many actions accessed via key or mouse bindings.
131 Most can be reprogrammed using a
133 entry in the configuration file.
134 Each keyboard shortcut requires exactly one entry in the configuration file.
135 A shortcut can have multiple entries in the configuration file.
136 The format of the keybinding entry is as follows:
138 .D1 keybinding = (:)action,(!)keystroke(s)
140 For example, "keybinding = tabnew,C-t" where
147 If the action begins with a colon, the action will be entered into the
148 command prompt instead of being executed.
149 For example, "keybinding = :session open ,M1-s" will open the command
150 prompt with ":open session " entered when using the M1-s keybinding.
152 Keybindings which open the command prompt may also include the string
153 <uri>, which will be replaced by the current tab's URI.
154 For example, "keybinding = :open <uri>,F10" will open the command
155 prompt with <uri> replaced with the current URI.
157 GTK has some default keybindings for manipulating text inside input
158 fields, such as the URI or search entry widget, for example
160 deletes a word. To override these defaults prefix your key with an
161 exclamation mark, like this: "keybinding = tabclose,!C-w".
164 key word is special and is meant to reset the key binding list to the GTK+
166 This keyword should be the first
168 entry in the configuration file.
170 Shift should be used sparingly since it gets in the way of non-USA keyboards.
171 See the accompanying configuration file for examples.
173 The various bindings are documented below.
174 The relevant keybinding action is given afterwards, in parentheses.
176 These commands are used to focus or unfocus input on the default input of a web
179 .Bl -tag -width Ds -offset indent -compact
181 Go to command mode; unfocus current entry on web page.
184 Go to insert mode; focus on default entry on web page.
188 These commands are used to search for text strings within a web page.
190 .Bl -tag -width Ds -offset indent -compact
195 Start a backwards search
198 Next item matching search
201 Previous item matching search
205 These commands are used to shift the focus of
207 from one area to another.
209 .Bl -tag -width Ds -offset indent -compact
214 Focus on search entry
218 These commands allow the user to map specific actions to specific keys.
220 .Bl -tag -width Ds -offset indent -compact
224 Alias for "proxy toggle"
226 Alias for "toplevel toggle"
229 These commands allow the user to open a prompt.
230 These can be useful when the
234 .Bl -tag -width Ds -offset indent -compact
238 Alias for ":open <uri>"
242 Alias for ":tabnew <uri>"
244 .Ss Navigation Commands
245 These commands allow the user to navigate web pages and,
249 .Bl -tag -width "Space, C-f, PageDownXXX" -offset indent -compact
253 .It Cm Backspace, M-Left
256 .It Cm S-BackSpace, M-Right
263 Previous line on page
271 .It Cm Space, C-f, PageDown
273 .Pq Cm scrollpagedown
285 .Pq Cm scrollfarright
305 Toggle Java Script enabled for FQDN
311 Toggle cookie enabled for FQDN
314 Toggle plugins enabled for FQDN
319 supports tabbed browsing.
320 That is, web pages may be opened in separate tabs,
321 allowing the user to quickly move from one page to another,
323 These commands then are used to create, destroy, and move between tabs.
325 .Bl -tag -width "C-plus, C-equalXXX" -offset indent -compact
327 Open new tab with the clicked link
329 Create new tab with focus in URL entry
332 Create new tab with focus in URL entry as the last tab in the browser
340 .It Cm C-Left, C-PageUp
341 Go to the previous tab
343 .It Cm C-Right, C-PageDown
349 .Pq Cm tabnext [1..9]
359 .It Cm C-plus, C-equal
363 Set zoom level to 100%
366 .Ss Yanking and pasting
367 These commands copy and paste text to and from the clipboard.
369 .Bl -tag -width Ds -offset indent -compact
371 Paste the contents of the clipboard into the address bar
374 Paste the contents of the clipboard into a new tab
377 Yank the current URL into the clipboard
380 .Ss Hyperlink Following
381 This allows the user to follow hyperlinks
382 without using a mouse.
383 Enter the corresponding number to follow the link.
384 Alternatively one can type the name of the link and when there are no more
387 will follow the link.
389 .Bl -tag -width Ds -offset indent -compact
391 Highlight all links and prefix them with a number.
394 Highlight all links and prefix them with a number but open in a new tab.
395 .Pq Cm hinting_newtab
398 Commands to exit the browser.
400 .Bl -tag -width Ds -offset indent -compact
405 .Ss Low-Contrast Color Scheme
406 These commands toggle the page style between the default CSS and a
407 low-contrast color scheme with light grey text on a dark grey background.
410 setting is changed, that stylesheet will be used instead of the
411 low-contrast color scheme.
413 .Bl -tag -width Ds -offset indent -compact
415 Toggle the current tab's style.
418 Toggle the global page style mode.
419 Will also affect new tabs.
420 .Pq Cm userstyle_global
422 .Ss Insert-mode commands
423 The following commands are only available when editing an input-field
425 .Bl -tag -width Ds -offset indent -compact
427 Edit the contents of the currently active input-element in an external editor.
431 Command mode works in a similar fashion to the
434 it is entered by typing a colon and exited by typing Esc.
435 The commands and their descriptions are listed below.
436 .Bl -tag -width Ds -offset indent
437 .It Cm about , version
438 Show the "About" page.
439 .It Cm buffers , ls , tabs
440 Displays the currently open tabs and lets the user switch tab by typing
441 the tab number or using the mouse.
443 Display CA certificates.
444 .It Cm cert , cert show
445 Download and display certificates of domain on tab.
447 Save certificate into a local store.
448 The next time the site is visited it is compared against the store.
449 If the certificate matches,
450 the address bar will be blue;
451 if it doesn't the bar will be red.
455 command is used to manipulate the cookie whitelist.
456 Used by itself it expands to
457 .Cm cookie show all .
459 Show cookie jar contents.
461 Remove all cookies from the cookie jar.
462 .It Cm cookie save, cookie save fqdn
463 Save the current fully qualified domain name (FQDN)
464 to the persistent whitelist.
466 the www.peereboom.us domain would result in saving .www.peereboom.us.
467 .It Cm cookie save domain
468 Save the top level domain name to the persistent whitelist.
470 the www.peereboom.us domain would result in saving .peereboom.us.
472 This action enables cookies if it is currently disabled for this entry.
473 .It Cm cookie show all
474 Show all persistent and session entries in the cookie whitelist.
475 .It Cm cookie show persistent
476 Show all persistent entries in the cookie whitelist.
477 .It Cm cookie show session
478 Show all session entries in the cookie whitelist.
479 .It Cm cookie toggle domain
480 Toggle cookie support for the current top level domain.
481 .It Cm cookie toggle, cookie toggle fqdn
482 Toggle cookie support for the current FQDN.
484 Show download manager.
485 .It Cm encoding <encoding>
488 is set the tab's encoding will be set to
497 will display the current tab encoding.
499 Opens the source for the current tab in the editor specified by the
502 and then checks for changes to the file opened. If it is changed, the
503 page will be updated.
505 If a text-element is currently active (<input> or <textarea>), it's
506 contents will be opened in the same fashion as for the command
512 Add the current page to favorites.
513 .It Cm fullscreen , f
514 Toggle hiding tabs and url entry toolbar.
515 .It Cm h , hist , history
524 command is used to manipulate the Java Script whitelist.
525 Used by itself it expands to
527 .It Cm js save, save fqdn
528 Saves the FQDN to the persistent whitelist.
530 the www.peereboom.us domain would result in saving .www.peereboom.us.
531 .It Cm js save domain
532 Saves the top level domain name to the persistent whitelist.
534 the www.peereboom.us domain would result in saving .peereboom.us.
536 This action enables Java Script if it is currently disabled for this entry.
538 Shows all persistent and session entries in the JS whitelist.
539 .It Cm js show persistent
540 Shows all persistent entries in the JS whitelist.
541 .It Cm js show session
542 Shows all session entries in the JS whitelist.
543 .It Cm js toggle, js toggle fqdn
544 Toggle Java Script execution for the current FQDN.
545 .It Cm js toggle domain
546 Toggle Java Script execution for the current top level domain.
548 If auto_load_images is disabled, load all images for current site.
549 .It Cm open , op , o URL
554 command is used to manipulate the plugin whitelist.
555 Used by itself it expands to
556 .Cm plugin show all .
557 .It Cm plugin save, save fqdn
558 Saves the FQDN to the persistent whitelist.
560 the www.peereboom.us domain would result in saving .www.peereboom.us.
561 .It Cm plugin save domain
562 Saves the top level domain name to the persistent whitelist.
564 the www.peereboom.us domain would result in saving .peereboom.us.
566 This action enables plugins if they are currently disabled for this entry.
567 .It Cm plugin show all
568 Shows all persistent and session entries in the plugin whitelist.
569 .It Cm plugin show persistent
570 Shows all persistent entries in the plugin whitelist.
571 .It Cm plugin show session
572 Shows all session entries in the plugin whitelist.
573 .It Cm plugin toggle, plugin toggle fqdn
574 Toggle plugin execution for the current FQDN.
575 .It Cm plugin toggle domain
576 Toggle plugin execution for the current top level domain.
582 command is used to manipulate the currently set proxy.
583 Used by itself it expands to
590 Enables or disables the proxy for
594 must be set before it can be toggled.
595 .It Cm qa , qall , quitall
599 Close current tab and quit
601 if it is the last tab.
605 and reload all current tabs.
606 .It Cm run_script [path_to_script]
607 Runs the script path_to_script with the current uri as the argument.
608 If path_to_script is not provided, the value of default_script is used
610 .It Cm script [filename]
611 Run an external JavaScript script file in the current tab context.
612 .It Cm session , Cm session show
613 Display the current session name.
614 By default the session name is main_session.
615 To create a new session use the
618 A session is defined as the lifetime of the browser application.
619 .It Cm session delete <session_name>
620 Delete session session_name from persistent storage.
621 If session_name is the current session then the session will revert to
623 .It Cm session open <session_name>
624 Open session_name and close all currently open tabs.
625 Going forward this session is named session_name.
626 .It Cm session save <session_name>
627 Save current tabs to session_name session.
628 This will close the current session and going forward this session is named
631 The set command is used to inspect, clear or change runtime options.
632 There are 3 methods to use
634 When used by itself as
636 the command displays all options as currently set.
639 .Cm :set option=value .
641 .Cm :set http_proxy=http://127.0.0.1:8080 .
646 .Cm :set http_proxy= .
648 Note, not all options can be set at runtime.
650 Show blocked cookie statistics.
651 These statistics vary based on settings and are not persistent.
652 .It Cm statustoggle , statust
655 Stop loading the current web page.
660 .It Cm tabnew , tabedit [URL]
661 Create new tab and optionally open provided URL.
665 Close all tabs except the currently focused one.
667 Go to the previous tab.
670 .It Cm toplevel , toplevel toggle
671 Toggle the top level domain name cookie and JS session whitelist.
672 This is to enable/disable short lived full site functionality without
673 permanently adding the top level domain to the persistent whitelist.
674 .It Cm urlhide , urlh
675 Hide url entry and tool bar.
676 .It Cm urlshow , urls
677 Show url entry and tool bar.
678 .It Cm userstyle <stylesheet>
679 Toggle the current tab between using a custom stylesheet and the
681 If there is no stylesheet argument to this command, the stylesheet
684 setting will be used instead.
687 setting is set by default to a low-contrast color scheme.
688 If a stylesheet is specified, the current tab will be toggled with
689 this stylesheet instead.
693 setting is left unchanged, this command without any arguments will
694 toggle between the default page's CSS and the low-contrast color
697 Additional stylesheets may be used in addition to the low-contrast
698 color scheme by specifying additonal keybindings. For example,
700 .D1 keybinding = userstyle ~/style.css,v
701 .D1 keybinding = userstyle_global ~/style.css,V
703 will map toggling between ~/style.css to the v and V keys while
704 keeping the low-contrast feature mapped to the s and S keys.
705 .It Cm userstyle_global <stylesheet>
708 but the change affects all open tabs, and newly created tabs will use
711 Save open tabs to current session.
712 The tabs will be restored next time the session is opened.
713 See the session command for additional details.
715 Save open tabs and quit.
716 The tabs will be restored next time
718 the session is opened.
719 See the session command for additional details.
722 In addition to shortcuts and commands
724 provides buffer commands. Buffer commands are short, multi character
725 vi-like commands, often requiring an argument. Partial buffer commands
727 displayed in the buffer command statusbar element (see
728 .Cm statusbar_elems ) .
729 Pressing Esc or switching to another tab cancels a partially entered
730 buffer command. In the following list
732 denotes the argument a buffer command accepts. Buffer commands are
733 defined as extended regular experssions.
734 Note that if a character is used as a shortcut it will not be interpreted
735 as the beginning of a buffer command. This is the case with
738 .Bl -tag -width "['][a-zA-Z0-9]XXX" -offset indent -compact
740 go to the top of the page
742 go to the bottom of the page
748 go to 50% of the page
754 is missing, 1 is assumed. Going a
755 level up means going to a URI obtained from the current one by removing
756 the last slash ('/') character and everything that follows it
758 go to the root level, i.e. going up as many levels as possible.
760 open the home page in the current tab
762 set a mark denoted by
764 at the current page position. These marks behave like those in vi or
766 .It Cm ['][a-zA-Z0-9']
767 go to the position where mark
769 was set. The special mark "'" points to the previous page position, after a
770 "gg", "gG", "zz", "%" or "'" buffer command.
772 set the current uri as quickmark
775 open the uri marked as quickmark
779 open the uri marked as quickmark
808 set zoom level to 100%
815 Quickmarks are like bookmarks, except they are refered to by a single
816 character (a letter or a digit), instead of a longer name. See the
821 buffer commands for usage. Quickmarks are stored in
822 .Pa ~/.xombrero/quickmarks
823 and are saved automatically after each
827 The about screens are internally generated web pages by
829 for user interaction.
830 These are entered in the address bar and the format is
832 where screen is the desired screen to display.
833 For example about:favorites.
834 Any about screen can be used as the home page as specified by
836 in the configuration file.
838 .Bl -tag -width "downloadsXXX" -offset indent -compact
840 show the about screen
844 show the cookie whitelist screen
846 show the cookiejar screen
848 show the downloads screen
850 show the favorites screen
852 show the help web page
854 show the history screen
856 show the Java Script whitelist screen
858 show the settings screen
860 show the statistics screen
863 This section describes advanced usage settings.
864 Most users should use
868 and skip over this section.
871 has a number of whitelists to control blocking cookies and Java Script
872 execution for FQDNs or domains.
873 When properly enabled these whitelists require either the FQDN or top level
874 domain to exist in the whitelists in order to allow cookies to be stored or
875 Java Script to execute.
876 Both Java Script and cookies have two whitelists associated with them.
877 The whitelists are called session and persistent.
878 Items in the session whitelists are only allowed for the lifetime of the
881 Items in the persistent whitelists are stored on disk and are restored
884 Setting up the whitelists is a little tricky due to intricacies of WebKit.
885 In fact the semantics are different for cookies and Java Script.
887 Cookie whitelist requires the following configuration to be set:
889 .Bl -tag -width "enable_cookie_whitelistXXX" -offset indent -compact
890 .It Cm cookies_enabled
891 This is a WebKit setting and must be set to
894 in order to be able to use a
896 .It Cm enable_cookie_whitelist
897 This needs to be set to
899 to enable the cookie whitelist functionality.
901 These entries in the configuration file are the actual domains names in the
905 Java Script whitelist requires the following configuration to be set:
907 .Bl -tag -width "enable_js_whitelistXXX" -offset indent -compact
908 .It Cm enable_scripts
909 This is a WebKit setting and must be set to
912 in order to be able to use a
913 Java Script whitelist.
914 .It Cm enable_js_whitelist
915 This needs to be set to
917 to enable the Java Script whitelist functionality.
919 These entries in the configuration file are the actual domains names in the
920 Java Script whitelist.
923 Plugin whitelist requires the following configuration to be set:
925 .Bl -tag -width "enable_plugin_whitelistXXX" -offset indent -compact
926 .It Cm enable_plugins
927 This is a WebKit setting and must be set to
930 in order to be able to use a
932 .It Cm enable_plugin_whitelist
933 This needs to be set to
935 to enable the plugin whitelist functionality.
937 These entries in the configuration file are the actual domains names in the
943 section for additional configuration file entries and details
944 that alter runtime behavior.
946 .Bl -tag -width "/etc/xombrero.confXXX" -compact
947 .It Pa ~/.xombrero.conf
949 user specific settings.
956 tries to open the user specific file,
957 .Pa ~/.xombrero.conf .
958 If that file is unavailable,
959 it then uses built-in defaults.
960 Any settings saved at runtime will be saved to the file
961 .Pa ~/.xombrero/runtime
962 and will be loaded as well.
964 The format of the file is \*(Ltkeyword\*(Gt = \*(Ltsetting\*(Gt.
967 .Dl http_proxy = http://127.0.0.1:8080
969 Enabling or disabling an option is done by using 1 or 0 respectively.
971 The file supports the following keywords:
973 .Bl -tag -width "enable_cookie_whitelistXXX" -offset indent -compact
975 Defines an alias for a given URL, so that the URL is loaded when the alias is
976 entered in the address bar.
977 If the aliased URL includes a %s format specifier, then any argument given after
978 the alias on the address bar is substituted.
979 For example, if g,http://www.google.com/search?q=%s is defined as an alias,
980 then the URL http://www.google.com/search?q=foo is loaded when navigating to
982 .It Cm allow_insecure_content
983 If set, all content referenced by a page will be loaded.
984 If unset, encrypted pages will refuse to load content that is linked
985 from an insecure location.
986 .It Cm allow_insecure_scripts
987 If set, all scripts referenced by a page will be loaded and run using
988 the current javascript policy.
989 If unset, encrypted pages will refuse to run scripts that are linked
990 from an insecure location.
991 .It Cm allow_volatile_cookies
992 If set cookies are stored in the session cache but will be discarded once
995 Unfortunately enabling this does allow for some limited tracking on the web.
997 When set a new tab is appended after the current tab instead of being appended
999 .It Cm auto_load_images
1000 If disabled, images will not be loaded automatically.
1001 .It Cm autofocus_onload
1002 When set a tab that is loaded will attempt to autofocus the default input
1004 This is only done for tabs that are currently visible.
1008 browser has 3 default operating modes:
1016 mode the browser allows all cookies, plugins and Java Script as any other
1018 This means that all cookies are saved to persistent storage and that all
1019 Java Script and plugins run.
1021 On the other hand, using the
1023 mode enables whitelists.
1024 This requires the user to add all the required
1030 If a domain does not appear in the whitelists
1032 disallows cookies, Java Script and plugin execution.
1033 If insecure web content or scripts are referenced by a secure website,
1034 they will be blocked from loading or running.
1038 mode the browse works just like
1040 mode however the toolbar only has the backward, forward and home button.
1042 This setting must be the first entry in
1043 .Pa ~/.xombrero.conf
1044 because it sets advanced settings that can be overridden later in the file.
1045 See the default config file for more details.
1047 This setting is used to define an alias for a command.
1048 The syntax of this setting is
1049 .Pa cmd_alias = alias,cmd .
1050 For example, if you wanted to set an alias for the
1055 .Pa cmd_alias = tn,tabnew
1057 .Pa ~/.xombrero.conf .
1058 This setting may not begin with a number.
1060 Set the command prompt font.
1062 .Pa cmd_font = monospace normal 9 .
1063 .It Cm color_visited_uris
1064 When enabled (the default)
1066 will color visited links. This is done while the web page loads using
1067 JavaScript, rather than WebKit's (broken, see bug #51747) built-in
1068 facility for coloring visited links. The JavaScript approach is
1069 (probably) slower and is not consistent across tabs (unless the tabs are
1070 reloaded), but has the advantage of not leaking history data to web
1071 pages (see http://wtikay.com/docs/details.html).
1072 .It Cm cookie_policy
1073 This field delineates the cookie policy.
1074 Possible values are: no3rdparty, reject 3rd party cookies.
1075 accept, accept all cookies.
1076 reject, reject all cookies.
1078 This is a cookie whitelist item.
1079 Use multiple times to add multiple entries.
1080 Valid entries are for example *.moo.com and the equivalent .moo.com.
1081 A fully qualified host is also valid and is for example www.moo.com.
1082 .It Cm cookies_enabled
1084 .It Cm ctrl_click_focus
1085 Give focus in newly created tab instead of opening it in the background.
1087 This setting provides the ability to run custom executables for
1089 The syntax for this setting is
1090 .Pa custom_uri\ =\ protocol,command .
1091 The URI is passed as a single argument to
1093 to be parsed and executed.
1095 For example, to add the ability to use custom
1097 URIs, add the setting
1098 .Pa custom_uri = mailto,command
1101 is a program that will parse the
1103 URI and open your mail client.
1104 .It Cm default_script
1105 Path to the script used as the default value for the run_script
1107 .It Cm default_zoom_level
1108 Set the default browsing zoom level.
1110 Locations where files are downloaded to.
1111 This directory must exist and
1113 validates that during startup.
1114 .It Cm download_mode
1115 Controls how downloads are handled.
1116 Possible values are:
1117 .Bd -literal -offset indent
1118 start - automatically start download.
1119 ask - ask user for confirmation.
1120 add - add to downloadmanager, but
1123 The default is "start".
1124 .It Cm download_notifications
1125 When enabled a message is shown when downloads are finished.
1127 .It Cm enable_autoscroll
1128 When enabled clicking MB3 will spawn the autoscroll ball, scrolling can
1129 then proceed by dragging the mouse away from the ball.
1130 .It Cm enable_cookie_whitelist
1131 When enabled all cookies must be in the whitelist or they are rejected.
1132 Additionally whitelisted cookies also enable HTML5 local storage for the
1134 .It Cm enable_favicon_entry
1135 When enabled (the default)
1137 displays the favicon of the web page at the URI entry. This setting
1143 .It Cm enable_favicon_tabs
1144 When enabled (disabled by default)
1146 displays favicons at each tab. This setting only affects
1149 .It Cm enable_js_autorun
1150 Enables support for autorunning JavaScript after page loads. When
1153 will be searched for
1156 .Pa host.domain.js .
1161 will be tried instead. The content of the both default and
1162 host/domain files are read and executed on each page load.
1165 As an example, if you add the line
1166 .Pa alert("Hello, world");
1169 a pop-up displaying "Hello, world" will be shown on every page reload.
1170 While not useful, any javascript can be run through this mechanism,
1171 making it useful for global or site-specific modifications.
1172 .It Cm enable_js_whitelist
1173 When enabled all domains must be in the js whitelist in order to run Java
1178 .It Cm enable_plugin_whitelist
1179 When enabled all domains must be in the plugin whitelist in order to run
1184 .It Cm enable_plugins
1185 Enable external plugins such as Flash and Java.
1186 .It Cm enable_strict_transport
1187 Enable support for the Strict-Transport-Security HTTP-header.
1188 When enabled, sites that set this flag will only be visited via HTTPS.
1190 .It Cm enable_scripts
1192 .It Cm enable_socket
1193 When enabled the first instance of
1195 will create a socket in the
1198 Using the -n url option on subsequent
1200 invocations will cause the specified URL to be loaded in a new tab.
1201 Only a user with identical UID and GID can use this option.
1202 .It Cm enable_localstorage
1203 Enable html5 Local Storage.
1204 .It Cm enable_spell_checking
1205 Enables spell checking. Preferred languages can be set using
1206 .Cm spell_check_languages
1209 Set the default encoding.
1211 .Pa encoding = ISO-8859-1 .
1212 .It Cm external_editor
1213 Set which editor to use for external editing.
1214 the string <file> will be replaced by the current filename.
1216 .Pa external_editor = gvim -f <file>
1219 relies on the editor
1221 into the background.
1223 Enables a backward, forward, and stop button to the toolbar.
1226 is set it'll enable an entry box for searches.
1230 will try to guess if the string you entered, in the URI entry widget or
1231 the command widget, is term you want to search for using search_string
1233 If the string does not contain a dot nor a slash, is not a
1234 path to a local file and does not resolves to an IP then it is assumed
1235 to be a search term.
1237 To simplify configuring
1239 allows you pick between two GUI modes:
1245 mode the GUI looks similar to that of most mainstream browsers. While in
1247 mode the GUI looks more vi-like. One can get a GUI between the two by
1248 tweaking the low-level GUI settings found under the advanced GUI setting
1249 section in the configuration file.
1250 .It Cm history_autosave
1253 will save all command and search history.
1256 the saved command and search history will be restored.
1258 Homepage in URL format.
1260 Proxy server in URL format.
1264 if it is specified as an environment variable.
1265 It must be noted that on older webkit versions one MUST use an IP address and
1267 This works as expected with webkit 1.4.2.
1269 If one desires to use a socks proxy then an intermediary tool must be used.
1270 It has been reported that tsocks and polipo work with
1273 If set, the HTTP Accept header will be modified for each text/html request.
1274 If this setting is set multiple times, the Accept header will be changed
1275 in a round-robin order for every text/html request on a tab.
1276 Because this setting rotates through Accept headers on each text/html
1277 request, a single page may rotate through more than one Accept header
1278 if multiple text/html requests are made.
1280 Note that this setting only rewrites the Accept header for text/html
1281 requests. Other requests will use WebKit's default Accept header.
1282 .It Cm http_proxy_starts_enabled
1283 If set to 0, the http_proxy will be disabled at startup. The user can later
1284 enable the proxy with the
1286 command or keybinding.
1288 Permits icon sizes to be changed if
1291 Size 1 is small; 2 is normal; 3 through 6 are progressively larger.
1292 .It Cm include_config
1293 This must be a path to another configuration file.
1294 Configuration files are usually read from top to bottom, however, if
1297 will begin reading the included file at this location and continue
1298 reading the rest of the configuation after the included file has
1299 finished being read.
1301 Any simple settings set before the include may
1302 be overridden by settings in the included file, and any simple
1303 settings set in the included file may be overridden later by settings
1304 after the include or at runtime using the
1307 However, database settings (for example,
1308 .Cm cookie_wl , js_wl , pl_wl ,
1311 are only ever added to the database, and so the order of an included
1312 configuration file is not pertinent to these database settings.
1314 This feature is likely best used as the last item in
1315 .Pa ~/.xombrero.conf .
1317 This is a Java Script whitelist item.
1320 for semantics and more details.
1321 .It Cm max_connections
1322 The maximum number of connections that
1325 .It Cm max_host_connections
1326 The maximum number of connections that
1328 can open at once to a given host.
1330 Sets an action for a specific or default MIME type.
1331 For example, to download and view a pdf using kpdf set
1332 .Pa mime_type = application/pdf,kpdf .
1333 To set a default value use *, for example,
1334 .Pa mime_type = video/*,mplayer .
1335 Note that the action is only passed the URL and not all applications are
1336 capable of dealing with a URL and therefore one might have to create a wrapper
1337 script to download the content first. Alternatively one can add the
1339 in front of the MIME type to indicate "download first".
1341 .Pa mime_type = @application/pdf,xpdf .
1344 is use the file will be downloaded to the
1346 before the MIME handler is called.
1348 Set the font used to display error messages.
1350 .Pa oops_font = monospace normal 9 .
1352 This is a plugin whitelist item.
1355 for semantics and more details.
1356 .It Cm read_only_cookies
1357 Mark cookies file read-only and discard all cookies once the session is
1359 .It Cm refresh_interval
1360 Refresh interval while in the download manager.
1363 Control how 'Referer' is handled in http-requests.
1364 .Bd -literal -offset indent
1365 always - always send referer
1366 never - never send referer
1367 same-domain - only send referer if it's
1368 for the same public suffix - this means that
1369 it's ok for subdomains to refer to each other
1370 same-fqdn - only send referer if it's FQDN match
1372 Any other value that is also a valid URL will use this
1373 custom value as referer. (E.g. you could set it to http://no-referer.com)
1374 The default value is "always"
1376 Directory that contains various
1378 resources such as icons.
1379 This is OS-specific and should be handled by the porter.
1380 .It Cm save_global_history
1381 If set the global history will be saved to
1382 .Pa ~/.xombrero/history
1384 and restored at startup.
1387 section above for how the global history is accessed.
1388 Global history is not saved to disk by default.
1389 .It Cm save_rejected_cookies
1390 Saves rejected cookies in cookie format in {work_dir}/rejected.txt.
1391 All cookies are saved and unlike a cookie jar they are never replaced.
1392 Make sure there is enough disk space to enable this feature.
1393 .It Cm search_string
1394 Default search engine string.
1398 .It Cm session_autosave
1399 Enable session auto-saving when changing state (e.g. adding or removing a tab).
1400 The session name is what is currently in use and is described in the
1405 .It Cm session_timeout
1406 This value is the time that is added in seconds to a session cookie.
1408 Enable or disable showing tabs.
1410 Enable or disable showing the url and toolbar.
1411 .It Cm show_statusbar
1412 Enable or disable showing the status bar.
1413 .It Cm single_instance
1418 will be permitted to run.
1419 If there is a URL specified it will be opened in a new tab in the already
1423 .It Cm spell_check_languages
1424 The languages to be used for spell checking, separated by commas. For example,
1427 If set to a valid PEM file
1428 all server certificates will be validated against it.
1429 The URL bar will be colored green (or blue when saved) when the certificate is
1430 trusted and yellow when untrusted.
1434 is not set, the URL bar will be colored red if the certificate has not
1435 been saved, or blue if it has been saved.
1437 WebKit only supports a single PEM file.
1438 Many OS' or distributions have many PEM files.
1439 One can simply concatenate all separate files into one large one.
1441 .Cm for i in `ls`; do cat $i >> cert.pem; done
1442 and use the resulting cert.pem file as the input to
1444 It is advisable to periodically recreate the cert.pem file.
1445 .It Cm ssl_strict_certs
1446 If this value is set connections to untrusted sites will be aborted.
1447 This value is only used if
1450 .It Cm statusbar_elems
1451 Define the components of the status bar. The possible components are:
1452 .Bd -literal -offset indent
1454 P - page progress percent
1455 p - proxy enabled/disabled
1458 T - current tab number
1460 The default is "BP".
1461 These components show nothing if there is nothing worth showing, like
1463 .It Cm statusbar_font
1464 Set the status bar font.
1466 .Pa statusbar_font = monospace normal 9 .
1467 .It Cm statusbar_style
1468 Set the status bar style to either
1470 - display the current url, or
1472 - display the page title. The default is
1475 Set the tab style to either
1477 - the default gtk notebook tabs, or
1480 You can switch the tab style with the
1484 Set the compact tab bar font.
1486 .Pa tabbar_font = monospace normal 9 .
1488 This is the regular expression that is used to match what constitutes a valid
1492 Set to override the default
1494 user-agent string. May be specified several times for switching between
1497 Set the stylesheet to be used as a default for the
1500 .Cm userstyle_global
1501 commands when no extra parameters are given.
1502 The default is a low-contrast stylesheet.
1503 .It Cm userstyle_global
1504 When enabled new tabs will automatically be displayed using the custom
1505 stylesheet specified by the
1508 .It Cm warn_cert_changes
1509 When enabled all SSL certificates from HTTPS websites will be
1511 .Cm ~/.xombrero/certs_cache/
1513 On each page load, if the remote certificate differs from the cached
1514 local version, a warning page with options of what to do next will be displayed
1515 instead of the requested page.
1516 This feature may be used in addition to the coloring of the URL bar and
1517 can be used to help prevent against man-in-the-middle attacks, even if
1518 the new remote certificate is signed by a trusted certificate
1522 .It Cm window_height
1523 Set the default height of the browser window.
1525 Set the default width of the browser window.
1526 .It Cm window_maximize
1527 Maximize the browser window at startup.
1529 Set the work directory where all
1531 scratch files are stored.
1534 .It Cm xterm_workaround
1537 will look additionally at CUT_BUFFER0 if PRIMARY clipboard is empty.
1538 Additionally when the PRIMARY clipboard is cleared it will copy CUT_BUFFER0
1539 into the PRIMARY clipboard.
1544 was inspired by vimprobable2 and the bloat in other
1551 .An Marco Peereboom Aq marco@peereboom.us ,
1552 .An Stevan Andjelkovic Aq stevan@student.chalmers.se ,
1553 .An Edd Barrett Aq vext01@gmail.com ,
1554 .An Todd T. Fries Aq todd@fries.net ,
1555 .An Raphael Graf Aq r@undefined.ch ,
1556 .An Michal Mazurek Aq akfaew@jasminek.net ,
1558 .An Josh Rickmar Aq jrick@devio.us .