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.
- 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
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).
- 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:
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.