Hooked up alert(), confirm() & prompt() to AdwMessageDialog 
(and it totally works on very small window sizes)
| Main account | https://floss.social/@bugaevc |
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.
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.
An update on the Ladybird GTK 4 project 😄
We now have an icon
made by @AtkinsSJ
And we now ship a proper .desktop file and everything else required for Ladybird to be recognized as a legitimate application by your DE. You can use Ladybird in the system's "Open With" dialog, and you can even set it up as the default system web browser :)
And even if you don't want to switch from your other browser just yet, you can already set Ladybird as the default app for Markdown and Gemini 
And there's one more thing ™️ 
I made an experimental backport of Ladybird GTK 4 to build and work with older versions of GTK, libadwaita, and Blueprint. This comes at a cost of some visual niceties: if you look closer, you'll notice the additional separator line between the header and tab bars, and other small differences. But other than that, this is Ladybird GTK 4, for real, fully working, and massively easier to build.