TELESCOPE(1) | General Commands Manual | TELESCOPE(1) |
telescope
—
multi-protocol browser
telescope |
[-hnSv ]
[-c config]
[URL] |
telescope
is a browser that supports the
Finger, Gemini and Gopher protocols. telescope
features tabs, a minibuffer, interactive completions, bookmarks and client
certificates.
The arguments are as follows:
-c
config-h
,
--help
-n
-S
,
--safe
telescope
from writing files to the disk and to
acquire the lock, allowing to run multiple instances at the same time.
telescope
still loads the session file and the
custom about pages.-v
,
--version
telescope
interface is divided into four
areas: the tabline, the body, the modeline and the echoarea/minibuffer.
The tabline is always at the top of the screen and displays the tabs separated by a vertical line. When there are more tabs than the size of the window allow to display, the characters ‘<’ or ‘>’ are shown at the start/end of the tabline to indicate that there are more tabs in that direction.
The body occupies the majority of the visible area. It contains the current page and optionally a side window.
The modeline is the second to last row of the screen. It shows some information about the page: a spinner when the page is loading, the trust level, whether a client certificate is in use, a warning indicator for faulty Gemini servers, document type, the scroll offset and the URL. When a client certificate is in use, a ‘C’ character is showed. Some Gemini servers have buggy TLS handling but some information might still be available. This information could be truncated. In those circumstances, a ‘W’ character is shown.
The echoarea is usually the last line of the screen. Messages are
often showed there, and link addresses too. The echoarea is also used to
obtain input from the user. When commands like
swiper
or link-select
are
invoked, the minibuffer area grows to show possible completions.
telescope
aims to use the “Trust,
but Verify (where appropriate)” approach for TOFU (“Trust On
First Use”). The idea is to define three level of verification for a
certificate:
The trust level of the page is indicated in the modeline with the indicated character.
Most of the time the “trusted” level is enough, but where is appropriate users should be able to verify out-of-band the certificate.
At the moment, there is no built-in support for an out-of-band verification though.
The following protocols are supported:
telescope
internal page. See
about:about for a list of all these pages.telescope
, such as .gmi,
.gemini, .txt, .md, .markdown, .diff or .patch, can be viewed inside the
application. Types of local files are detected solely based on the file
extension. On some systems, such as OpenBSD, only
files inside special directories (like /tmp
or ~/Downloads) are
available.User-entered URLs, given as argument on the command line or
entered with load-url
, by default are intepreted
with a simple heuristic:
default-protocol
(gemini by default).The setting load-url-use-heuristic
can be
used to disable the use of heuristics.
Beyond the supported protocols which
telescope
already understands, mime-types which
telescope
cannot display can be opened using a
mailcap file. By default,
telescope
will look for one of the following mailcap
files in the following order:
A default mailcap entry is always defined by
telescope
which uses xdg-open(1)
as a fallback for mime-types not defined through a mailcap file, or if no
mailcap file was found.
Refer to RFC 1524 for more information about the structure and
format of this file. Note that telescope
currently
only supports a small subset of this standard, honouring only the
needsterminal and
copiousouput flags.
During the startup, telescope
reads the
configuration file at ~/.config/telescope/config or
~/.telescope/config.
It's possible to load a custom configuration file using the
-c
flag.
telescope
will also load a file called
config-TERM, where “TERM” is the name
of the terminal type (i.e. the TERM environment variable), if it exists.
The format of the configuration file is fairly flexible. The current line can be extended over multiple ones using a backslash (‘\’). Comments can be put anywhere in the file using a hash mark (‘#’), and extend to the end of the current line, but backslashes can't be used to extend comments over multiple lines.
The following constructs are available:
bind
map key
cmdproxy
proto via
urlset
opt =
valautosave
default-protocol
load-url
heuristic. Defaults to
“gemini”.default-search-engine
search
command. If it's a Gemini URI, the user
query will be appended as query, replacing it if present. If it's a
Gopher URI, the user query will be sent as gopher search parameter. No
other URI scheme are allowed.dont-wrap-pre
download-path
emojify-link
enable-colors
NO_COLORS
is set, true otherwise.fill-column
fringe-ignore-offset
olivetti-mode
. Defaults to false.hide-pre-blocks
push-button
can be
used to toggle the visibility per-block.hide-pre-closing-line
hide-pre-context
hide-pre-context
and
hide-pre-blocks
are true, preformatted blocks
are irremediably hidden. Defaults to false.new-tab-url
load-url-use-heuristic
load-url
will resolve as
relative to the current URL. Defaults to true.max-killed-tabs
olivetti-mode
olivetti-mode
.
Defaults to true.tab-bar-show
update-title
style
name optionValid options are:
attr
prefix [line
[trail]]Only the style identifiers with the “line.” prefix accept up to three attributes. The other will only use the first one given.
bg
prefix [line
[trail]]attr
regarding the optional parameters. The
colour is one of black, red, green, yellow, blue, magenta, cyan and
white; colour0 to colour255 (or color0 to color255) from the
256-colour set; default for the default colour.fg
prefix [line
[trail]]bg
.prefix
prfx [cont]The default key bindings are very similar to GNU Emacs, but care has been taken to include also bindings familiar for vi(1) and “CUA” users. In the following examples, C-x means Control-x, M-x means Meta-x, where the Meta key may be either a special key on the keyboard or the ALT key; otherwise ESC followed by the key X works as well, and C-M-x means to press the key X together with both Control and Meta.
Keys are usually a single character, like ‘p’ or ‘n’, but some special keys are accepted as well.
Follows the documentation for the interactive commands. These
commands can be bound to a key or executed with
execute-extended-command
.
backward-char
backward-paragraph
beginning-of-buffer
end-of-buffer
forward-char
forward-paragraph
insert-current-candidate
move-beginning-of-line
move-end-of-line
next-completion
next-heading
next-line
previous-completion
previous-heading
previous-line
bookmark-page
list-bookmarks
client-certificate-info
unload-certificate
use-certificate
tab-close
tab-close-other
tab-move
tab-move-to
tab-new
tab-next
tab-previous
tab-select
tab-undo-close
cache-info
clear-minibuf
dec-fill-column
execute-extended-command
home
kill-telescope
telescope
.inc-fill-column
link-select
load-current-url
load-url
load-url-use-heuristic
option is unsed, in which
case the URL is resolved using the current one as base.next-page
olivetti-mode
other-window
previous-page
redraw
reload-page
root
search
scroll-down
scroll-line-down
scroll-line-up
scroll-up
suspend-telescope
telescope
session.swiper
toc
toggle-help
toggle-pre-wrap
toggle-styling
up
write-buffer
mini-abort
mini-complete-and-exit
mini-delete-backward-char
mini-delete-char
mini-edit-external
mini-goto-beginning
mini-goto-end
mini-kill-line
mini-kill-whole-line
mini-next-history-element
mini-previous-history-element
The following aliases are available during
execute-extended-command
:
When telescope
is started, it inspects the
following environment variables:
HOME
NO_COLORS
TERM
VISUAL
,
EDITOR
mini-edit-external
command. If not set, ed(1) the standard text editor is
used.XDG_CACHE_HOME
,
XDG_CONFIG_HOME
,
XDG_DATA_HOME
By default telescope
follows the XDG Base
Directory Specification. However, if ~/.telescope
exists, XDG is ignored and all the files are stored inside it. The usage of
XDG_CACHE_HOME
,
XDG_CONFIG_HOME
and
XDG_DATA_HOME
can further alter the location of
these files.
telescope
from running at the same time.It's possible to browse “the small web” (i.e. simple websites) by using programs like the duckling-proxy by defining a proxy in ~/.config/telescope/config:
proxy http via "gemini://127.0.0.1:1965" proxy https via "gemini://127.0.0.1:1965"
To load telescope
without any
configuration
$ telescope -c /dev/null
XDG Base Directory Specification, https://specifications.freedesktop.org/basedir-spec/latest/.
The “Trust, but verify (where appropriate)” TOFU scheme was firstly suggested by thfr: gemini://thfr.info/gemini/modified-trust-verify.gmi.
The telescope
program was written by
Omar Polo
<op@omarpolo.com>.
telescope
assumes a UTF-8 environment and
doesn't try to cope with other encodings. This can cause strange rendering
issues if you're lucky, or possibly weird thing happening depending on your
locale and terminal emulator.
There's no UI for out-of-band certificates validation.
February 23, 2024 | Linux 6.1.0-20-amd64 |