Revamped versioning system, eliminated jarfile usage
[conkeror.git] / content / help.html
blob9c3d1984692f2a3ee436e9faf793dffd7ac9f065
1 <!DOCTYPE html
2 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
5 <head>
6 <title>Conkeror User Manual</title>
7 <script type="text/javascript">
8 <!-- <![CDATA[
10 var gPrefService = Components.classes["@mozilla.org/preferences-service;1"]
11 .getService(Components.interfaces.nsIPrefBranch);
13 function set_pref()
15 var val = document.getElementById("pref").value;
16 if (val == '') {
17 if (gPrefService.prefHasUserValue ("conkeror.rcfile")) {
18 gPrefService.clearUserPref("conkeror.rcfile");
20 window.alert("preference `conkeror.rcfile' cleared.")
21 } else {
22 gPrefService.setCharPref("conkeror.rcfile", val);
23 window.alert("preference `conkeror.rcfile' Set.");
27 function fill_rc_pref_box () {
28 var pref;
30 if (!gPrefService.prefHasUserValue("conkeror.rcfile")) {
31 pref = "";
32 } else {
33 pref = gPrefService.getCharPref("conkeror.rcfile");
36 var el = document.getElementById ("pref");
37 el.value = pref;
40 // ]]> -->
41 </script>
42 </head>
43 <body onload="fill_rc_pref_box()">
44 <h1>Conkeror User Manual</h1>
46 <h2>Introduction</h2>
48 <p>
49 Conkeror is a Mozilla-based web browser whose design is inspired by
50 <a href="http://www.gnu.org/software/emacs">GNU Emacs</a>.
51 </p>
54 <p>
55 You can learn Conkeror's key bindings by <a
56 href="chrome://conkeror/content/tutorial.html">reading the
57 tutorial</a>. The keyboard shortcut to visit the tutorial is
58 <code>Control-h t</code>. That is, first press Control-h, then
59 release those keys, and press t.
60 </p>
63 <h2>Overview of the Keys</h2>
66 <h3>Browsing</h3>
67 <table border="1">
68 <tr>
69 <td><b>key</b></td>
70 <td><b>M-x command</b></td>
71 <td><b>meaning</b></td>
72 </tr>
73 <tr>
74 <td>g</td>
75 <td>find-url</td>
76 <td>open new URL</td>
77 </tr>
78 <tr>
79 <td>B</td>
80 <td>go-back</td>
81 <td>&nbsp;</td>
82 </tr>
83 <tr>
84 <td>F</td>
85 <td>go-forward</td>
86 <td>&nbsp;</td>
87 </tr>
88 <tr>
89 <td>r</td>
90 <td>revert-buffer</td>
91 <td>reload</td>
92 </tr>
93 <tr>
94 <td>C-g</td>
95 <td>abort</td>
96 <td>stop</td>
97 </tr>
98 <tr>
99 <td>C-h i</td>
100 <td>help-page</td>
101 <td>Show this page.</td>
102 </tr>
103 <tr>
104 <td>C-h t</td>
105 <td>tutorial</td>
106 <td>Show the Conkeror tutorial.</td>
107 </tr>
108 </table>
110 <h3>Movement</h3>
111 <table border="1">
112 <tr><td>C-a</td><td>beginning of line</td></tr>
113 <tr><td>C-e</td><td>end of line</td></tr>
114 <tr><td>C-f</td><td>Forward a column</td></tr>
115 <tr><td>C-b</td><td>backward a column</td></tr>
116 <tr><td>C-n</td><td>Forward a line</td></tr>
117 <tr><td>C-p</td><td>backward a line</td></tr>
118 <tr><td>C-v</td><td>Page down</td></tr>
119 <tr><td>M-v</td><td>Page up</td></tr>
120 <tr><td>M-&lt;</td><td>Beginning of document</td></tr>
121 <tr><td>M-&gt;</td><td>End of document</td></tr>
122 <tr><td>C-s</td><td>Open i-search forward</td></tr>
123 <tr><td>C-r</td><td>Open i-search backward</td></tr>
124 </table>
126 <h3>I-Search</h3>
127 <table border="1">
128 <tr><td>C-s</td><td>search forward</td></tr>
129 <tr><td>C-r</td><td>search backward</td></tr>
130 <tr><td>C-g</td><td>quit i-search (jump back to where i-search started)</td></tr>
131 <tr><td>backspace</td><td>undo search</td></tr>
132 <tr><td>any modifier plus a key, enter or tab</td><td>close i-search</td></tr>
133 </table>
136 <h3>Web Jump</h3>
137 <p> In firefox this is the bookmark keyword feature. You type the
138 keyword into the location followed by some text your browser jumps to
139 the bookmark with the %s in the bookmark's URL substituted for this
140 text.</p>
142 <p>Conkeror also has this feature, but it's seperate from
143 bookmarks. Here are the built in web jumps:</p>
145 <table border="1">
146 <tr><td>google</td><td>Search with google</td></tr>
147 <tr><td>image</td><td>Search google images</td></tr>
148 <tr><td>wikipedia</td><td>Search wikipedia.org</td></tr>
149 <tr><td>slang</td><td>Search urbandictionary.com</td></tr>
150 <tr><td>dictionary</td><td>Search dictionary.reference.com</td></tr>
151 <tr><td>scholar</td><td>search google scholar</td></tr>
152 <tr><td>clusty</td><td>search the internet with clusty</td></tr>
153 <tr><td>xulplanet</td><td>search xulplanet.com</td></tr>
154 <tr><td>bugzilla</td><td>search the mozilla bug database</td></tr>
155 <tr><td>clhs</td><td>search the Common Lisp Hyper Spec</td></tr>
156 <tr><td>emacswiki</td><td>search the emacswiki</td></tr>
157 <tr><td>cliki</td><td>search the Common Lisp wiki</td></tr>
158 <tr><td>ratpoisonwiki</td><td>search the ratpoison wiki</td></tr>
159 <tr><td>stumpwmwiki</td><td>search the StumpWM wiki</td></tr>
160 <tr><td>savannah</td><td>search savannah.gnu.org</td></tr>
161 <tr><td>sourceforge</td><td>search sourceforge.net</td></tr>
162 <tr><td>freshmeat</td><td>search freshmeat.net</td></tr>
163 <tr><td>slashdot</td><td>search slashdot.com</td></tr>
164 <tr><td>kuro5hin</td><td>search kuro5hin.com</td></tr>
165 <tr><td>sheldonbrown</td><td>Search sheldonbrown.com</td></tr>
166 </table>
169 delicious webjumps can be added by putting the following in your rc file:
170 </p>
172 <pre>
173 add_delicious_webjumps ("myusername");
174 </pre>
177 this will create the following webjumps:
178 </p>
180 <table border="1">
181 <tr><td>adelicious</td><td>Add a delicious bookmark.</td></tr>
182 <tr><td>delicious</td><td>View your delicious bookmarks</td></tr>
183 <tr><td>sdelicious</td><td>Search your delicious bookmarks</td></tr>
184 <tr><td>sadelicious</td><td>Search all delicious bookmarks</td></tr>
185 </table>
188 <h3>Buffer Management</h3>
189 <table border="1">
190 <tr><td>C-u g</td><td>Open an URL in a new buffer</td></tr>
191 <tr><td>C-x b</td><td>Select a buffer based on it's name.</td></tr>
192 <tr><td>M-p</td><td>previous buffer</td></tr>
193 <tr><td>M-n</td><td>Next bufer</td></tr>
194 <tr><td>C-x k</td><td>kill buffer</td></tr>
195 <tr><td>C-x 5 C-f, C-u C-u g</td><td>Open an URL in a new frame</td></tr>
196 <tr><td>C-x 5 0</td><td>Close the current frame (all buffers in the
197 frame are lost, at this point)</td></tr>
198 <tr><td>C-x C-c</td><td>Quit conkeror</td></tr>
199 </table>
202 <h2>Conkeror RC File</h2>
204 You can customize Conkeror by creating an rc script or set of
205 scripts, and using the form below to set the preference
206 `conkeror.rcfile' to the path of your script. It can be set to the
207 path of a single file or a directory. When conkeror.rcfile is a
208 directory, all files with an extension of `.js' will be loaded from
209 that directory (non-recursive). These scripts are plain javascript
210 files. Conkeror loads them during startup into application scope
211 (as opposed to loading them for each window).
212 </p>
215 Note, if you set conkeror.rcfile to a file, the path must be
216 absolute. Conkeror will not expand ~ to your home directory. This
217 is a current limitation, and we hope to fix it soon.
218 </p>
220 <form action="get">
222 <input id="pref" value="" />
223 <input type="button" value="Set RC File" onclick="set_pref();" />
224 </p>
225 </form>
227 <p>Here are three common customizations:</p>
228 <ul>
229 <li>To add a new web jump:
230 <pre>
231 add_webjump("keyword", "url");
232 </pre></li>
233 <li>To add a new command:
234 <pre>
235 add_command("command-name", function_name, []);
236 </pre>
237 The 3rd argument is much like the interactive function in
238 emacs. Currently only "p" and "P" work. See bindings.js in the source
239 code for examples of how it works.
240 </li>
242 <li>To add a new key binding:
243 <pre>
244 define_key(ctrlx_kmap, kbd("c", MOD_META), "command-name");
245 </pre>
246 This binds C-x M-c to execute "command-name". Take a look at
247 bindings.js for the builtin keymaps and key bindings.
248 </li>
249 </ul>
251 <h2>Universal Argument</h2>
254 Conkeror support the universal argument, C-u. It's a prefix binding
255 that changes how a command behaves. In Conkeror, C-u has two main
256 effects. The first effect is that the command will be executed
257 multiple times. For example, typing the following:
258 </p>
259 <pre>
260 C-u C-n
261 </pre>
263 will cause conkeror to scroll down 4 lines.
264 </p>
265 <pre>
266 C-u 12 C-n
267 </pre>
269 will cause conkeror to scroll down 12 lines.
270 </p>
273 The second effect is to open in a new buffer or a new window.
274 </p>
275 <pre>
276 C-u g conkeror.mozdev.org RET
277 </pre>
279 This opens the conkeror project web page in a new buffer.
280 </p>
281 <pre>
282 C-u C-u n 12 RET
283 </pre>
285 This opens link number 12 in a new window.
286 </p>
289 There are some commands where the effect is ambiguous. Does
290 <code>C-u B</code> go back four pages in the history or does it go
291 back one and open the result in a new buffer? I am working on adding
292 a second universal argument that would allow you to do both.
293 </p>
295 <h2>toggle-eod-space</h2>
298 <code>toggle-eod-space</code> is a slightly ugly hack that should
299 help you read articles more smoothly. Imagine you're reading an
300 article. You start reading the beginning. Your eyes get to the
301 bottom of the screen, so you press Space to page down. You continue
302 until near the end of the article. You press Space to read the last
303 part and your browser only scrolls down part of a page, leaving
304 where you left off somwhere in the middle of the screen and not at
305 the top where you expected it. You spend the next couple seconds
306 searching for where you left off. <code>toggle-eod-space</code> adds
307 1 page of blank space to the end of the web page, so your last page
308 down is a full one. Note, <code>toggle-eod-space</code> turns the
309 feature on (or off) but the space won't be added to (or removed
310 from) the current page. It affects the subsequently loaded pages.
311 </p>
313 <h2>Ad Blocking</h2>
315 Conkeror can block images, scripts, etc originating from servers
316 that match one of conkeror's adblock patterns. To add a pattern use
317 <code>M-x adblock-add-pattern</code>. The pattern is a regular
318 expression.
319 </p>
322 <h2>Conkeror Resources</h2>
323 <ul>
324 <li><a href="http://conkeror.mozdev.org">Conkeror homepage</a></li>
325 </ul>
327 </body>
328 </html>