lagrange

A Beautiful Gemini Client

BSD-2-CLAUSE License

Stars
1.2K
Committers
64

Bot releases are visible (Hide)

lagrange - v1.3.0

Published by skyjake over 3 years ago

Localization

  • Added the first set of UI translations: Chinese (Simplified, Traditional), Finnish, Russian, and Spanish. Many thanks to the translators!
  • Added page content translation using a LibreTranslate instance running on xlt.skyjake.fi. This is somewhat experimental and may occasionally mess up Gemtext markup. Expect long pages to be quite slow to translate (more than a minute).

Resources

  • Added Noto Sans CJK (Simplified Chinese) font.
  • Added Noto Sans Arabic font. Note that right-to-left/bidirectional text rendering is not implemented yet.
  • Added "about:about" that lists all the available "about:" pages.

Browsing

  • Alt text is shown when hovering over a preformatted block.
  • Clicking on a preformatted block collapses it, leaving only the alt text.
  • Added option to collapse all preformatted blocks on page load.
  • A server certificate can also be verified by Certificate Authorities. When "CA file" and/or "CA path" are set in Preferences, CA verification will mark a certificate as trusted.
  • Relaxed TOFU certificate checking when it comes to domain names: domain.tld in a certificate is implicitly considered to also mean *.domain.tld.
  • Fixed handling of IDNs when the user sets a server certificate as trusted via the UI.
  • Fixed handling of unknown URI schemes. Previously they were forcefully converted to absolute URIs, breaking them.

Page content and rendering

  • Color adjustments to the "Colorful Dark", "Colorful Light", and "Gray" themes. "Gray" looks different in dark and light UI modes.
  • Spacing of bullet lists vs. link lists is more consistent.
  • Links are shown in bold, and tinted with the page theme color for more coherent appearance.
  • Custom link icons: Gemini links whose destination is on the same domain use as icon the Emoji or other pictograph at the start of the link label. (For example, see Astrobotany menus.)
  • Added option to wrap lines in plain text files. This is on by default because there is no horizontal scrolling for plain text.
  • Large images are downscaled to an appropriate size for presentation.
  • Improved font glyph caching to reduce stuttering during scrolling. All required glyphs are cached after a page load finishes. This allows more efficient copying of glyphs as the operations can be batched.
  • Larger content buffers for scrolling, reducing need to redraw content.
  • Gopher: Handling the 'h' line type.
  • Fixed minor issues with word wrapping.
  • Fixed minor blending artifacts with the current heading shown on the right side of the page.

User interface

  • Improved event handling to support touch screens on any platform (if supported by SDL).
  • UI scaling factor is applied immediately when closing Preferences. Restarting is no longer necessary.
  • Window rescaled automatically when moving it to a display with a different DPI.
  • Added unread feed entry count to the sidebar.
  • Added a context menu for toggling sidebars. The menu appears when right-clicking on the navbar or on the sidebar tab buttons.
  • Double/triple click selection modes. Double click and drag will select by word, triple click by paragraph.
  • Popup menus have icons for items to make it faster to find the item you're looking for.
  • Soft shadows for popup menus.
  • Scrollbars fade away on macOS/iOS and dim on other platforms.
  • Reload button moved into the URL field.
  • Narrow URL input fields will not display the default "gemini" scheme.
  • Domain name is highlighted in URL fields.
  • Added a cut/copy/paste context menu to input fields.
  • Added an "Import..." button to the empty Identities sidebar.
  • Preferences dialog was partially reorganized for clarity.
  • Tabs in Preferences look the same as tabs in the sidebar.
  • Cleaner appearance for unread feed items in the sidebar.
  • Dialog buttons show the corresponding shortcut key.
  • Fixed background activity indicators overlapping each other.
  • Fixed glitches when widgets extend beyond the left edge of the window.
  • Fixed use of plurals in UI strings, enabling support for three or more plural forms.

Keybindings

  • Default page scroll keybindings changed: PageUp/Down scroll a whole page, and Space/Shift+Space scrolls half a page. If you're changed these bindings, note that they will be reset to defaults.
  • Added keybinding for subscribing to a page.
  • Keyboard modifiers can be remapped using the modmap.txt configuration file.
  • Caps Lock can be used as a modifier key.
  • Internet hot keys (if present on a keyboard) can be used to navigate back/forward and reload the page.

Command line use

  • Added conventional --help, --version options.
  • A previously started instance can be controlled with command line options.
  • --list-tab-urls prints a list of the currently open URLs in the running instance.

Bug fixes

  • Only one instance of Lagrange is allowed to run per user directory. This prevents instances from overwriting each other's data.
  • Fixed use of multiple search terms for quick lookup.
  • Fixed handling of multiple feeds having an entry with the same URL.
  • Fixed percent-decoding of URLs on the command line and coming in via system URL handlers.

NOTE: When compiling from source, get the lagrange-1.3.0.tar.gz tarball because it contains all the required source files. The "Source Code (ZIP/TAR.GZ)" items below are generated by Gitea and contain only this repository (the_Foundation is required as well).

The Intel Mac binaries require macOS 10.13 or later, and the Apple Silicon binaries require macOS 11.0 or later.

The Linux AppImage has been built on Ubuntu 18.04.

The Windows binaries require 64-bit Windows 7 or later. The portable ZIP archive can be extracted and run as-is — user files will be stored under the "userdata" subdirectory.

lagrange - v1.2.3

Published by skyjake over 3 years ago

  • Fixed XML parser hanging on numeric character entities.
  • Fixed "Monospace Body" option causing Gemtext line markup to be visible.
  • Fixed bookmarking a wrapped link. Now the entire label text gets used instead of just the clicked segment.
  • Fixed handling of non-advancing monospace glyphs.
  • CMake: Automatically check if lib/the_Foundation is up-to-date.
  • CMake: Build configuration fails if an SSL library is not found.
  • Reverted default bookmarks having "Getting Started" as a remote bookmark source. Now it's just a regular bookmark.

NOTE: When compiling from source, get the lagrange-1.2.3.tar.gz tarball because it contains all the required source files. The "Source Code (ZIP/TAR.GZ)" items below are generated by Gitea and contain only this repository (the_Foundation is required as well).

The Intel Mac binaries require macOS 10.13 or later, and the Apple Silicon binaries require macOS 11.0 or later.

The Linux AppImage has been built on Ubuntu 18.04.

The Windows binaries require 64-bit Windows 7 or later. The portable ZIP archive can be extracted and run as-is — user files will be stored under the "userdata" subdirectory.

lagrange - v1.2.2

Published by skyjake over 3 years ago

  • Stability improvements.
  • Whitespace is no longer normalized when using the monospace body setting.
  • Fixed issues with percent-encoded Gopher paths.
  • macOS: Try to prevent forced use of high-performance GPU.

NOTE: When compiling from source, get the lagrange-1.2.2.tar.gz tarball because it contains all the required source files. The "Source Code (ZIP/TAR.GZ)" items below are generated by Gitea and contain only this repository (the_Foundation is required as well).

The Intel Mac binaries require macOS 10.13 or later, and the Apple Silicon binaries require macOS 11.0 or later.

The Linux AppImage has been built on Ubuntu 18.04.

The Windows binaries require 64-bit Windows 7 or later. The portable ZIP archive can be extracted and run as-is — user files will be stored under the "userdata" subdirectory.

lagrange - v1.2.1

Published by skyjake over 3 years ago

  • Fixed crash when creating a bookmark.

NOTE: When compiling from source, get the lagrange-1.2.1.tar.gz tarball because it contains all the required source files. The "Source Code (ZIP/TAR.GZ)" items below are generated by Gitea and contain only this repository (the_Foundation is required as well).

The Intel Mac binaries require macOS 10.13 or later, and the Apple Silicon binaries require macOS 11.0 or later.

The Linux AppImage has been built on Ubuntu 18.04.

The Windows binaries require 64-bit Windows 7 or later. The portable ZIP archive can be extracted and run as-is — user files will be stored under the "userdata" subdirectory.

lagrange - v1.2.0

Published by skyjake over 3 years ago

New features

  • Atom feed subscriptions: Atom XML documents are automatically converted to Gemini feed index pages. This is a built-in version of the Atom-to-Gemini example on the Help page.
  • Inline downloads: right-click on any link that is openable inside Lagrange and select "Download Linked File".
  • Editable bookmark icons: use your favorite Unicode character as the symbol to represent a bookmarked site.
  • Searching via URL field: non-URL text entered in the field is passed onto the configured search query URL (Preferences > Network). An indicator is shown if a query will take place.
  • Tab auto-reloading: configure a reloading interval using the page context menu ("Set Auto-Reload..."). Auto-reloading is part of the persistent state of the tab.
  • "Iosevka" and "Source Sans Pro" (the UI font) can be used as heading and body fonts.
  • User preference for aligning all pages to the top of the window.
  • Keybinding (F11) for toggling fullscreen mode. On macOS, the shortcut is ⌃⌘F as before.
  • Keybinding for finding text on page.

UI design

  • Enhanced navbar: adjusted spacing, URL field has a maximum width, tab titles have less pronounced borders.
  • Improved sidebar appearance: bold subheadings, larger feed icons, adjusted spacing, background color.
  • Font consistency: all UI elements use the same font (i.e., no more monospace input fields).
  • Added setting for UI accent color (teal, orange).
  • General fine-tuning of the color palette.
  • Dialog buttons are aligned to the right edge, leaving room for additional action buttons on the left.
  • Page Information button is embedded in the URL field.
  • Page Information dialog is attached to its button.
  • Site icons use a different color in tab titles for visual distinction.
  • Fade background behind modal dialogs.
  • Responsive page margins.
  • Windows: Added a custom window frame to replace the default Windows one. This looks nicer but does not behave exactly like a native window frame. Added a setting to Preferences for switching back to the default frame.

Other changes

  • Help is opened on first run instead of the "About Lagrange" page to make it easier to discover important Gemini links like the FAQ.
  • "Go to Root" respects a user name found in the URL. One can still "Go to Parent" to get above the user level.
  • Feed entries are sorted by refresh time if they are published on the same date.
  • Don't show future-dated feed entries in Feeds.
  • Middle-clicking on links: open new tab in background or foreground depending on the Shift key.
  • Shift+Insert can be used for pasting clipboard contents into input fields.
  • Removed a strange violet-on-green color theme pairing.

Bug fixes

  • Fixed text prompt dialogs closing and accepting the entered text when switching focus away from the app.
  • Scroll position remains fixed while horizontally resizing the window or sidebars.
  • Fixed a crash when opening the audio player menu.
  • Fixed Gopher requests that were using URL (percent) encoded characters.
  • Windows: Fixed a flash of white when the window is first opened.

NOTE: When compiling from source, get the lagrange-1.2.0.tar.gz tarball because it contains all the required source files. The "Source Code (ZIP/TAR.GZ)" items below are generated by Gitea and contain only this repository (the_Foundation is required as well).

The Intel Mac binaries require macOS 10.13 or later, and the Apple Silicon binaries require macOS 11.0 or later.

The Linux AppImage has been built on Ubuntu 18.04.

The Windows binaries require 64-bit Windows 7 or later. The portable ZIP archive can be extracted and run as-is — user files will be stored under the "userdata" subdirectory.

lagrange - v1.1.4

Published by skyjake over 3 years ago

  • Fixed feed entry highlight/read status issue in the sidebar.
  • Fixed Gopher menu links that contain spaces.
  • Fixed vertical alignment of short pages: top banner is excluded because it is not part of the content.

NOTE: When compiling from source, get the lagrange-1.1.4.tar.gz tarball because it contains all the required source files. The "Source Code (zip/tar.gz)" items below are generated by GitHub and contain only this repository (the_Foundation is required as well).

The Intel Mac binaries require macOS 10.13 or later, and the Apple Silicon binaries require macOS 11.0 or later.

The Linux AppImage has been built on Ubuntu 18.04.

The Windows binaries require 64-bit Windows 7 or later. The portable ZIP archive can be extracted and run as-is — user files will be stored under the "userdata" subdirectory.

lagrange - v1.1.3

Published by skyjake over 3 years ago

  • Fixed crash when deleting a bookmark that was being used as a remote bookmark source.
  • Fixed potential crash at shutdown.
  • Fixed URL path decoding not respecting reserved characters.
  • AppImage: Disable SSE 4.1 for improved compatibility.
  • Windows: Fixed portable build so it stores user files under the "userdata" directory and not under AppData\Roaming.

NOTE: When compiling from source, get the lagrange-1.1.3.tar.gz tarball because it contains all the required source files. The "Source Code (zip/tar.gz)" items below are generated by GitHub and contain only this repository (the_Foundation is required as well).

The Intel Mac binaries require macOS 10.13 or later, and the Apple Silicon binaries require macOS 11.0 or later.

The Linux AppImage has been built on Ubuntu 18.04.

The Windows binaries require 64-bit Windows 7 or later. The portable ZIP archive can be extracted and run as-is — user files will be stored under the "userdata" subdirectory.

lagrange - v1.1.2

Published by skyjake over 3 years ago

  • Fixed potential crash at launch.
  • Fixed input query from a background tab being applied to the foreground tab. An input query now forces a tab to the foreground.
  • Fixed window scroll position moving when resizing vertically.
  • Fixed feed refresh waiting forever if a server doesn't respond.
  • Fixed hover state not being cleared when right-clicking links.
  • Fixed remote bookmarks not appearing if they lacked a user-friendly name on the source page.

NOTE: When compiling from source, get the lagrange-1.1.2.tar.gz tarball because it contains all the required source files. The "Source Code (zip/tar.gz)" items below are generated by GitHub and contain only this repository (the_Foundation is required as well).

The Intel Mac binaries require macOS 10.13 or later, and the Apple Silicon binaries require macOS 11.0 or later.

The Linux AppImage has been built on Ubuntu 18.04.

The Windows binaries require 64-bit Windows 7 or later.

lagrange - v1.1.1

Published by skyjake over 3 years ago

  • Fixed focus cycling inside dialogs. Widgets outside a dialog are not allowed to be focused.
  • Fixed missing cursor in the New Identity "Valid until" field.
  • Fixed "Import Links as Bookmarks" so it can be used to import local copies of remote bookmarks when viewing the remote source page.
  • Fixed a cosmetic issue in the Import Identity dialog where part of the widget frames were not drawn.
  • Fixed word wrapping issue in unread feed entry titles.
  • Fixed opening a URI that contains a fragment in the default browser. The fragment is no longer omitted.
  • Fixed default value for the Line Width setting.
  • Linux: Check monitor DPI for UI scaling like on Windows and macOS.
  • Allow reloading the same URL when clicking on a link or bookmark, or pressing Enter in the navbar.
  • Bookmark URLs are normalized by removing the default Gemini port.
  • Added a list of environment variables to "about:debug".
  • XDG: Respect XDG_CONFIG_HOME environment variable for storing user files.
  • XDG: Use the configured XDG download directory as default Downloads location.
  • The default set of bookmarks now uses a remote source.

NOTE: When compiling from source, get the lagrange-1.1.1.tar.gz tarball because it contains all the required source files. The "Source Code (zip/tar.gz)" items below are generated by GitHub and contain only this repository (the_Foundation is required as well).

The Intel Mac binaries require macOS 10.13 or later, and the Apple Silicon binaries require macOS 11.1 or later.

The Windows binaries require 64-bit Windows 7 or later.

lagrange - v1.1.0

Published by skyjake over 3 years ago

  • Added identity importing: existing client certificates in PEM format can be imported from the current page, from clipboard, or from drag-and-dropped files.
  • Added setting for maximum cache size. This is the amount of fetched data kept in memory for page navigation and content lookup. The default is 10 MB.
  • Added option to show full link URL when hovering on it.
  • Added support for Finger links (courtesy of John Cowan).
  • Added keybindings for page reload, opening link in new tab via home row keys, and hovering on a link via home row keys.
  • Added keybinding for switching to next set of links for home row navigation.
  • Added keybindings for new tab, close tab, adding a bookmark.
  • Added a bold UI font. It is used for unread feed entries and default dialog buttons.
  • Better alignment of quick lookup result icons and labels.
  • Remote bookmarks are grouped under their source in the bookmark list.
  • A bookmark's icon is updated after loading the page so it matches the site.
  • Trusting a new server certificate manually will update the current page without reloading.
  • Middle-clicking on a tab title closes the tab.
  • Internal state files now use an ".lgr" extension. If downgrading after running v1.1, note that the old version will not read these.
  • Fixed timestamps of visited URLs. Your browsing history will be cleared but can still be viewed manually in "visited.txt".
  • Fixed issue where "heading" feed entries would turn unread after a while.
  • Fixed duplicate U key for home row navigation.
  • Fixed an issue with Unicode characters in quick lookup search terms.

NOTE: When compiling from source, get the lagrange-1.1.0.tar.gz tarball because it contains all the required source files. The "Source Code (zip/tar.gz)" items below are generated by GitHub and contain only this repository (the_Foundation is required as well).

The Intel Mac binaries require macOS 10.13 or later, and the Apple Silicon binaries require macOS 11.0 or later.

The Windows binaries require 64-bit Windows 7 or later.

lagrange - v1.0.3

Published by skyjake almost 4 years ago

  • Improved font glyph caching: only rasterize glyphs when drawing text, and retry after failure. This makes initial document layout faster and avoids issues with permanently lost glyphs.
  • Fixed parts of text disappearing when the glyph cache fills up. The cache also uses less memory now.
  • Fixed percent-encoding of spaces when copying URLs to clipboard.
  • Fixed feed entry context menu showing the wrong menu item for Mark as Read/Unread.
  • Fixed parentheses and brackets being trimmed from feed entry titles.
  • Fixed quotes appearing continuous even when there are empty lines in between.
  • Fixed quote border line not showing up on empty quote lines.
  • Fixed handling of redirection in a background tab — redirected URL would open in the current tab.
  • Fixed Gemini URL normalization with regard to default port.
  • Fixed a very minor memory leak.
  • Fixed missing "gopher:" URL scheme registration on macOS.

NOTE: When compiling from source, get the lagrange-1.0.3.tar.gz tarball because it contains all the required source files. The "Source Code (zip/tar.gz)" items below are generated by GitHub and contain only this repository (the_Foundation is required as well).

The Intel Mac binaries require macOS 10.13 or later, and the Apple Silicon binaries require macOS 11.0 or later.

The Windows binaries require 64-bit Windows 7 or later.

lagrange - v1.0.2

Published by skyjake almost 4 years ago

  • Fixed URL input field showing the wrong URL when opening tabs in the background.
  • Fixed trusting a renewed server certificate when multiple tabs are open.
  • Fixed opening sidebar feed entries in new/background tab with modifier keys.
  • Fixed editing identity notes. The entered new notes were not being applied.
  • Server certificate domain name check accepts a matching CN even when SAN doesn't match.

NOTE: When compiling from source, get the lagrange-1.0.2.tar.gz tarball because it contains all the required source files. The "Source Code (zip/tar.gz)" items below are generated by GitHub and contain only this repository (the_Foundation is required as well).

The Mac binaries require macOS 10.13 or later.

The Windows binaries require 64-bit Windows 7 or later.

lagrange - v1.0.1

Published by skyjake almost 4 years ago

  • Fixed percent-encoding of the query string.
  • Fixed cursor positioning in input fields.

NOTE: When compiling from source, get the lagrange-1.0.1.tar.gz tarball because it contains all the required source files. The "Source Code (zip/tar.gz)" items below are generated by GitHub and contain only this repository (the_Foundation is required as well).

The Mac binaries require macOS 10.13 or later.

The Windows binaries require 64-bit Windows 7 or later.

lagrange - v1.0.0

Published by skyjake almost 4 years ago

  • Added remote bookmarks. Any bookmarked 'text/gemini' page with the "remotesource" tag is a source of remote bookmarks. Each link on the page is shown as a remote bookmark in Bookmarks.
  • Added a way to export bookmarks via the special page "about:bookmarks". The page can also list all bookmarks by tag or by creation date.
  • Added context menu item for duplicating a bookmark.
  • Import all links on a page as bookmarks. (Importing tags is not supported in this version.)
  • Links can be bookmarked via context menu.
  • Open links with an unrecognized scheme in the default browser.
  • Open sidebar items in new/background tab via context menu or modifier keys.
  • "Edit Feed..." menu item shows the Feed Settings dialog.
  • Removed unimplemented menu items.

NOTE: When compiling from source, get the lagrange-1.0.0.tar.gz tarball because it contains all the required source files. The "Source Code (zip/tar.gz)" items below are generated by GitHub and contain only this repository (the_Foundation is required as well).

The Mac binaries require macOS 10.13 or later.

The Windows binaries require 64-bit Windows 7 or later.

lagrange - v0.10.0

Published by skyjake almost 4 years ago

  • Added option to load inline images when pressing Space or ↓ for a more focused reading experience — just keep tapping a single key to proceed. If an image link is visible, it will be loaded instead of scrolling. This option is disabled by default.
  • Added context menu item to save inline images to Downloads.
  • Added an option to use a proxy server for Gemini requests.
  • Added a new keyboard link navigation mode focusing on the home row keys. The default keybinding for this is F.
  • Added a keybinding to activate keyboard link modifier mode. The keyboard link keys are active while the modifier is held down. The default is Alt or ⌥.
  • Clearing and resetting keybindings via a context menu.
  • Added a Window tab in the Preferences dialog; moved some of the settings around for better organization.
  • Improved page search visualization: if the match is inside a link URL, the link icon is now highlighted. Previously these matches were not visualized in any way.
  • Improvements to URI parsing with regard to RFC 3986. Cases that are handled better are double slashes, query-only relative URIs, relative URIs that begin with a tilde, IPv6 literals, username in the authority.
  • Replaced EB Garamond with Tinos for improved readability.
  • Replaced Kosugi Maru with Noto Sans CJK JP for better glyph coverage.
  • Fixed font sizing of level 3 headings.
  • Fixed download progress indicators sometimes remaining visible even after leaving the page.

Prebuilt binaries for Windows and macOS

lagrange - v0.9.0

Published by skyjake almost 4 years ago

  • Clicking on the top banner of a page (where the site icon and hostname are shown) navigates to the root directory of the site.
  • Added menu items and keybindings for navigating to site root or the parent directory.
  • Added option to use a monospace body text font on all Gemini and/or Gopher pages.
  • Remember redirect source URLs as visited but not shown in the History tab. Note: "visited.txt" is no longer fully compatible if opened in an older version of Lagrange.
  • gopher: scheme is allowed in command line arguments.
  • XDG: .desktop file declares support for opening Gopher URLs.
  • Fixed an issue where copying the URL input field would not place anything on the clipboard.
  • Fixed the Lagrange window visibly changing position during launch.
  • Fixed crash when a single percent sign was typed in an input field.
  • macOS: Fixed native menu keyboard shortcuts causing redundant command activations.
  • macOS: Fixed assigning keybindings when there is an equivalent native menu shortcut.

Prebuilt binaries for Windows and macOS

lagrange - v0.8.1

Published by skyjake almost 4 years ago

  • Fixed potential lockup when navigating back to a query prompt.
  • macOS: Improved handling of scroll wheel events from a mouse.

Prebuilt binaries for Windows and macOS