mister_monster on Nostr: So qutebrowser is a browser first and foremost, and so any user interface that you ...
So qutebrowser is a browser first and foremost, and so any user interface that you could build has to be rendered by the browser engine which is qtwebengine, it's chromium basically. It's a keyboard oriented wrapper around that engine. To interface with scripts it uses environment variables, so whatever you do with the browser has to be explicitly built into qutebrowser, it doesn't have a do anything API, but it is pretty extensive and there's a lot you can do.
Hilighting would be simple to render in the output HTML, no js or CSS required, but selecting what to hilight would be something I don't think you can pass to your script in qutebrowser without doing something really hacky that would be prone to errors and even then you'd only be able to hilight one thing on a page at a time and would require a mouse. Annotation would require a user interface for inputting text and adding it to the HTML, something I'm pretty certain you can't do in qutebrowser.
There is a browser that makes all this stuff possible,
https://nyxt.atlas.engineer/ but it is very buggy as of right now, it doesn't look like development is going well and all userscripts/extensions/plugins need to be written in lisp. I considered moving to it and building stuff for it, but when I tried it it was insufferably slow and buggy, and then when I tried it again a year or so later it was even worse. Maybe one day.
Published at
2025-03-08 17:23:39Event JSON
{
"id": "6b3df23d189d6b7b1f58be0e685196f61456b97d6503e8609717c49084063bca",
"pubkey": "dd2057556f88a64cacd075d007f1be480f949c91fd6d0c4d593baccdb2aabde2",
"created_at": 1741454619,
"kind": 1,
"tags": [
[
"e",
"3f3b710d8f86fa86680c099a1c72e9c5ab6bccd3d5e636ec637b9dab3089af83",
"",
"root"
],
[
"e",
"a7b87ad7ddb109cd94194f82058bbd6fd85e3a32d68b6c392c6e300f1150f546"
],
[
"e",
"a3fb1bf41e8dd5b7b34a25d1e6d135d430c20ad12ea8d2911da40af67bc34e93",
"",
"reply"
],
[
"p",
"dd2057556f88a64cacd075d007f1be480f949c91fd6d0c4d593baccdb2aabde2"
],
[
"p",
"2efaa715bbb46dd5be6b7da8d7700266d11674b913b8178addb5c2e63d987331"
],
[
"r",
"https://nyxt.atlas.engineer/"
]
],
"content": "So qutebrowser is a browser first and foremost, and so any user interface that you could build has to be rendered by the browser engine which is qtwebengine, it's chromium basically. It's a keyboard oriented wrapper around that engine. To interface with scripts it uses environment variables, so whatever you do with the browser has to be explicitly built into qutebrowser, it doesn't have a do anything API, but it is pretty extensive and there's a lot you can do.\n\nHilighting would be simple to render in the output HTML, no js or CSS required, but selecting what to hilight would be something I don't think you can pass to your script in qutebrowser without doing something really hacky that would be prone to errors and even then you'd only be able to hilight one thing on a page at a time and would require a mouse. Annotation would require a user interface for inputting text and adding it to the HTML, something I'm pretty certain you can't do in qutebrowser.\n\nThere is a browser that makes all this stuff possible, https://nyxt.atlas.engineer/ but it is very buggy as of right now, it doesn't look like development is going well and all userscripts/extensions/plugins need to be written in lisp. I considered moving to it and building stuff for it, but when I tried it it was insufferably slow and buggy, and then when I tried it again a year or so later it was even worse. Maybe one day.",
"sig": "78296d26029fa1a68a1e379d4598525d5be2492a1112eda79e1ba7053e5f1fd8fa7fb799774dd9b4f1285a393e2765005ca6820a08cd282325d327994bb7721a"
}