💾 Archived View for skyjake.fi › lagrange captured on 2023-04-26 at 12:50:01. Gemini links have been rewritten to link to archived content
View Raw
More Information
⬅️ Previous capture (2023-04-19)
➡️ Next capture (2023-05-24)
-=-=-=-=-=-=-
Lagrange
Lagrange is a 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 are available for Windows 64-bit, macOS 10.13 or later, and Linux AppImage (x86_64 and armhf):
Releases for Windows, macOS, and Linux
OS-specific installation instructions
Mobile
iOS beta releases on TestFlight
Android beta releases (F-Droid repository)
Android beta APKs
Source
You can build from source on POSIX-compatible platforms:
Source code and resources (.tar.gz, 9.5 MB)
What's new?
News and announcements (@lagrange@skyjake.fi)
Git tags Gemini feed
Releases RSS feed
v1.15
Release announcement
- Preferences has been redesigned with vertical tabs, new page structure.
- Preferences dialog opens as a separate window (unless `--prefs-sheet` is used).
- Tabs can be reordered with mouse, keyboard shortcuts, or context menus.
- Tabs can be moved between split view sides or to a new window (via context menu).
- New "Window" menu in the menubar: actions for current window and tabs, and switching the active window.
- Gopher: Added option to not style menus using Gemini line types.
- Updated UI translations; a new Japanese translation was added (13% complete).
- UI enhancements: prevent mouse motion flooding; mouse I-beam over text; GTK dark theme window property.
- Bug fixes: potential crash when duplicating a tab; multi-window event processing; MIME hook hang; and more.
- (v1.15.1) Bug fixes: duplicate Preferences windows, missing icon; footer info placement.
- (v1.15.2) Centered page footer info. Bug fixes: broken TUI build; switching focus when closing a window.
- (v1.15.3) Bug fix: Handling redirects in the inline media player/downloads.
- (v1.15.4) Bug fixes: crashes and incorrect behavior related to the Preferences window.
- (v1.15.5) Added 19 new page content translation languages (via LibreTranslate), "Auto-detect" as source language, and option to skip preformatted blocks. Bug fixes: errors in translated content (e.g., link lines); redirects when fetching subscriptions; "Split view pinning" not saved.
- (v1.15.6) Outline sidebar uses regular UI colors for better legibility and consistency. Bug fixes: AltGr key; incorrectly colored Preferences tabs.
- (v1.15.7) Bug fixes: "Reset Zoom" causing refresh to stop altogether; Alt keys not working before activating a text field.
- (v1.15.8) Bug fixes: Potential crash when changing split view mode; use of pinned identities in inline media requests.
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
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