3 .\" Copyright (c) 2010 Marco Peereboom <marco@peereboom.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.
22 .Nd lightweight web browser with vi key bindings
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 and it strives to be small, compact and
42 starts up, it reads settings from its configuration file,
45 .Sx CONFIGURATION FILES
48 The following notation is used throughout this page:
50 .Bl -tag -width Ds -offset indent -compact
62 is very simple in its use.
63 Most of the actions are initiated via key or mouse bindings.
66 section below for defaults and customizations.
68 The options are as follows:
71 Use alternate config file.
75 Disable visualization of tabs.
79 Open a new tab in a running
81 for each specified url.
82 This option requires enable_socket to be enabled.
84 Display version and exit.
86 .Sh CONFIGURATION FILES
88 tries to open the user specific file,
90 If that file is unavailable,
91 it then uses built-in defaults.
93 The format of the file is \*(Ltkeyword\*(Gt = \*(Ltsetting\*(Gt.
96 .Dl http_proxy = http://127.0.0.1:8080
98 Enabling or disabling an option is done by using 1 or 0 respectively.
100 The file supports the following keywords:
102 .Bl -tag -width "title_class_enabledXXX" -offset indent -compact
103 .It Cm ctrl_click_focus
104 Give focus in newly created tab instead of opening it in the background.
105 .It Cm read_only_cookies
106 Mark cookies file read-only and discard all cookies once the sessions is
109 When set a new tab is appended after the current tab instead of being appended
111 .It Cm cookies_enabled
113 .It Cm allow_volatile_cookies
114 If set cookies are stored in the session cache but will be discarded once
117 Unfortunately enabling this does allow for some limited tracking on the web.
118 .It Cm enable_scripts
120 .It Cm enable_plugins
122 .It Cm default_font_size
123 Set the default browsing font size.
125 Proxy server in URI format.
127 Locations where files are downloaded to.
128 This directory must exist and
130 validates that during startup.
132 Enables a backward, forward and stop button to the toolbar.
133 Additionally if search_string is set it'll enable an entry box for searches.
134 .It Cm refresh_interval
135 Refresh interval while in the download manager.
137 .It Cm session_timeout
138 If this value is greater than 3600 then it is the time added in seconds to a
139 session cookie. If the value is smaller than 3600 then there is no change
140 to the expiration of a session cookie.
141 .It Cm enable_cookie_white list
142 When enabled all cookies must be in the white list or they are rejected.
144 This is a cookie white list item.
145 Use multiple times to add multiple entries.
146 Valid entries are for example *.moo.com and the equivalent .moo.com.
147 A fully qualified host is also valid and is for example www.moo.com.
149 This field delineates the cookie policy.
150 Possible values are: no3rdparty, reject 3rd party cookies.
151 accept, accept all cookies.
152 reject, reject all cookies.
153 .It Cm enable_js_whitelist
154 When enabled all domains must be in the js white list in order to run javascript.
155 NOTE: Make sure enable_scripts is set to 0.
157 This is a javascript white list item.
158 See cookie_wl for semantics and more details.
160 Default search engine string.
161 See xxxterm.conf file for details.
163 Sets an action for a specific or default MIME type.
164 For example, to download and view a pdf using kpdf set mime_type =
165 application/pdf,kpdf.
166 To set a default value use *, for example mime_type = video/*,mplayer.
167 Note that the action is only passed the URI and not all applications are
168 capable of downloading content and therefore one might have to create a wrapper
169 script to download the content first.
171 Defines an alias for a given URL, so that the URL is loaded when the alias is
172 entered in the address bar.
173 If the aliased URL includes a %s format specifier, then any argument given after
174 the alias on the address bar is substituted.
175 For example, if g,http://www.google.com/search?q=%s is defined as an alias,
176 then the URL http://www.google.com/search?q=foo is loaded when navigating to
179 If set to a valid PEM file all server certificates will be validated against it.
180 The URL bar will be colored green when the certificate is trusted and yellow when
183 If ssl_ca_file is not set then the URL bar will color all https connections red.
184 .It Cm ssl_strict_certs
185 If this value is set connections to untrusted sites will be aborted.
186 This value is only used if ssl_ca_file is set.
188 When enabled the first instance of
190 will create a socket in the ~/.xxxterm directory.
191 Using the -n url option on subsequent
193 invocations will cause the specified url to be loaded in a new tab.
194 Only a user with identical UID and GID can use this option.
196 Directory that contains various xxxterm resources such as icons.
197 This is OS specific and should be handled by the porter.
198 .It Cm single_instance
201 will be permitted to run.
202 If there is a url specified it will be opened in a new tab in the already
206 .It Cm runtime_settings
207 This setting points to a filename in the .xxxterm work directory that contains
208 runtime configuration entries.
209 This file is parsed as a normal configuration file and will override settings
210 since it is read at a later time.
211 One should only use this file to add js_wl, cookie_wl and mime_type entries.
212 This file is machine generated and should not be edited by hand.
216 overrides http_proxy if it is specified as an environment variable.
219 provides many functions (or actions) accessed via key or mouse bindings.
221 The current mouse bindings are described below:
223 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
225 Open new tab with the clicked link.
228 The default key bindings are described below.
232 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
236 Start a backwards search
238 Next item matching search
240 Previous item matching search
245 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
249 Focus on search entry
252 Command aliases (useful when -S flag is used):
254 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
256 Alias for ":open" (See command descriptions below)
258 Alias for ":open <current-uri>"
262 Alias for ":tabnew <current-uri>"
267 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
274 .It Cm S-BackSpace, M-Right
279 Previous line on page
284 .It Cm Space, C-f, PageDown
305 Toggle javascript enabled for domain.
312 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
314 Create new tab with focus in URI entry
320 Go to the previous tab.
326 Shrink font size by one point.
327 .It Cm C-plus, C-equal
328 Grow font size by one point.
333 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
335 Yank the current URI into the clipboard.
337 Paste the contents of the clipboard into the address bar.
339 Paste the contents of the clipboard into a new tab.
342 Mouse-less browsing (a.k.a. link following):
344 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
346 Highlight all links and prefix them with a number.
347 Press number to follow link.
348 Alternatively one can type the name of the link and when there are no more
351 will follow the link.
356 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
361 Note: WebKit & GTK+ have many default key bindings that are not overruled and
362 therefore are available as-is.
364 Command mode is entered by typing a colon and exited by typing Esc.
365 The commands and descriptions are listed below:
367 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
373 The tabs will be restored next time
379 and reload all current tabs.
381 Save open tabs and quit.
382 The tabs will be restored next time
388 Add current page to favorites
390 Add current page domain as a JavaScript white list entry to the runtime
392 This action will also enable JavaScript if it is currently disabled for this
395 Add current page domain as a cookie white list entry to the runtime
397 This action will also allow cookies if it is currently disallowed for this
399 If there are volatile session cookies then those will be saved into the
400 persistent cookie jar.
402 Show download manager
405 .It Cm h, hist, history
411 .It Cm about, version
414 Show cookie jar contents.
416 Show blocked cookies statistics.
417 These statistics vary based on settings and are not persistent.
418 .It Cm open, op, o <URI>
420 .It Cm tabnew, tabedit, tabe [URI]
421 Create new tab and optionally open provided URI
422 .It Cm tabclose, tabc
425 Close current tab and quit
427 if it is the last tab.
428 .It Cm tabprevious, tabp
429 Go to the previous tab.
434 .Bl -tag -width "/etc/xxxterm.confXXX" -compact
435 .It Pa ~/.xxxterm.conf
437 user specific settings.
444 was inspired by vimprobable2 and the bloat in other UNIX web browsers.
450 .An Marco Peereboom Aq marco@peereboom.us ,
452 .An Edd Barrett Aq vext01@gmail.com