💾 Archived View for skyjake.fi › lagrange captured on 2022-03-01 at 15:00:58. Gemini links have been rewritten to link to archived content
View Raw
More Information
⬅️ Previous capture (2022-01-08)
➡️ Next capture (2022-05-30)
🚧 View Differences
-=-=-=-=-=-=-
Lagrange
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/")
Features
- 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)
Downloads
Prebuilt binaries for Windows, macOS (10.13 or later), and Linux (x86_64 and armhf)
Lagrange on Flathub (for Linux) — see known issues below
Source code and resources (.tar.gz, 8.2 MB)
On macOS you can install and upgrade via Homebrew:
brew install --cask lagrange
Please check MacPorts if you are using macOS 10.12 or older.
On Fedora and any RHEL/CentOS Stream 8 and 9 derivatives (RHEL, CentOS Stream, Alma, Rocky) that have the EPEL repos enabled:
sudo dnf install 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?
Releases RSS feed
Git tags Gemini feed
v1.10
Release announcement
- Customizable navbar buttons.
- Switching quickly between alternative identities.
- Improved inlining of images and downloads.
- Improved link hover information: now includes chosen identity.
- Improvements for Titan uploads: modifying the upload URL, "Edit Page with Titan".
- Improved readability of Gemini feed indices.
- Several bug fixes, e.g., content caching, context menus not showing, duplicated banner warnings, various layout issues.
- macOS: Added swipe navigation.
- macOS: "Show in Finder" in Identities sidebar, downloads.
- macOS: Trimmed 2+ MB of unnecessary data from the binary packages.
- (v1.10.1) Bug fixes: disappearing Feeds action bar; possible crash during a download; tweaking SDL 2.0.18 event workaround. Updated UI translations.
- (v1.10.2) Bug fixes: cancelling an input query; go to parent in Gopher; possible crash on macOS. Updated Smol Emoji with Unicode 8.
- (v1.10.3) Added a manual page. Hide the redundant New Tab button if one of the navbar buttons is New Tab. Improvements for parent/root navigation on About, Gopher, and Titan pages. Fixed a few crashes, sidebar event handling problem, and word wrapping at backslash characters.
- (v1.10.4) Bug fixes for handling ANSI escapes. macOS: Support for 60+ Hz displays; improved input event processing.
- (v1.10.5) Added binding and undo for "Paste Preceding Line". Improved Emoji in preformatted blocks. Faster popup hover scrolling. Bug fixes: sidebar animation glitches; lookup order of font glyphs; excessive page redrawing; misplaced link numbers; very long URLs in the hover popup. macOS: Better behavior with Metal, mouse wheel events.
- (v1.10.6) Added bindings for Feeds sidebar Unread/All mode. Bug fix for empty path normalization.
Feedback
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
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.
Wayland
The environment variable `SDL_VIDEODRIVER=wayland` can be used to force SDL to use Wayland instead of X11. However, SDL does not have full support for Wayland at the moment. You should set the Lagrange CMake build option ENABLE_POPUP_MENUS to NO. If there are issues with resizing windows, also set ENABLE_RESIZE_DRAW to NO.
Documentation and tutorials
How to compile (in README.md)
The repository README details the basic build steps, configuration options, and has a few platform-specific notes.
Alex Schroeder: Capsule update using Lagrange on the phone
A thorough walkthrough of how to upload text and files via Titan using the (beta) version of Lagrange on an iPhone.
See also
Gemlog posts about Lagrange
Font Library
Authors and contributors 🥇
Emoji test page
Home