Sergey Bugaev

115 Followers
8 Following
103 Posts
And some immediate updates: the affirmative button is now using "suggested appearance" (blue), and is on the right side of the dialog (per the GNOME HIG) 🙂️

Hooked up alert(), confirm() & prompt() to AdwMessageDialog 

(and it totally works on very small window sizes)

The interactive JS console!

Thanks to Tim's awesome work, we can reuse most of the ConsoleClient logic. The downside is that the console output is displayed in a WebView (which means spawning another WebContent process, relatively slow resizes, ...), not as a native GTK widget. We'll see if this is something that could be improved upon in the future.

Successfully mounted a virtual USB stick on SerenityOS!
Translating is actually quite easy (if time consuming), you don't even have to know C++ or GTK. So if you'd like to work on translating Ladybird into your language, you're very welcome to!

And there's one more thing 

Unlike SerenityOS proper, we want Ladybird GTK 4 to be localized into languages other than US English. So we hooked up gettext and got to work 😄

I went and wrote a translation into Russian to set an example, @tarob0ba contributed an Esperanto translation, @xexxa is working on a Swedish translation, and someone even mentioned a Dutch one!

Moreover, as you might have noticed, the entry now displays icons at both ends!

The one at the end will be hooked up to bookmarks, but they're not implemented yet.

The one at the start though is fully functional: it displays a lock icon for https and gemini, an unlocked/warning icon for plaintext http, a folder icon for file:// URLs, and a few more. It's pretty neat!

(The icons, of course, are getting recolored to match the dark/light theme. GTK does that yeah 🙂)

But that's not at all! We've done some work on the location entry (aka the most prominent design element of the whole Ladybird experience 😄) It now highlights the base domain in the URL, so you can see the important part at a glance.

This is using the "eTLD + 1" scheme (as @cxbyte calls it): it looks for the public suffix and highlights the suffix and one domain level before it. For example on these screenshots, it knows that github.io is a public suffix, but serenityos.org is not.

Next, we now have a compact layout, for small window widths (super nice for mobile devices!)

In the compact layout, most of the controls move from the header bar to a new action bar at the bottom, and the tab bar hides (use the tab overview instead).

This is not a separate "mobile" build of Ladybird, it's the very same build! The layout adapts dynamically based on window size. This is of course using the new AdwBreakpoint API of libadwaita.

(Yes, for taking that second screenshot I had to open the about window via D-Bus, not through the menu as usual. Don't ask. But it's cool that you can do that.)