Hacking on rose
The rose browser is a minimal browser for Linux machines. I’ve immensely enjoyed hacking on it this last week, so I thought I’d leave some notes.
Rose is written in C, and it’s based on Webkit and GTK. Webkit is the engine that drives Safari, and a fork of some previous open-source libraries, KHTML and KJS. GTK is a library for creating graphical interfaces. You can conveniently use the two together using WebKitGTK.
Pictured: An earlier version of this blogpost in the rose browser.
Personally, I find the simplicity of the code soothing. At the same time, though, I’ve been adding some code to it, to make the browser more usable and for the fun of it. You can see my tweaks here.
My first tweak was to add a reader mode. It, for instance, returns this beautiful page:
when fed the aesthetic abomination that is Matt Levine’s newsletter:
I lifted the code for doing this from Firefox, figured out how to integrate it with WebKit, and then improved it a bit.
My second big tweak was to add redirection functionality from annoying websites to their open source frontends, in the style of LibRedirect:
And I’ve added some code for installing this browser on Ubuntu 20.04, which is what I’m personally using. If you are a dear friend using Linux feel free to ask for help if you get stuck trying to install this.