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 using Unicode fonts
- 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
- 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 via a Homebrew tap:
$ brew tap skyjake/lagrange
$ brew install lagrange
On openSUSE Tumbleweed:
sudo zypper install lagrange
On other platforms (e.g., *BSD), you'll need to compile the source tarball (CMake).
- New features: Atom feeds, inline downloads, editable bookmark icons, searching via the URL field, tab auto-reloading, new content font options, fullscreen mode on all platforms.
- UI design refresh: enhanced navbar and sidebars with improved layout, spacing, and colors; more consistency in UI fonts; pick the UI accent color; dialog buttons; embedded Page Information (lock) button; custom window frame on Microsoft Windows.
- Minor improvements like "Go to Root" checks for a username in the URL, and fine-tuning of the randomized color themes.
- Help is opened on first run as a more useful introduction to Lagrange and Gemini in general.
- Bug fixes: text prompts accept input if window switched to background; keep scroll position when resizing horizontally; paths in Gopher requests.
If you have questions, comments or improvement ideas, you can reach me via: