<component type="desktop-application">
<id>fi.skyjake.clagrange</id>
<name>clagrange</name>
<summary>A Beautiful Gemini Client</summary>
<description>
<p>Beautiful Gemini client</p>
</description>
<pkgname>lagrange</pkgname>
<launchable type="desktop-id">fi.skyjake.clagrange.desktop</launchable>
<icon type="cached" width="64" height="64">lagrange_fi.skyjake.clagrange.png</icon>
<icon type="remote" width="64" height="64">fi/skyjake/clagrange/e95563d866db8d8ff1e1053d02bb1684/icons/64x64/lagrange_fi.skyjake.clagrange.png</icon>
<icon type="remote" width="128" height="128">fi/skyjake/clagrange/e95563d866db8d8ff1e1053d02bb1684/icons/128x128/lagrange_fi.skyjake.clagrange.png</icon>
<icon type="stock">fi.skyjake.clagrange</icon>
<categories>
<category>Network</category>
</categories>
<provides>
<mediatype>x-scheme-handler/gemini</mediatype>
<mediatype>x-scheme-handler/gopher</mediatype>
<mediatype>x-scheme-handler/spartan</mediatype>
<mediatype>x-scheme-handler/misfin</mediatype>
<mediatype>x-scheme-handler/nex</mediatype>
</provides>
</component>
<component type="desktop-application">
<id>fi.skyjake.Lagrange</id>
<name>Lagrange</name>
<summary>A Beautiful Gemini Client</summary>
<project_license>BSD-2-Clause</project_license>
<developer_name>Jaakko Keränen</developer_name>
<description>
<p>
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.
</p>
<p>
Like the Gemini protocol, 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.
</p>
</description>
<pkgname>lagrange</pkgname>
<launchable type="desktop-id">fi.skyjake.Lagrange.desktop</launchable>
<icon type="cached" width="64" height="64">lagrange_fi.skyjake.Lagrange.png</icon>
<icon type="remote" width="64" height="64">fi/skyjake/Lagrange/eebdf7ade6b09ca7712eaab6c3cebc28/icons/64x64/lagrange_fi.skyjake.Lagrange.png</icon>
<icon type="remote" width="128" height="128">fi/skyjake/Lagrange/eebdf7ade6b09ca7712eaab6c3cebc28/icons/128x128/lagrange_fi.skyjake.Lagrange.png</icon>
<icon type="stock">fi.skyjake.Lagrange</icon>
<url type="homepage">https://gmi.skyjake.fi/lagrange</url>
<url type="bugtracker">https://github.com/skyjake/lagrange/issues</url>
<url type="contact">https://skyjake.fi/@jk</url>
<categories>
<category>Network</category>
</categories>
<provides>
<binary>lagrange</binary>
<mediatype>x-scheme-handler/gemini</mediatype>
<mediatype>x-scheme-handler/gopher</mediatype>
<mediatype>x-scheme-handler/spartan</mediatype>
<mediatype>x-scheme-handler/misfin</mediatype>
<mediatype>x-scheme-handler/nex</mediatype>
</provides>
<screenshots>
<screenshot type="default">
<image type="source" width="2380" height="1377">fi/skyjake/Lagrange/eebdf7ade6b09ca7712eaab6c3cebc28/screenshots/image-1_orig.png</image>
<image type="thumbnail" width="1248" height="722">fi/skyjake/Lagrange/eebdf7ade6b09ca7712eaab6c3cebc28/screenshots/image-1_1248x722.png</image>
<image type="thumbnail" width="752" height="435">fi/skyjake/Lagrange/eebdf7ade6b09ca7712eaab6c3cebc28/screenshots/image-1_752x435.png</image>
<image type="thumbnail" width="624" height="361">fi/skyjake/Lagrange/eebdf7ade6b09ca7712eaab6c3cebc28/screenshots/image-1_624x361.png</image>
<image type="thumbnail" width="224" height="129">fi/skyjake/Lagrange/eebdf7ade6b09ca7712eaab6c3cebc28/screenshots/image-1_224x129.png</image>
</screenshot>
</screenshots>
<releases>
<release type="stable" version="2.0" timestamp="1794009600">
<description>
<ul>
<li>Syncing user data across devices with end-to-end encryption. (Relies on a sync server.)</li>
<li>Paginated view mode that behaves like an e-reader. Content is presented as pages with up to four columns on screen.</li>
<li>Enhanced Gempub support with all chapters combined into a single sequence of pages.</li>
<li>Bookshelf for managing your Gempub book collection. Book metadata is synced across devices (e.g., source URLs, reading positions).</li>
<li>Any Gemtext page can be saved as a Gempub book to the bookshelf.</li>
<li>Subscribing to Tinylog feeds.</li>
<li>Reader tab: feed entries get a dedicated (pinned) tab with entry navigation. Tinylog response link chains are expanded when entry contents are available.</li>
<li>Bookmark trash: deleted bookmarks go into a trash folder instead of being immediately gone.</li>
<li>View tools: convenient floating bar for tab-specific actions (identity pinning, auto-reload, paginated mode).</li>
<li>Per-protocol and per-site theme customization and content settings.</li>
<li>New document themes: Arboreal, Ember, and Paper.</li>
<li>Hyphenation for English text (disabled by default).</li>
<li>Support for system fonts and color Emoji. On macOS, iOS, Android, and Windows, UI icons use system-provided icon fonts.</li>
<li>Native file open/save dialogs (via SDL3).</li>
<li>TUI: Mouse input is supported.</li>
<li>SDL3 is required.</li>
<li>Improved performance of document parsing and layout.</li>
<li>Revised UI design: rounded corners, a new slider widget, and improved tab bar appearance.</li>
<li>Sidebar lists support variable-height items and support selecting multiple items (click/hold the Shift key).</li>
<li>Feeds: Up to 1000 items visible in the list.</li>
<li>Outline: long headings get wrapped to multiple lines.</li>
<li>Sort order setting for Identities and Subscriptions sidebars.</li>
<li>Reorganized Preferences.</li>
<li>Support for ECDSA and Ed25519 client certificates. (ECDSA is the new default.)</li>
<li>File format of user data files has been cleaned up. A new ".lst" format is used for text-based lists. Feed entries are serialized as binary into "feeds.lgr". "mimehooks.txt" is not read any more; use "tools.ini" instead.</li>
<li>TUI: Improved appearance of UI controls, e.g., list items and buttons. The key shortcuts are now in the bottom, and the menu bar is always visible.</li>
<li>Addressed various glitches in the app UI and behavior.</li>
<li>Many bug fixes.</li>
</ul>
<p>The full release notes can be viewed inside the app by opening
the "about:version" page.</p>
</description>
<url>https://github.com/skyjake/lagrange/releases/tag/v2.0.0</url>
</release>
<release type="stable" version="1.21.2" timestamp="1790726400">
<description>
<ul>
<li>Updated the bundled monospace font (Iosevka): no ligatures, 4% wider.</li>
<li>Quitting the app is disabled while the Titan upload dialog is open. (The contents are autosaved in case of a crash.)</li>
<li>Fixed visibility of selected text against different backgrounds.</li>
<li>Fixed feed refresh not getting triggered when due.</li>
<li>Fixed potential crash when an inline prompt is immediately visible at launch.</li>
<li>TUI: Fixed potential hang in the text renderer.</li>
</ul>
<p>The full release notes can be viewed inside the app by opening
the "about:version" page.</p>
</description>
<url>https://github.com/skyjake/lagrange/releases/tag/v1.21.2</url>
</release>
<release type="stable" version="1.21.1" timestamp="1788393600">
<description>
<ul>
<li>Fixed: Sidebar tab buttons lack a background color in the second split (clipping issue).</li>
<li>Fixed: Handling input events in the correct prompt when multiple prompts are open.</li>
<li>Fixed: Auto-opened input prompt dialog was duplicated when opening the same link again without first dismissing the first prompt.</li>
<li>Fixed: Auto-opened input prompt randomly becoming unresponsive.</li>
</ul>
<p>The full release notes can be viewed inside the app by opening
the "about:version" page.</p>
</description>
<url>https://github.com/skyjake/lagrange/releases/tag/v1.21.1</url>
</release>
<release type="stable" version="1.21" timestamp="1787702400">
<description>
<ul>
<li>Inline input prompts. By default, input prompts appear below the originating link, much like inline images. This allows accessing the rest of the page normally while entering input.</li>
<li>Links marked "Assume This URL Requires Input" will pre-populate with an inline prompt UI.</li>
<li>Option to choose default mode for prompts: inline, top, or bottom.</li>
<li>Gopher: Support for TLS, i.e., "gophers://". Server certificates are handled similarly to Gemini, which means they are verified using TOFU and trusted root CAs.</li>
<li>"Use on This Domain" in identity context menu.</li>
<li>Appearance option to make scroll bars thicker.</li>
<li>Input prompts are no longer strictly modal: a click outside the dialog turns the dialog non-modal, allowing normal access to page contents and links.</li>
<li>Improved sidebar layout. Sidebars are now top-level siblings of the document area, which means the tab buttons don't overlap the sidebar area.</li>
<li>Click middle mouse button to scroll vertically. (No longer necessary to keep holding the button down.) Middle-clicking on links and list items still behaves as before (open in background tab).</li>
<li>Optional build features are listed in Debug Information. For example, whether JPEG XL support is enabled.</li>
<li>Window placement is persistent also in multi-window arrangements (saved and restored).</li>
<li>Placement of previously open windows is stored persistently.</li>
<li>On Windows and Linux, closing the last tab no longer quits the app.</li>
<li>Registered the app as a "nex://" URL handler.</li>
<li>Declare the app as a "misfin://" handler in the .desktop file.</li>
<li>Compatibility with OpenSSL 4.</li>
<li>Updated UI translations.</li>
<li>Opening ZIP archives with prepended arbitrary data (e.g., self-extracing archives).</li>
<li>The redirect limit (5) only applies to Gemini, not Titan. It was being triggered by consecutive edits/uploads.</li>
<li>Bookmark URI normalization issue that possibly caused duplicated bookmarks to appear.</li>
<li>Gopher: Don't apply URI path normalization to selectors.</li>
<li>Gopher: Parsing tilde-prefixed username from selector.</li>
<li>Gopher/Finger: Spurious autoreloads due to fetched document not getting a timestamp.</li>
<li>Underscore-prefix words should not break after the underscore.</li>
<li>Overflowing text with "View as Plain Text".</li>
<li>Improved hover highlight contrast with "Gray" UI accent color.</li>
<li>Drag action in sidebar is cancelled if the sidebar is dismissed.</li>
<li>Potential crash when splitting the view with multiple tabs open.</li>
<li>TUI: Keep the menubar always visible (top line also used for shortcut keys).</li>
</ul>
<p>The full release notes can be viewed inside the app by opening
the "about:version" page.</p>
</description>
<url>https://github.com/skyjake/lagrange/releases/tag/v1.21.0</url>
</release>
</releases>
<content_rating type="oars-1.1"/>
</component>