plug memleak and more paranoia on file errors
[xxxterm.git] / xxxterm.1
blob1abfedd653a063b67693191738afcdcc79fe85f4
1 .\"     $xxxterm$
2 .\"
3 .\" Copyright (c) 2010 Marco Peereboom <marco@peereboom.us>
4 .\"
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.
8 .\"
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.
16 .\"
17 .Dd $Mdocdate$
18 .Dt XXXTERM 1
19 .Os
20 .Sh NAME
21 .Nm xxxterm
22 .Nd lightweight web browser with vi key bindings
23 .Sh SYNOPSIS
24 .Nm xxxterm
25 .Bk -words
26 .Op Fl STtV
27 .Op Fl f Ar file
28 .Op Ar uri ...
29 .Ek
30 .Sh DESCRIPTION
31 .Nm
32 is a minimalistic web browser that tries to stay out of the way so that
33 valuable screen real estate can be used for much more important stuff.
34 It has sane defaults and does not require one to learn a language to do any
35 configuration.
36 It was written by hackers for hackers and it strives to be small, compact and
37 fast.
38 .Pp
39 When
40 .Nm
41 starts up, it reads settings from its configuration file,
42 .Pa xxxterm.conf .
43 See the
44 .Sx CONFIGURATION FILES
45 section below.
46 .Pp
47 The following notation is used throughout this page:
48 .Pp
49 .Bl -tag -width Ds -offset indent -compact
50 .It Cm M
51 Meta
52 .It Cm S
53 Shift
54 .It Cm C
55 Control
56 .It Cm M1
57 Mouse button 1
58 .El
59 .Pp
60 .Nm
61 is very simple in its use.
62 Most of the actions are initiated via key or mouse bindings.
63 See the
64 .Sx BINDINGS
65 section below for defaults and customizations.
66 .Pp
67 The options are as follows:
68 .Bl -tag -width Ds
69 .It Fl f Ar file
70 Use alternate config file.
71 .It Fl S
72 Disable the toolbar.
73 .It Fl T
74 Disable visualization of tabs.
75 .It Fl t
76 Disable tabs.
77 .It Fl V
78 Display version and exit.
79 .El
80 .Sh CONFIGURATION FILES
81 .Nm
82 tries to open the user specific file,
83 .Pa ~/.xxxterm.conf .
84 If that file is unavailable,
85 it then uses built-in defaults.
86 .Pp
87 The format of the file is \*(Ltkeyword\*(Gt = \*(Ltsetting\*(Gt.
88 For example:
89 .Pp
90 .Dl http_proxy = http://127.0.0.1:8080
91 .Pp
92 Enabling or disabling an option is done by using 1 or 0 respectively.
93 .Pp
94 The file supports the following keywords:
95 .Pp
96 .Bl -tag -width "title_class_enabledXXX" -offset indent -compact
97 .It Cm ctrl_click_focus
98 Give focus in newly created tab instead of opening it in the background.
99 .It Cm read_only_cookies
100 Mark cookies file read-only and discard all cookies once the sessions is
101 terminated.
102 .It Cm cookies_enabled
103 Enable cookies.
104 .It Cm enable_scripts
105 Enable scripts.
106 .It Cm enable_plugins
107 Enable plugins.
108 .It Cm default_font_size
109 Set the default browsing font size.
110 .It Cm http_proxy
111 Proxy server in URI format.
112 .It Cm download_dir
113 Locations where files are downloaded to.
114 This directory must exist and
116 validates that during startup.
117 .It Cm fancy_bar
118 Enables a backward, forward and stop button to the toolbar.
119 Additionally if search_string is set it'll enable an entry box for searches.
120 .It Cm search_string
121 Default search engine string.
122 See xxxterm.conf file for details.
123 .It Cm mime_type
124 Sets an action for a specific or default MIME type.
125 For example, to download and view a pdf using kpdf set mime_type =
126 application/pdf,kpdf.
127 To set a default value use *, for example mime_type = video/*,mplayer.
128 Note that the action is only passed the URI and not all applications are
129 capable of downloading content and therefore one might have to create a wrapper
130 script to download the content first.
134 overrides http_proxy if it is specified as an environment variable.
135 .Sh BINDINGS
137 provides many functions (or actions) accessed via key or mouse bindings.
139 The current mouse bindings are described below:
141 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
142 .It Cm C-M1
143 Open new tab with the clicked link.
146 The default key bindings are described below.
148 Search:
150 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
151 .It Cm /
152 Start a search
153 .It Cm ?
154 Start a backwards search
155 .It Cm n
156 Next item matching search
157 .It Cm N
158 Previous item matching search
161 Focus:
163 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
164 .It Cm F6
165 Focus on URI entry
166 .It Cm F7
167 Focus on search entry
170 Navigation:
172 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
173 .It Cm F5, C-r, C-l
174 Refresh page
175 .It Cm Backspace
176 Previous page
177 .It Cm M-Left
178 Previous page
179 .It Cm S-BackSpace, M-Right
180 Forward page
181 .It Cm j, Down
182 Next line on page
183 .It Cm k, Up
184 Previous line on page
185 .It Cm G, End
186 Bottom of page
187 .It Cm gg, Home
188 Top of page
189 .It Cm Space, C-f, PageDown
190 Page down
191 .It Cm C-b, PageUp
192 Page up
193 .It Cm l, Right
194 Page right
195 .It Cm h, Left
196 Page left
197 .It Cm $
198 Page far right
199 .It Cm 0
200 Page far left
203 Tab Manipulation:
205 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
206 .It Cm C-T
207 Create new tab with focus in URI entry
208 .It Cm C-W
209 Destroy current tab
210 .It Cm C-[1..0]
211 Jump to page N
212 .It Cm C-minus
213 Shrink font size by one point.
214 .It Cm C-plus, C-equal
215 Grow font size by one point.
218 Exiting:
220 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
221 .It Cm C-Q
222 Quit
225 Note: WebKit & GTK+ have many default key bindings that are not overruled and
226 therefore are available as-is.
228 Command mode is entered by typing a colon and exited by typing Esc.
229 The commands and descriptions are listed below:
231 .Bl -tag -width "tabnew, tabedit, tabe [URI]" -offset indent -compact
232 .It Cm qa, qa!, q!
233 Quit
235 .It Cm fav
236 Show favorites
237 .It Cm favadd
238 Add current page to favorites
239 .It Cm help
240 Show help file.
241 .It Cm open, op, o <URI>
242 Open URI.
243 .It Cm tabnew, tabedit, tabe [URI]
244 Create new tab and optionally open provided URI
245 .It Cm tabclose, tabc
246 Close current tab.
247 .It Cm quit, q
248 Close current tab and quit
250 if it is the last tab.
251 .It Cm tabprevious, tabp
252 Go to the previous tab.
253 .It Cm tabnext, tabn
254 Go to the next tab.
256 .Sh FILES
257 .Bl -tag -width "/etc/xxxterm.confXXX" -compact
258 .It Pa ~/.xxxterm.conf
260 user specific settings.
261 .It Pa ~/.xxxterm
263 scratch directory.
265 .Sh HISTORY
267 was inspired by vimprobable2 and the bloat in other UNIX web browsers.
268 .Sh AUTHORS
269 .An -nosplit
272 was written by
273 .An Marco Peereboom Aq marco@peereboom.us