telescope-browser / telescope Goto Github PK
View Code? Open in Web Editor NEWbrowser for the small internet
Home Page: https://telescope-browser.org
License: ISC License
browser for the small internet
Home Page: https://telescope-browser.org
License: ISC License
Version: 0.8.1
System: Fedora Asahi Remix
Multiple Can't parse the URI
errors in different circumstances. Here's two to replicate.
Case 1
Next 30 matches
Can't parse the URI
Case 2
gopher://gopherpedia.com
Can't parse the URI
Interestingly, at least in the second example, if you quit telescope with q
at the error page, then re-run telescope, the page loads fine when restoring the tabs from your previous session.
$ telescope -v
telescope 0.6
$ telescope gemini://gemini.omarpolo.com/
telescope: landlock: Function not implemented
telescope: can't create landlock ruleset
: Function not implemented
OS: Linux
I can't find it, even with Google!
I have openssl-1.1.1 and was concerned about LibreSSL stepping on it.
Any help is appreciated, and I can't wait to give telescope a try.
I've tried to cross-compile telescope and build failed with:
telescope-aarch64-unknown-linux-gnu> aarch64-unknown-linux-gnu-gcc -I/nix/store/2dvz4kwky6qxx75qlwjawa52ixpi0lb5-libevent-aarch64-unknown-linux-gnu-2.1.12-dev/include -g -O2 -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -o pagebundler pagebundler.o compat/freezero.o compat/getdtablecount.o compat/getprogname.o compat/recallocarray.o compat/strlcat.o compat/strlc
py.o compat/strtonum.o compat/setproctitle.o compat/imsg.o compat/imsg-buffer.o compat/ohash.o compat/fmt_scaled.o -L/nix/store/mq7pij264yrh1piv55a4z5wzxrsyjc8b-libevent-aarch64-unknown-linux-gnu-2.1.12/lib -levent_core -ltls -lncursesw
telescope-aarch64-unknown-linux-gnu> echo > pages.c
telescope-aarch64-unknown-linux-gnu> echo "#include \"pages.h\"" >> pages.c
telescope-aarch64-unknown-linux-gnu> ./pagebundler -f ./pages/about_about.gmi -v about_about >> pages.c
telescope-aarch64-unknown-linux-gnu> /nix/store/l0wlqpbsvh1pgvhcdhw7qkka3d31si7k-bash-5.1-p8/bin/bash: line 1: ./pagebundler: cannot execute binary file: Exec format error
telescope-aarch64-unknown-linux-gnu> make: *** [Makefile:1181: pages.c] Error 126
error: builder for '/nix/store/n9ghpkkns8yfbr4xjgjv4y9dr9w759d8-telescope-aarch64-unknown-linux-gnu-0.5.2.drv' failed with exit code 2;
last 10 log lines:
> 72 | __glibc_objsize (__s), __fmt,
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 73 | __va_arg_pack ());
> | ~~~~~~~~~~~~~~~~~
> aarch64-unknown-linux-gnu-gcc -I/nix/store/2dvz4kwky6qxx75qlwjawa52ixpi0lb5-libevent-aarch64-unknown-linux-gnu-2.1.12-dev/include -g -O2 -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wno-unused-parameter -o pagebundler pagebundler.o compat/freezero.o compat/getdtablecount.o compat/getprogname.o compat/recallocarray.o compat/strlcat.o compat/strlcpy.o compat/strtonum.o compat/setproctitle.o compat/imsg.o compat/imsg-buffer.o compat/ohash.o compat/fmt_scaled.o -L/nix/store/mq7pij264yrh1piv55a4z5wzxrsyjc8b-libevent-aarch64-unknown-linux-gnu-2.1.12/lib -levent_core -ltls -lncursesw
> echo > pages.c
> echo "#include \"pages.h\"" >> pages.c
> ./pagebundler -f ./pages/about_about.gmi -v about_about >> pages.c
> /nix/store/l0wlqpbsvh1pgvhcdhw7qkka3d31si7k-bash-5.1-p8/bin/bash: line 1: ./pagebundler: cannot execute binary file: Exec format error
> make: *** [Makefile:1181: pages.c] Error 126
The reason is that pagebundler should be built with build-platform compiler, not with target-pllatform compiler.
It would be a great feature if you could choose an application to open http(s) links or images in a specified application in the config file and default to xdg-open.
First time around, hitting enter on the link to Project Gemini crashed out, leaving the terminal in a weird state.
Second time (can't remember which link), also crashed.
Third time telescope started with the # Oops
document. Clicking on the email results in # unknown protocol
screen.
Version: 0.8.1
System: Fedora Asahi Remix
When I add something to my bookmarks, I either get a No such file or directory
or occasionally invalid multibyte character
. This happens on any capsule or gopherhole, however, the link does save to the bookmarks file, and works fine with :list-bookmarks
When I try visiting gemini://tilde.cafe/~stack/weather, it cannot escape the different colors used?
Hi first of all thank you for your work in this amazing tool.
I love it. Very well thought. It's obviously the work of someone experienced with other power Unix tools.
Especially the care taken with the bindings, not forcing or imposing anything, catering to a large population of command line power users. And paying attention to conventions.
I'm planning to do a full detailed review of telescope and compare it to other gemini text/cli clients I've been testing in the last months.
I have one question that's been puzzling me since I've been checking your latest releases.
I'm not a programmer so, understand if I'm missing something "obvious"
I'm also a power w3m user.
When I load a couple of sites, and/or go back and forth betwenn many pages in the same site, w3m keeps them "cached" in memory or (if very big) as a temporrary tmp/gziped html file. Once the needed html is downloaded, the tcp connections / sockets to the server are closed. No need to keep them open. I love it.
If I dont close w3m, I could even turn off the Internet, and go back and forth, and read those pages offline. All my loaded tabs and buffers, load instatntly. When I quit w3m, of course all that is removed.
The important thing is that, once I've loaded the page, no more network request are made to the server. , if I go back and forth. It feels snappy , unlike the modern "bloated web", always and constatnly keeping a tcp connection open with the server. Same thing with other gemini clients, for example amfora.
But I've noticed in telescope, that if I visit a gemini site, browse some of its pages, and then want to go back and forth in the history, each time, there's a new network request to the server. So it's talking to the server again, to get the same page I got some minutes ago.
I know this, because I use "ss" (could be netstat, iftop, bandwhich, wireshark, etc) to monitor the sockets connections the program is making in realtime.
Is this normal ? Or is the cache/buffer mechanism not yet implemented ? If so is there any plans to do it ?
Thanks in advance and keep up the good work.
PS: I'm not talking about "cache", in the sense of communication between the client (telescope) and the server (gemini host). I know perfectly well that the gemini protocol does not support this.
In a recent discussion in the IRC channel for telescope, @omar-polo and I were talking about how we might improve some of the UI styles.
For example, it's not currently possible to add styling (bg
and fg
, attr
, etc.) to the modeline -- something I know I'd like to change.
One suggestion we had was to introduce themes. Currently, this is achievable through separate config files but this approach is inflexible. Instead, the proposal would look something like this:
theme some_theme {
style line.pre.end bg color239
style line.link {
prefix "=> "
fg color81
attr normal
}
}
Then it would be a case of having another config directive such as:
set theme some_theme
If people wanted to separate out these themes into separate files, we could introduce the include
config option (stealing the implementation, more-or-less, from gmid
;)):
theme some_theme2 {
include "themes/some_theme2"
}
Note that the path here (if it's not absolute) is considered relative to ~/.config/telescope
or its XDG equivalent if that's defined. I'm not suggesting that such an include
config option is limited to this theme proposal either.
So I think namespacing style
to a theme
block makes some sense.
We could even have a generic default
theme which we ship.
theme default {
style line.quote attr dim normal
style line.pre.start bg color239
style line.pre bg color239
style line.pre.end bg color239
style line.link {
prefix "=> "
fg color81
attr normal
}
style line.compl.current {
bg color50
fg black
attr normal
}
}
If we were to allow inheriting themes so that users can create theme based off others, that might be interesting. Hence, I could then create a theme based on default
:
theme my_new_default inherits from default {
style line.link.prefix "<=> "
}
Such that the only thing in my_new_theme
is the changed style of the prefix
line -- everything else remains as inherited.
Not wanting to overload this idea too much -- at some point I'd like to see protocol-level styles as well. For example -- gemini is not a superset of gopher, and gopher has attributes I'd like to be able to style differently (such as a directory
link). Currently, all links in gopher are rendered in gemini's style, which is misleading.
But we can tackle that problem separately.
Feature suggestions: Relative URL mode: It will ignore the heuristics described in the documentation and will instead treat user-entered URLs as relative to the current file if no scheme is specified. If it is a command-line argument, then it is relative to the current directory if no scheme is specified.
gemini://gnubox.org/
This happens in both the latest release as well as when building from source.
The same capsule works fine on bombadillo and lagrange.
While not mentioned in the readme pkg-config is used by the libevent detection and as such is also a required dependency. Installing this fixes configure on a minimal debian installation.
Telescope could save the gopher search string in the query part of the generated URI, so during history navigation (forward/backward and session resuming) the user is not prompted again. Reloading the page should maybe trigger the prompt, and reply-last-input
should allow to change the query.
(got the idea in #14 )
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.