Blob


1 <!doctype html>
2 <html lang="en">
3 <head>
4 <title>Telescope</title>
5 <meta charset="utf8">
6 <meta name="viewport" content="width=device-width, initial-scale=1">
7 <style>
8 body {
9 font-family: monospace;
10 font-size: 14px;
11 max-width: 780px;
12 margin: 0 auto;
13 padding: 20px;
14 padding-bottom: 80px;
15 }
17 h1::before {
18 content: "# ";
19 }
21 h2 {
22 margin-top: 40px;
23 }
25 h2::before {
26 content: "## ";
27 }
29 h3::before {
30 content: "### ";
31 }
33 blockquote {
34 margin: 0;
35 padding: 0;
36 }
38 blockquote::before {
39 content: "> ";
40 }
42 blockquote p {
43 font-style: italic;
44 display: inline;
45 }
47 p.link::before {
48 content: "→ ";
49 }
51 hr {
52 border: 0;
53 height: 1px;
54 background-color: #222;
55 width: 100%;
56 display: block;
57 margin: 2em auto;
58 }
60 pre {
61 overflow: auto;
62 }
64 pre.banner {
65 display: flex;
66 flex-direction: row;
67 justify-content: center;
68 }
70 code, kbd {
71 color: #9d109d;
72 }
74 img {
75 display: block;
76 margin: 0 auto;
77 max-width: 100%;
78 }
80 @media (prefers-color-scheme: dark) {
81 body {
82 background-color: #222;
83 color: white;
84 }
86 img {
87 filter: brightness(0.65);
88 transition: filter 0.2s ease-in-out;
89 }
91 img:hover {
92 filter: brightness(1.0);
93 }
95 a {
96 color: aqua;
97 }
99 hr {
100 background-color: #ddd;
103 code, kbd {
104 color: #ff4cff;
108 @media (max-width: 400px) {
109 pre.banner { font-size: 9px; }
112 @media (max-width: 500px) {
113 pre.banner { font-size: 10px; }
115 </style>
116 </head>
117 <body>
118 <header>
119 <nav>
120 Home | <a href="/gallery/">Gallery</a> | <a href="telescope.1.html">Docs</a>
121 </nav>
122 </header>
123 <pre class="banner"> _______ __
124 |_ _|.-----.| |.-----.-----.----.-----.-----.-----.
125 | | | -__|| || -__|__ --| __| _ | _ | -__|
126 |___| |_____||__||_____|_____|____|_____| __|_____|
127 |__| v0.8.1</pre>
128 <blockquote>
129 <p>Telescope is a w3m-like browser for Gemini</p>
130 </blockquote>
131 <p>
132 Telescope is written entirely for fun, as a hobbystic project in
133 my free time. As such, it lacks a ton of features you’ll find
134 in more mature Gemini browsers, but it also has some unique
135 ones.
136 </p>
137 <p>
138 The UI is strongly inspired from Emacs and W3M, so you’ll find
139 some familiar concepts, such as the minibuffer or the tabline,
140 and the default keybindigs also reflect this, but keys familiar
141 for vi and CUA users are also present by default.
142 </p>
143 <p>
144 <a href="https://asciinema.org/a/426862" target="_blank">
145 <img src="https://asciinema.org/a/426862.svg" />
146 </a>
147 </p>
148 <h2>Install</h2>
149 <p>Some distros provide a package — thanks to the maintainers!</p>
150 <a href="https://repology.org/project/telescope/versions">
151 <img src="https://repology.org/badge/vertical-allrepos/telescope.svg" alt="Packaging status">
152 </a>
153 <p>Source code and precompiled binaries for linux are available:</p>
154 <ul>
155 <li>
156 <a href="https://github.com/omar-polo/telescope/releases/download/0.8.1/telescope-0.8.1.tar.gz">
157 telescope-0.8.1.tar.gz
158 </a>
159 </li>
160 <li>
161 <a href="https://git.omarpolo.com/telescope/">git repository</a>
162 </li>
163 <li>
164 <a href="https://github.com/omar-polo/telescope">GitHub mirror</a>
165 </li>
166 <li>
167 <a href="https://github.com/omar-polo/telescope/releases/download/0.8/telescope.amd64">
168 telescope.amd64
169 </a>
170 </li>
171 </ul>
172 <p>The dependencies are:</p>
173 <ul>
174 <li>libncurses</li>
175 <li>libevent</li>
176 <li>libtls (from either LibreSSL or libretls)</li>
177 <li>yacc (or GNU bison)</li>
178 </ul>
179 <p>Once all the dependencies are installed, building is as easy as:</p>
180 <pre>$ curl -LO https://github.com/omar-polo/telescope/releases/download/0.8.1/telescope-0.8.1.tar.gz
181 $ tar xzvf telescope-0.8.1.tar.gz
182 $ cd telescope-0.8.1
183 $ ./configure
184 $ make
185 $ sudo make install # eventually
186 </pre>
187 <p>
188 A SHA256 file containing the checksums is available. However,
189 that only checks for accidental corruption: you can use signify
190 (<code>SHA256.sig</code> and the public key <code>telescope-0.8.pub</code>).
191 The hash of the current and next signify public key is also
192 included in the SHA256.
193 </p>
194 <ul>
195 <li>
196 <a href="https://github.com/omar-polo/telescope/releases/download/0.8.1/SHA256">
197 SHA256
198 </a>
199 </li>
200 <li>
201 <a href="https://github.com/omar-polo/telescope/releases/download/0.8.1/SHA256.sig">
202 SHA256.sig
203 </a>
204 </li>
205 <li>
206 <a href="https://github.com/omar-polo/telescope/releases/download/0.8.1/telescope-0.8.pub">
207 telescope-0.8.pub
208 </a>
209 </li>
210 <li>
211 <a href="https://github.com/omar-polo/telescope/releases/download/0.8.1/telescope-0.9.pub">
212 telescope-0.9.pub
213 </a>
214 </li>
215 </ul>
216 <p>How to verify the signature with signify:</p>
217 <pre>$ signify -C -p telescope-0.8.1.pub -x SHA256.sig
218 Signature Verified
219 telescope-0.8.1.tar.gz: OK
220 telescope-0.8.pub: OK
221 telescope-0.9.pub: OK
222 telescope.amd64: OK
223 </pre>
224 <h2>Changelog</h2>
225 <p>0.8.1 “Le Scarpe Volanti” buildfix release — Released May 25, 2022</p>
226 <ul>
227 <li>Fix the build on macos. Reported by sikmir, thanks!</li>
228 </ul>
229 <p>0.8 “Le Scarpe Volanti” — Released May 25, 2022</p>
230 <h3>New features</h3>
231 <ul>
232 <li>save and restore scroll position</li>
233 <li>new command reply-last-input; idea from a conversation with thfr@, thanks!</li>
234 <li>allow push urls to an already opened telescope session</li>
235 <li>autocompletions for load-url and load-current-url</li>
236 <li>new command write-buffer (with alias w)</li>
237 <li>new command mini-kill-whole-line for the minibuffer</li>
238 <li>split the minibuffer input into words and try to match out of order</li>
239 </ul>
240 <h3>Improvements</h3>
241 <ul>
242 <li>move aliases at the top of the completions</li>
243 <li>add alias `open' for load-url; suggested by Florian, thanks!</li>
244 <li>update emoji-data.txt to 14.0.0</li>
245 <li>persist the list of visited URLs to the disk</li>
246 <li>fix builds out-of-tree</li>
247 <li>correctly mark variables in the manpage so it's possible to jump to them</li>
248 <li>rework completions selection: the selected entry is *always* the one used. if nothing is selected, the minibuffer content is used instead.</li>
249 <li>merge the ui and fs processes</li>
250 <li>rate-limit the update of the download pane</li>
251 </ul>
252 <h3>Bug fixes</h3>
253 <ul>
254 <li>fix parsing of invalid link lines</li>
255 <li>initialize each tab' loadingev timer event</li>
256 <li>fix the build on recent version of musl</li>
257 </ul>
258 </body>
259 </html>