-- Leo's gemini proxy

-- Connecting to skyjake.fi:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;lang=en


Lagrange is a desktop GUI client for browsing Geminispace. It offers modern conveniences familiar from web browsers, such as smooth scrolling, inline image viewing, multiple tabs, visual themes, Unicode fonts, bookmarks, history, and page outlines.

Like Gemini, Lagrange has been designed with minimalism in mind. It depends on a small number of essential libraries. It is written in C and uses SDL for hardware-accelerated graphics. OpenSSL is used for secure communications.

Screenshot (showing "skyjake.fi/lagrange/")


Beautiful typography with full Unicode support

Autogenerated page style and Unicode icon for each Gemini domain

Smart suggestions when typing the URL — search bookmarks, history, identities

Sidebar for page outline, managing bookmarks and identities, and viewing history

Multiple tabs and split view

Identity management — create and use TLS client certificates

Audio playback: MP3, Ogg Vorbis, WAV

And more! Open `about:help` in the app, or see help.gmi

help.gmi (release branch)


Prebuilt binaries for Windows, macOS, and Linux

Lagrange on Flathub (for Linux) — see below for known issues

Source code and resources (.tar.gz, 22 MB)

On macOS you can install and upgrade via Homebrew:

brew install --cask lagrange

On openSUSE Tumbleweed:

sudo zypper install lagrange

On other platforms (e.g., *BSD), you'll need to compile the source tarball (CMake).

What's new?


Release announcement (on the gemlog)

Added bookmark folders and manual sorting.

Bookmarks use a new internal file format (bookmarks.ini) that supports folders and manual sort order.

Popup menus are no longer constrained inside the main window, but instead appear in separate windows if the main window is too small. On macOS, native UI controls are used for popup menus.

Added WebP image support.

Added option to colorize images.

Improved internal management of subscribed feeds. Fixed issues with reappearing entries and forgotten unread status.

Windows 10: the standard window title bar uses dark mode colors.

Optimized drawing of certain UI elements.

Added UI languages: Esperanto, Spanish (Mexico), Galician, Interslavic, and Slovak.

Identity selection in the Upload dialog.

Cycle focus to buttons in addition to input fields using the Tab/Shift+Tab keys.

Tuned mouse wheel scrolling.

Minor UI improvements.

(v1.7.1) Bug fixes: premature discarding of feed entries; parsing Atom feed timestamps; crash when selecting text. Improvements: feed update progress bar; bookmark list scrolls to show added item; moving an item to be the last one in a folder.

(v1.7.2) Bug fixes: text selection regressions; crash when clicking on Outline items during page loading; Gopher `p` line type.

(v1.7.3) Fixed a memory leak. Added option to place new bookmarks at the top of the list.


If you have questions, comments or improvement ideas, you can reach me via:

GitHub: Bug reports, feature requests, PRs

Codeberg: PRs

UI translations (Weblate)

@jk@skyjake.fi on Mastodon

Email (plain or encrypted)

Known issues


Flatpak applications run in a sandbox that limits their access to the rest of the system. At the moment, Lagrange has not been fully adapted to use Flatpak Portal APIs, so the following are known issues:

Unable to open HTTP/HTTPS links via the default browser.

Multiple instances of the application overwrite each other's data.

See also

How to compile

Translation credits 🥇

Emoji test page


-- Response ended

-- Page fetched on Wed Oct 20 19:58:30 2021