
Ask HN: Why isn't there a power-user web browser? - robenkleene
I&#x27;m really fond of the idea that a web developer only needs three tools to do their job: a terminal, a text editor, and a web browser. But while terminals and text editors are specialized tools for developers, for a web browser, developers are just using the same tool as everyone else.<p>Text editors and terminals have a bunch of similarities: They&#x27;re completely customizable, you can change and add key bindings, and they&#x27;re scriptable. Those two features make it really easy to add my own features to my terminal and text editor. But it&#x27;s really difficult to add features to my web browser.<p>Here are some examples of features I want to add keyboard shortcuts to in my web browser:<p>- Opening the source code for the current web page in my text editor.<p>- Copying the URL that&#x27;s open in each tab to the clipboard.<p>- Move a tab to a new window.<p>- Start a new blog post for my Jekyll blog with the current URL.<p>Text editors and terminals make adding these kinds of features easy, but they&#x27;re not easy to add to web browsers.<p>If there are web browsers that make these kinds of features easy to add then I&#x27;d love to hear about them! But that still leaves the question: Why are these types of features important to web developers in their terminal and text editor, but they aren&#x27;t important in their web browser?
======
Ghjklov
You could try looking into Qutebrowser, which is a keyboard driven browser
designed with vim controls and is configured with python, so there is some
room for extendability and scripting.

Without doing any work, I can:

(yy) Yank the URL of the current tab to the clipboard

(gD) Move current tab to a new window

With some work, it's not impossible to get the features you want, or something
close.

~~~
robenkleene
Thanks yeah, I've never tried Qutebrowser but I've been curious whether it can
do some the things I'm looking for. It sounds like it has some nice built-in
bindings, but do you know if it can be scripted? E.g., Emacs can be scripted
in Emacs Lisp, Vim can be scripted in Vimscript, and VS Code can be scripted
in JavaScript. And all three can call-out to shell commands, including further
processing the results of commands. If you know off-hand whether Qutebrowser
has these features I'd love to know. (I've done a bit of research myself but
haven't found much.)

~~~
Ghjklov
Yes, it supports some level of scripting that I have not personally explored
yet. See here:

[https://www.qutebrowser.org/doc/userscripts.html](https://www.qutebrowser.org/doc/userscripts.html)

Looks like you totally can set up a shortcut to open stuff(like URLs for
instance) in other programs. If you can find some time for it, you should
definitely give it a try. For the stuff you mentioned, looking at this tells
me it shouldn't be impossible or even that hard.

~~~
robenkleene
Nice yeah, it does look promising. Doesn't look like full-blown scripting
support like in the aforementioned text editors, more like the limited support
that Mutt has. But this is definitely enough to pique my interest, and it
looks better than anything I've seen in any other browser.

------
eschneider
to some extent, curl and wget are off-the-shelf power user web browsers. And
lots of folks script up custom spiders for headless web browsing.

~~~
robenkleene
Agreed, but that's similar to doing a find-and-replace with `sed` versus doing
it in your text editor. Even with a CLI that can do find-and-replace there's
still a lot of times you'd want to do it within your GUI text editor. It's the
same for me with the web browser and the uses cases I listed in the post. I'm
curious why other programmers aren't as interested in these workflows as I am.

------
JohnFen
> I'm really fond of the idea that a programmer only needs three tools to do
> their job: a terminal, a text editor, and a web browser.

What about a compiler, linker, and other related tools? Also, I don't consider
a web browser to be an essential programmer's tool at all. I often go days
without using one in the course of my work.

But maybe I'm being a little unfair here. From the rest of your post, I think
that perhaps you're not actually talking about all programmers, but rather
developers working on web-related things.

~~~
robenkleene
Totally fair. I updated the post to say "web developer" instead of programmer,
you're right that that's more accurate.

