1 .\" Copyright (c) 2021 Omar Polo <op@omarpolo.com>
3 .\" Permission to use, copy, modify, and distribute this software for any
4 .\" purpose with or without fee is hereby granted, provided that the above
5 .\" copyright notice and this permission notice appear in all copies.
7 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 .Dd $Mdocdate: March 28 2021$
29 is an interactive browser for the Gemini protocol.
30 It is able to process text/gemini and more in general every text/* file.
32 also features tabs, bookmarks and out-of-band TOFU verification.
34 The arguments are as follows:
35 .Bl -tag -width tenletters
37 Display version and usage.
40 Only check the configuration file for validity.
42 Specify an alternative configuration file.
44 .Pa $HOME/.telescope/config
49 aims to use the "Trust, but Verify (where appropriate)" approach.
50 The idea is to define three level of verification for a certificate:
53 the server fingerprint does NOT match the stored value
55 the server fingerprint matches the store one
57 the fingerprint matches and has been verified out-of-band
62 level is enough, but where is appropriate users should be able to
63 verify out-of-band the certificate.
65 At the moment, there is no built-in support for an out-of-band
68 Known certificates are store in
69 .Pa ~/.telescope/known_hosts
70 with a format similar to the
74 Each line is a record and it's made up by three fields, separated by a
75 single space, according to the following format:
80 the hostname, optionally followed by a colon (":") and a port number.
82 is the hash of the certificate, as outputted by
83 .Xr tls_peer_cert_hash 3 .
86 0 means trusted, 1 verified.
88 .Sh DEFAULT KEY BINDINGS
89 The default key bindings are very similar to GNU Emacs, but care has
90 been taken to include also bindings familiar for
95 In the following examples, C-x means Control-x, M-x means Meta-x,
96 where the Meta key may be either a special key on the keyboard or the
97 ALT key; otherwise ESC followed by the key X works as well, and C-M-x
98 means to press the key X together with both Control and Meta.
100 Keys are usually a single character, like
104 but some special keys are accepted as well.
106 .Bl -tag -width 16m -offset indent -compact
116 Previous page/Page up
136 .Ss GNU Emacs-like keys
137 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
151 move-beginning-of-line
167 execute-extended-command
195 .Ss Xr vi 1 Ns -like keys
196 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
210 move-beginning-of-line
242 execute-extended-command
245 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
263 .Ss Neither Emacs nor vi specific
264 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
276 .Ss Minibuffer-specific keys
277 .Bl -tag -width xxxxxxxxxxxx -offset indent -compact
279 mini-complete-and-exit
287 mini-delete-backward-char
289 mini-delete-backward-char
291 mini-delete-backward-char
303 move-beginning-of-line
307 move-beginning-of-line
311 mini-previous-history-element
313 mini-next-history-element
315 mini-previous-history-element
317 mini-next-history-element
319 .Sh INTERACTIVE COMMANDS
320 Follows the documentation for the interactive commands.
321 These commands can be bound to a key or executed with
322 .Ic execute-extended-command .
323 .Ss Movement commands
324 .Bl -tag -width execute-extended-command -compact
326 Move point one character backward.
327 .It Ic backward-paragraph
328 Move point one paragraph backward.
329 .It Ic beginning-of-buffer
330 Move point to the beginning of the buffer.
332 Move point to the end of the buffer.
334 Move point one character forward.
335 .It Ic forward-paragraph
336 Move point one paragraph forward.
337 .It Ic move-beginning-of-line
338 Move point at the beginning of the current (visual) line.
339 .It Ic move-end-of-line
340 Move point at the end of the current (visual) line.
342 Move point to the next link.
344 Move point to the next (visual) line, in the same column if possible.
345 .It Ic previous-button
346 Move point to the previous link.
348 Move point to the previous (visual) line.
350 .Ss Bookmark-related commands
351 .Bl -tag -width execute-extended-command -compact
353 Add a link to the bookmark file.
354 It preloads the minibuffer with the current URL.
355 .It Ic list-bookmarks
356 Load the bookmarks page.
358 .Ss Tab-related commands
359 .Bl -tag -width execute-extended-command -compact
361 Close the current tab.
362 .It Ic tab-close-other
363 Close all tabs but the current one.
365 Move the current tab after the next one, wrapping around if
368 Move the current tab before the previous one, wrapping around if needed.
372 Focus next tab, wrapping around eventually.
374 Focus the previous tab, wrapping around eventually.
377 .Bl -tag -width execute-extended-command -compact
379 Clears the echo area.
380 .It Ic execute-extended-command
381 Prompts for a command name using the minibuffer.
382 .It Ic kill-telescope
385 .It Ic load-current-url
386 Prompts for an URL, the minibuffer is preloaded with the current
391 Load the next item in the history list.
393 Load the previous item in the history list.
395 Follow the link on the current line.
396 .It Ic push-button-new-tab
397 Follow the link on the current line on a new tab.
399 Redraws the screen, useful if some background program messed up the
402 Scroll down by one visual page.
403 .It Ic scroll-line-down
404 Scroll down by one line.
405 .It Ic scroll-line-up
406 Scroll up by one line.
408 Scroll up by one visual page.
410 Toggle side window with help about available keys and their associated
413 .Ss Minibuffer commands
414 .Bl -tag -width execute-extended-command -compact
416 Abort the current minibuffer action.
417 .It Ic mini-complete-and-exit
418 Complete the current minibuffer action.
419 .It Ic mini-delete-backward-char
420 Delete the character before the point.
421 .It Ic mini-delete-char
422 Delete the character after the point.
423 .It Ic mini-kill-line
424 Delete from the point until the end of the line.
425 .It Ic mini-next-history-element
426 Load the previous history element.
427 .It Ic mini-previous-history-element
428 Load the next history element.
431 The following aliases are available during
432 .Ic execute-extended-command :
433 .Bl -tag -width 16m -compact
440 .It Ic q No and Ic wq
444 .Bl -tag -width Ds -compact
445 .It Pa ~/.telescope/bookmarks.gmi
447 .It Pa ~/.telescope/known_hosts
448 Contains a list of host keys for all the hosts the user has visited.
449 See the TOFU section for more info.
450 .It Pa ~/.telescope/session
451 Contains the list of opened tabs in the last session, one per line.
454 and loaded on startup.
460 program was written by
461 .An Omar Polo Aq Mt op@omarpolo.com .