Awesome
leo
a gemini client written in Python 3.
(Linux-only, Windows support with WSL)
Instructions for use:
-
$ pip install leo-gmi
-
$ leo --copy-config
to create a config file in$XDG_CONFIG_HOME/leo
(falls back to~/.config/leo
)- If you don't want to put the config file in either of those places,
leo --print-config
prints out the config that you can then supply to leo with the--config
option.
- If you don't want to put the config file in either of those places,
-
set options to your preferences in the
config.json
file.wrap_text
specifies whether to wrap text beyond a certain width.wrap_margin
specifies what that width should be.homepage
is a page to load by default if no URL is specified.cert_path
is the path to a certificate file.
Note: You can specify an alternate config file with the
--config
option. -
$ leo --url <url>
. If you do not specify a URL, the homepage set inconfig.json
is loaded. If no homepage is set, you will be prompted for a URL. -
if you'd like to connect providing a client certificate (required by certain Gemini servers), set the
"cert_path"
option in your config file to a valid path to a cert file. -
Links are preceded by a number that is underlined and violet in colour. Type in the number of the link at the
(URL/Num):
prompt in order to navigate to a specific link, or type in a URL. -
Type
reload
to re-render a page.reload hard
redownloads the page. -
back
takes you one page back. -
ls
lists all of the links on the current page, for easy navigation. -
Type
help
at any time to view a listing of these and other useful commands. -
Type
exit
orquit
to exit leo.
Features:
- Only uses the python standard library
- Fully implements Gemini spec
- Passes torture tests at gemini://gemini.conman.org/test/torture/ (Save for the final few Unicode ones, but Unicode support is hard)
- formatted text output with arbitrary wrapping support
- Lets you save a list of URLs to a file for further viewing / opening in another window
Contributing
Fork the repo and make a PR! That's all :) You can alternatively send me an e-mail with your patch.