Show newer

Having an absolutely wild Saturday evening investigating Unicode combining characters. Lagrange currently utterly fails to render these. A special layout algorithm that adapts to any number of combined extra glyphs is needed.

I haven't thrown in the towel yet, but falling back to using an existing library is always an option...

Working on improvements to the Lagrange text input widget. Word wrapping and multiple lines make a world of difference for writing a bit of text.

I've updated the Gempub support in Lagrange's dev branch. The new split modes are also pretty handy here... @nytpu @oppen

As a stepping stone toward multiple windows, Lagrange v1.4 will have split-screen modes.

You essentially get two copies of the full UI side by side. Very useful for large displays, viewing something on the side, or just browsing two pages simultaneously.

This required substantial changes in the UI internals, but it'll make multiple windows a lot easier to do in the future.

Rendering Text (gemlog post)

Taking a closer look at exactly how I render text in Lagrange, from TrueType files to view buffering.


The Lagrange beta on TestFlight has been updated to v1.4, with a couple of useful new features: pinch-to-zoom and text selection.

Using long press for selection means that the page context menu needed a new location. I’ve moved it up into the URL bar, replacing the reload button.

First ten days of TestFlight (gemlog post)

Development has been pretty active but I'm still undecided about the phone UI. Writing a universal app remains a challenge. This has been a nice way to test 1.3 features for the desktop, though.

Trying out LibreTranslate in . It’s still a bit hit-and-miss, and I’m not sure how well the self-hosted instance will hold up, but it does work. Coming up in v1.3!

The first beta build of for iOS is now on TestFlight.

Join now and not only will you get a preview of v1.3, but you'll also get to enjoy a variety of exciting bugs. Will it crash and burn?

A little v1.3 preview.

I'm a big fan of icons in menus. It's so much faster to recognize items by the icon than to actually read the label text.

I added these for the mobile version but they are useful and nice on the desktop, too.

iOS port progressing... "Colorful Light" is a bit too much on a large monitor, but on a phone it seems quite delightful.

Having a great deal of fun porting Lagrange to iOS. πŸ“²

SDL & custom UI makes this pretty painless, but of course there is no support for things like OS accessibility features or media playback.

Even without those this is already quite usable, especially on the iPad. Plenty of work left to refine the UI for a phone, though.

I expect most of this is directly applicable to Android as well, as long as I figure out how to compile all the dependencies.

Getting closer to a final design.

It's impossible to replicate native behavior exactly while working behind SDL APIs, but I'm pretty happy with how it's working now.

Still need to add a toggle in Preferences to disable the custom frame.

Show thread

On Windows, the default title bar of an SDL app has always bothered me with its ugliness, so I decided to experiment with a custom one.

Here is a very early preview of what it might look like.

I like these too much to stop now, but my goodness there is a lot of behavior that one has to handle manually without a standard title bar. πŸ˜…

I would love to see Lagrange running on all kinds of devices. Using C and SDL makes this achievable β€” exhibit A: the app on 2017 iPad Pro.

The more mobile things get, the more one needs to adapt the UI and behavior. You get a lot of stuff for free with native UI components, but with custom UI and SDL there's none of that.

Just getting the code to run is the easy part, and I'm happy to report that it runs smoothly.

Some M1 goodness. 🍎

I'll probably make a separate arm64 build for Big Sur and later, in addition to the current Intel 10.13 build.

v1.0 is here.

What's new?
- Remote bookmarks: use links on any Gemini page as additional bookmarks.
- Exporting/importing bookmarks.
- Opening sidebar items in a new/background tab.
- Links with an unrecognized scheme open in the default browser.

Feeling lucky about v0.13. πŸ€

What's new?
- IDN: Unicode in domain names.
- Unicode characters shown in URLs.
- Quick search for feed entries.
- UI and text rendering improvements.

Gemlog post:

v0.12 is as cool as a snowy December morning.

What's new?
- Subscribe to headings (e.g., Weiph/pikkulogs).
- New sidebar on the right; dual wield on large screens.
- MIME hooks: preprocess Gemini responses on client-side.
- Prominent TLS certificate warning.
- Bug fixes and smaller enhancements.

Show older

skyjake's choices:

skyjake's personal Mastodon instance