1 cc9bf8f2 2021-11-05 op <!doctype html>
2 cc9bf8f2 2021-11-05 op <html lang="en">
4 cc9bf8f2 2021-11-05 op <title>Telescope</title>
5 cc9bf8f2 2021-11-05 op <meta charset="utf8">
6 cc9bf8f2 2021-11-05 op <meta name="viewport" content="width=device-width, initial-scale=1">
9 cc9bf8f2 2021-11-05 op font-family: monospace;
10 cc9bf8f2 2021-11-05 op font-size: 14px;
11 cc9bf8f2 2021-11-05 op max-width: 780px;
12 cc9bf8f2 2021-11-05 op margin: 0 auto;
13 cc9bf8f2 2021-11-05 op padding: 20px;
14 cc9bf8f2 2021-11-05 op padding-bottom: 80px;
18 cc9bf8f2 2021-11-05 op content: "# ";
22 cc9bf8f2 2021-11-05 op margin-top: 40px;
26 cc9bf8f2 2021-11-05 op content: "## ";
30 cc9bf8f2 2021-11-05 op content: "### ";
38 cc9bf8f2 2021-11-05 op blockquote::before {
39 cc9bf8f2 2021-11-05 op content: "> ";
42 cc9bf8f2 2021-11-05 op blockquote p {
43 cc9bf8f2 2021-11-05 op font-style: italic;
44 cc9bf8f2 2021-11-05 op display: inline;
47 cc9bf8f2 2021-11-05 op p.link::before {
48 cc9bf8f2 2021-11-05 op content: "→ ";
54 cc9bf8f2 2021-11-05 op background-color: #222;
56 cc9bf8f2 2021-11-05 op display: block;
57 cc9bf8f2 2021-11-05 op margin: 2em auto;
61 cc9bf8f2 2021-11-05 op overflow: auto;
65 cc9bf8f2 2021-11-05 op display: flex;
66 cc9bf8f2 2021-11-05 op flex-direction: row;
67 cc9bf8f2 2021-11-05 op justify-content: center;
71 cc9bf8f2 2021-11-05 op color: #9d109d;
75 cc9bf8f2 2021-11-05 op display: block;
76 cc9bf8f2 2021-11-05 op margin: 0 auto;
77 cc9bf8f2 2021-11-05 op max-width: 100%;
80 cc9bf8f2 2021-11-05 op @media (prefers-color-scheme: dark) {
82 cc9bf8f2 2021-11-05 op background-color: #222;
87 cc9bf8f2 2021-11-05 op filter: brightness(0.65);
88 cc9bf8f2 2021-11-05 op transition: filter 0.2s ease-in-out;
92 cc9bf8f2 2021-11-05 op filter: brightness(1.0);
100 cc9bf8f2 2021-11-05 op background-color: #ddd;
104 cc9bf8f2 2021-11-05 op color: #ff4cff;
108 cc9bf8f2 2021-11-05 op @media (max-width: 400px) {
109 cc9bf8f2 2021-11-05 op pre.banner { font-size: 9px; }
112 cc9bf8f2 2021-11-05 op @media (max-width: 500px) {
113 cc9bf8f2 2021-11-05 op pre.banner { font-size: 10px; }
120 cc9bf8f2 2021-11-05 op Home | <a href="/gallery/">Gallery</a> | <a href="telescope.1.html">Docs</a>
123 cc9bf8f2 2021-11-05 op <pre class="banner"> _______ __
124 cc9bf8f2 2021-11-05 op |_ _|.-----.| |.-----.-----.----.-----.-----.-----.
125 cc9bf8f2 2021-11-05 op | | | -__|| || -__|__ --| __| _ | _ | -__|
126 cc9bf8f2 2021-11-05 op |___| |_____||__||_____|_____|____|_____| __|_____|
127 cc9bf8f2 2021-11-05 op |__| v0.5.2</pre>
129 cc9bf8f2 2021-11-05 op <p>Telescope is a w3m-like browser for Gemini</p>
130 cc9bf8f2 2021-11-05 op </blockquote>
132 cc9bf8f2 2021-11-05 op Telescope is written entirely for fun, as a hobbystic project in
133 cc9bf8f2 2021-11-05 op my free time. As such, it lacks a ton of features you’ll find
134 cc9bf8f2 2021-11-05 op in more mature Gemini browsers, but it also has some unique
138 cc9bf8f2 2021-11-05 op The UI is strongly inspired from Emacs and W3M, so you’ll find
139 cc9bf8f2 2021-11-05 op some familiar concepts, such as the minibuffer or the tabline,
140 cc9bf8f2 2021-11-05 op and the default keybindigs also reflect this, but keys familiar
141 cc9bf8f2 2021-11-05 op for vi and CUA users are also present by default.
144 cc9bf8f2 2021-11-05 op <a href="https://asciinema.org/a/426862" target="_blank">
145 cc9bf8f2 2021-11-05 op <img src="https://asciinema.org/a/426862.svg" />
148 cc9bf8f2 2021-11-05 op <h2>Install</h2>
149 cc9bf8f2 2021-11-05 op <p>Some distros provide a package — thanks to the maintainers!</p>
150 cc9bf8f2 2021-11-05 op <a href="https://repology.org/project/telescope/versions">
151 cc9bf8f2 2021-11-05 op <img src="https://repology.org/badge/vertical-allrepos/telescope.svg" alt="Packaging status">
153 cc9bf8f2 2021-11-05 op <p>Source code and precompiled binaries for linux are available:</p>
156 cc9bf8f2 2021-11-05 op <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope-0.5.2.tar.gz">
157 cc9bf8f2 2021-11-05 op telescope-0.5.2.tar.gz
161 cc9bf8f2 2021-11-05 op <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope.linux.aarch64">
162 cc9bf8f2 2021-11-05 op telescope.linux.aarch64
166 cc9bf8f2 2021-11-05 op <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope.linux.amd64">
167 cc9bf8f2 2021-11-05 op telescope.linux.amd64
171 cc9bf8f2 2021-11-05 op <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope-0.5.2-binaries.tar.gz">
172 cc9bf8f2 2021-11-05 op telescope-0.5.2-binaries.tar.gz
177 cc9bf8f2 2021-11-05 op When in doubt, compile from source. It’s easy and takes less
178 cc9bf8f2 2021-11-05 op than a minute on a raspberry pi 3. The dependencies are:
181 cc9bf8f2 2021-11-05 op <li>libncurses</li>
182 cc9bf8f2 2021-11-05 op <li>libevent</li>
183 cc9bf8f2 2021-11-05 op <li>libtls (from either LibreSSL or libretls)</li>
184 cc9bf8f2 2021-11-05 op <li>yacc (or GNU bison)</li>
186 cc9bf8f2 2021-11-05 op <p>Once all the dependencies are installed, building is as easy as:</p>
187 cc9bf8f2 2021-11-05 op <pre>$ curl -LO https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope-0.5.2.tar.gz
188 cc9bf8f2 2021-11-05 op $ tar xzvf telescope-0.5.2.tar.gz
189 cc9bf8f2 2021-11-05 op $ cd telescope-0.5.2
190 cc9bf8f2 2021-11-05 op $ ./configure
192 cc9bf8f2 2021-11-05 op $ sudo make install # eventually
195 cc9bf8f2 2021-11-05 op A SHA256 file containing the checksums is available. However,
196 cc9bf8f2 2021-11-05 op that only checks for accidental corruption: you can use signify
197 cc9bf8f2 2021-11-05 op (<code>SHA256.sig</code> and the public key
198 cc9bf8f2 2021-11-05 op <code>telescope-0.5.pub</code>) or GPG. The hash of the signify
199 cc9bf8f2 2021-11-05 op public key is also included in the SHA256 file and signed with
200 cc9bf8f2 2021-11-05 op my GPG too. The signify public key for the next release
201 cc9bf8f2 2021-11-05 op <code>telescope-0.6.pub</code> is also included.
205 cc9bf8f2 2021-11-05 op <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/SHA256">
210 cc9bf8f2 2021-11-05 op <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/SHA256.gpg">
215 cc9bf8f2 2021-11-05 op <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/SHA256.sig">
220 cc9bf8f2 2021-11-05 op <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope-0.5.pub">
221 cc9bf8f2 2021-11-05 op telescope-0.5.pub
225 cc9bf8f2 2021-11-05 op <a href="https://github.com/omar-polo/telescope/releases/download/0.5.2/telescope-0.6.pub">
226 cc9bf8f2 2021-11-05 op telescope-0.6.pub
230 cc9bf8f2 2021-11-05 op <p>How to verify the signature with signify:</p>
231 cc9bf8f2 2021-11-05 op <pre>$ signify -C -p telescope-0.5.pub -x SHA256.sig
232 cc9bf8f2 2021-11-05 op Signature Verified
233 cc9bf8f2 2021-11-05 op telescope-0.5.2-binaries.tar.gz: OK
234 cc9bf8f2 2021-11-05 op telescope-0.5.pub: OK
235 cc9bf8f2 2021-11-05 op telescope-0.5.2.tar.gz: OK
236 cc9bf8f2 2021-11-05 op telescope-0.6.pub: OK
237 cc9bf8f2 2021-11-05 op telescope.linux.aarch64: OK
238 cc9bf8f2 2021-11-05 op telescope.linux.amd64: OK
240 cc9bf8f2 2021-11-05 op <p>Finally, it’s possible to fetch the sources using git:</p>
243 cc9bf8f2 2021-11-05 op <a href="https://git.omarpolo.com/telescope/">git repository</a>
246 cc9bf8f2 2021-11-05 op <a href="https://github.com/omar-polo/telescope">GitHub mirror</a>
249 cc9bf8f2 2021-11-05 op <h2>Changelog for the last versions</h2>
250 cc9bf8f2 2021-11-05 op <p>0.5.2 “Le Nuvole” bugfix release — Released September 13, 2021</p>
251 cc9bf8f2 2021-11-05 op <p>Bugfixes:</p>
254 cc9bf8f2 2021-11-05 op some very long pages can cause (rarely) telescope to render a
257 cc9bf8f2 2021-11-05 op <li>allow creating files in <code>~/Downloads</code> on OpenBSD</li>
258 cc9bf8f2 2021-11-05 op <li>reset download byte counter</li>
261 cc9bf8f2 2021-11-05 op <p>0.5.1 “Le Nuvole” bugfix release — Released August 28, 2021</p>
263 cc9bf8f2 2021-11-05 op Telescope used to trim the initial “/” in gopher requests: this
264 cc9bf8f2 2021-11-05 op is not correct and while some servers are forgiving, other
265 cc9bf8f2 2021-11-05 op (rightfully) aren't.
268 cc9bf8f2 2021-11-05 op <p>0.5 “Le Nuvole” — Released August 27, 2021</p>
269 cc9bf8f2 2021-11-05 op <h3>New features</h3>
271 cc9bf8f2 2021-11-05 op <li>Support for the finger protocol</li>
273 cc9bf8f2 2021-11-05 op Support for the gopher protocol (only item types 0, 1, and 7
274 cc9bf8f2 2021-11-05 op for the moment)
276 cc9bf8f2 2021-11-05 op <li>Highlight diff/patches</li>
278 cc9bf8f2 2021-11-05 op Typing the protocol of a URI is not needed anymore: added some
279 cc9bf8f2 2021-11-05 op heuristics to assume file:// URLs and fall back to gemini://
282 cc9bf8f2 2021-11-05 op <li>Open local files and directories</li>
283 cc9bf8f2 2021-11-05 op <li>Add an autosave timer to persist the session once in a while</li>
284 cc9bf8f2 2021-11-05 op <li>Scroll completions with M-v/C-v (mini-scroll-up/mini-scroll-down)</li>
285 cc9bf8f2 2021-11-05 op <li>Variable `tab-bar-show' contrlos the visibility of the tab bar</li>
287 cc9bf8f2 2021-11-05 op <h3>Improvements</h3>
290 cc9bf8f2 2021-11-05 op New heuristics to extract a title for page without headings:
291 cc9bf8f2 2021-11-05 op use the domain name or the "tilde username"
293 cc9bf8f2 2021-11-05 op <li>About:new updated with some gopher links too</li>
294 cc9bf8f2 2021-11-05 op <li>Reload doesn't push the current url to the history anymore</li>
296 cc9bf8f2 2021-11-05 op Push-button-new-tab opens a new tab *right after* the current
297 cc9bf8f2 2021-11-05 op one, not as the last
299 cc9bf8f2 2021-11-05 op <li>Improved the crash detection</li>
300 cc9bf8f2 2021-11-05 op <li>M-[ and M-] are bind to tab-move-to/tab-move</li>
302 cc9bf8f2 2021-11-05 op <h3>Bug fixes</h3>
304 cc9bf8f2 2021-11-05 op <li>Fixed some crashes caused by cursor movements on empty pages</li>
305 cc9bf8f2 2021-11-05 op <li>Correctly parse multiple attributes</li>