My progress at porting Ladybird, the SerenityOS Browser

Yeah stack and tile is nice but not quite enough for heavy use like in a Browser (I know people with 100+ tabs and many groups of tabs open).

So Tab grouping/stacking (as in each top level tab would actually be a list of tabs clicking it returns to the last open tab in that group + opens a selection drop down that goes away when focus is lost). Something like that.

Tab searching, click on a tab and type to match to the header… type enter to select the current autocompleted tab etc… or arrow keys clicking to narrow down.

Also, what Web+ does when the network doesn’t resolve might need improvement, currently it just kind of does nothing which isn’t ideal UI wise… firefox/chrome for instance after a bit notify the user that thereis a network issue. Anyway that’s just my throughts after using it a bit the other day I haven’t been on haiku daily in awhile.

Then window tabs should be improved instead reinventing the wheel in each application.

I suspect that some tools for searching by window title name already exist in Haiku. If no, easy to implement.

3 Likes

Yes that was exactly what I meant… as S&T improvements.

Haiku S&T has so much potential for improvements. I prefer the Haiku-native way very much instead of other OS’ ways.

3 Likes

I have this exact same workflow. It’s very much like the two level tab stacks of the vivaldi browser. Agree that if you could move tabs within a window and between windows it would be perfect.

I’m not saying that Web+ shouldn’t be forward thinking in its innovation as far as UI/UX goes. However, Web+ should have taken a lot of its UI/UX cues from Net+. Like the main toolbar being to the right of the URL/search field.

And you don’t want my fingers in the Web+ codebase. I’m terrible at C/C++.

Or allow moving it around… I’ve moved my toolbar stuff from the left to the right hand side since forever on Firefox.

4 Likes

I have very good news on upstreaming Haiku support to SerenityOS:
My pull request that enables building Ladybird on Haiku has been merged just a few minutes ago.
That means you can now clone the Serenity repo, build it and it will just work without any other patches required.

19 Likes

Any chance to get building Serenity OS itself on Haiku?

I haven’t experimented with that yet, but it may be possible.
Won’t be much fun for me, however, as I can build with only one core due to that old bug that crashes pre-Ryzen AMD CPUs if you put too much stress on them :confused:

Dear @nipos ,
Thanks for efforts and info about Ladybird Haiku support phase.
I am surely going to install as an upgrade … once it will be available for 32bit Haiku in the Haikuports repo.

Which bug is that?

https://dev.haiku-os.org/ticket/14082 and #15817 (System restarts instantly trying heavy terminal compilation) – Haiku (which both seem to be about the same thing)

Hi! i get this error at 1/2321 i followed your steps to compile from the first post

In file included from /boot/home/serenity/AK/IDAllocator.h:11,
                 from /boot/home/serenity/Userland/Libraries/LibCore/EventLoopImplementationUnix.cpp:7:
/boot/home/serenity/AK/Random.h: In function 'void AK::fill_with_random(Bytes)':
/boot/home/serenity/AK/Random.h:25:5: error: 'arc4random_buf' was not declared in this scope
   25 |     arc4random_buf(bytes.data(), bytes.size())

Thanks. Even with a recent nightly?

arc4random_buf() was added to the nightlies recently, but it is not present on beta4.

So it seems you need to use Haiku >= hrev57247 for this to work.

3 Likes

Yes, the reason for that is still more or less unknown so I don’t expect this to get fixed that soon.

That worked, thanks, compiled without any issue using the hrev57268

2 Likes

@3dEyes Is your native browser based on Ladybird already available somewhere?
Would be very interested in trying it out.
Can’t find anything on your Github account.

Not yet. I’m currently busy implementing a message looper. I’ll post it on github as soon as I get it more stable.

11 Likes