qutebrowser, adieu

Another work in progress

Friends, Romans, countrymen, lend me your ears; I come to bury qutebrowser, not to praise it! The evil that browsers do lives after them; the good is oft interred with their code; so let it be with qutebrowser. The noble Cloudflare hath told you qutebrowser was suspicious: if it were so, it was a grevious fault, and greviously hath qutebrowser answer'd it.

Here, under leave of Cloudflare and the rest--for Cloudflare is an honorable company; so are they all, all honorable companies--come I to speak in qutebrowser's funeral. It was my friend, faithful and just to me: but Cloudflare says it was suspicious, and Cloudflare is an honorable company.

It hath brought many websites home to my computer whose pages did my attentions fill: did this in qutebrowser seem suspicious? When that I have typed, qutebrowser hath obeyed: suspicion should be made of sterner stuff: yet Cloudflare says it was suspicious; and Cloudflare is an honorable company.

You all did see that in my config file I thrice presented it my $PASSWORD_STORE_DIR, which it did thrice refuse: merit this suspicion? Yet Cloudflare says it was suspicious; and, sure, it is an honorable company. I speak not to disprove what Cloudflare spoke, but here I am to speak what I do know.

You all did love it once, not without cause: what cause witholds you then, to mourn for it? O judgment! thou art fled to brutish beasts, and webhosts have lost their reason. Bear with me; my heart is in the coffin there with qutebrowser, and I must pause till it come back to me.

...

(With apologies to Marc Antony, Shakespeare, and everyone reading this.)

I've been using qutebrowser for a little over five years, if my dotfiles git history is to be believed. I love it dearly; I've supported the project on GitHub for three of those years (if GitHub's sponsorship management page is to be believed), and at this point I might've paid more money in support of qutebrowser than I've paid for any other single piece of software, except *maybe* the copy of FLStudio I bought in high school and barely use, *if* you adjust for inflation.

TheCompiler et al.: "qutebrowser"

I love the keyboard-driven workflow, I love the simplicity of the single-file config, I love extending my web browser by writing little shell scripts, I love the thrill of using a itty-bitty home-grown browser cobbled together out of Python code and a mildly functional pared-back copy of Chromium. But alas! alas! I fear the time has come in the world that qutebrowser can no longer love me back, try as it might.

For you see, one day I began to see this:

Akamai: Access DeniedAkamai: Access Denied

And some time later I began to see this:

Cloudflare: Verification FailedCloudflare: Verification Failed

And I began to see these things more and more often. And lo, was there nothing I could do about it but begin to open Firefox more and more:

qutebrowser: "Akamai blocking qutebrowser"

I love using open source software just for the sake of it, and the smaller the project the better. But I have my limits, and one day you look back at your browsing habits and realize your web browser is beginning to permit you to browse the web less and less. And that's not to mention the potential security issues in this Year of our Lord 2026 when running a Chromium, at time of writing, 16 major versions behind the latest stable. Did you see the eMudhra Intermediate CA Compromise? Guess whose fun little web browser is still trusting emSign Root TLS CA - G3.

Dennis Jackson: "eMudhra Intermediate CA Compromise"

(There are also all the little papercuts that come with most every FOSS app, but those were much easier to overlook when I could still load web pages reliably.)

To be clear I don't mean any of this as a dig at TheCompiler, the QtWebEngine folks, or anyone else involved in making lovely little programs for everyone to use freely. My $3 a month does not entitle me to much, if anything at all! But LLMs have made many things worse on the internet, and this is surely one of them.

➡🔥🦊

So I'm sending me off. Oh, my future is dreary. I'll click with my mouse and get woefully weary, in search of some keybinds that aren't so--

--what's that? Tridactyl supports shell scripting using its native messenger, which is a thing that exists?

Tridactyl

I've been a Vimium user in every (non-qutebrowser) Chromium-based browser I've used for as long as I can remember, so probably since some time after I learned Vim in ~2014. I feel like I probably looked at Tridactyl at some point in the distant past while contemplating switching to Firefox--I honestly have no idea--and concluded it seemed a little too all-in compared to Vimium. Well, turns out that when you spend half a decade on qutebrowser, Tridactyl is too conservative if anything!

But it still puts on a pretty good show, especially when combined with heavy user styling:

qutebrowser on my homepage.qutebrowser on my homepage.
qutebrowser with the command line open.qutebrowser with the command line open.
Firefox on my homepage.Firefox on my homepage.
Firefox with the Tridactyl command line open.Firefox with the Tridactyl command line open.

Pretty neat, huh? (No I have no idea how to get rid of the grey borders, they don't show up anywhere in the browser chrome debugger, if you know how please tell me I'm desperate.) (And also where the awful gradient is coming from, I can't get rid of that either.) (But really I am pretty happy with it.)

Dook97: "A minimalist userChrome.css"devnullvoid: "Catppuccin for Tridactyl"

I got things started the other week by first accepting my fate and then tossing my config.py at Claude and asking him to do his worst. There was some moderate cleanup required, and I'm sure in the long term I'll end up replacing a good bit of it as I actually learn Tridactyl and tweak it more responsibly, but it was nice to not have to spend the couple hours right at the outset. I did do all of the style tweaks by hand, since I wanted that to be Just Right.

(Oh, and did you know you can actually disable core Firefox hotkeys like 'C-w' and 'C-l'? 'about:keyboard', it's awesome, I'm sure I'd be closing an insufferable number of tabs accidentally otherwise.)

There's still much more to do--I don't have any bookmarks and I'd love to get my history ported in, for starters--but I just ritually updated my default browser (and wrote a whole blog post), so I guess it's at least kind of serious.

I hope I'll see you again one day, my love!

The kanji of the day is 凶

I had thought this might be one of the kanji that was simplified by replacing a more complex form with 㐅, like 気 was. (Apparently it used to be written 氣, which I kind of like.) But, no, it's always been this way.

Wiktionary: "凶"

Conning concludes his description of the kanji (the mnemonic: "imagine falling in a hole. what misfortune") with this fine little note:

Later, we'll associate "㐅" with *violent death.*

...okay! yay!

Discuss this post on Bluesky