
Qutebrowser – a keyboard-focused browser with a minimal GUI - ashitlerferad
https://qutebrowser.org
======
vortico
Version 1.0.0 was released today, check it out! This is definitely the best
hackable browser out there. It combines QtWebEngine and Python, which are
incredibly stable yet fast to develop in.

It's a great alternative to what's left of the Firefox genocide of extensions,
where only VimFX and Saka Key exist.

~~~
inyourtenement
VimFX is dead.

~~~
asmdev
Is there a good alternative for VimFx?

~~~
The-Compiler
There's Vimium-FF and Saka Key at the moment:

[https://addons.mozilla.org/en-GB/firefox/addon/vimium-
ff/](https://addons.mozilla.org/en-GB/firefox/addon/vimium-ff/)
[https://key.saka.io/](https://key.saka.io/)

Also, Tridactyl is at the planning stage and working with Mozilla on a better
keyboard WebExtension API:

[https://github.com/cmcaine/tridactyl](https://github.com/cmcaine/tridactyl)
[https://bugzilla.mozilla.org/show_bug.cgi?id=1215061](https://bugzilla.mozilla.org/show_bug.cgi?id=1215061)

edit: Oh, looks like Tridactyl has quite some code already. I'm not sure if
it's runnable yet, though.

~~~
cmcaine
Thanks for mentioning us, Florian.

We're aiming to get Tridactyl to feature-equality with Vimium and Saka-Key by
the end of this weekend. (We are runnable now, but it's not a fantastic UX)

We hope to match or exceed the current WebExtension state of the art (cVim) by
the FF57 release date (Mid November).

Our longer-term roadmap depends on how responsive Mozilla are to our feature
requests. They've suggested that our two most important API extensions could
be merged in FF58 (Jan 2018? I forget), but we'll have to see.

If you don't want to run other WebExtensions or Firefox, Qutebrowser offers a
really good solution :)

~~~
The-Compiler
Great news! I added it to
[https://github.com/qutebrowser/qutebrowser#active](https://github.com/qutebrowser/qutebrowser#active)
now.

Now I wonder, where does the Penta -> Tri come from? Is it intended to be
usable with three fingers? (SCNR)

~~~
cmcaine
Because we'll only be 3/5ths as good :)

Or maybe because we're only trying.

[https://riot.im/app/#/room/#tridactyl:matrix.org/$1507907809...](https://riot.im/app/#/room/#tridactyl:matrix.org/$15079078091467929CKBDN:matrix.org)

------
raamdev
I've been using Vimium [1] for years now to browse the web (almost) entirely
via the keyboard and couldn't live without it. It's incredibly easy to use
once you become familiar with the shortcuts. You can even change the bindings
to more closely match Emacs [2] if that's your editor of choice.

1\. [https://vimium.github.io/](https://vimium.github.io/)

2\.
[https://gist.github.com/dmgerman/6f0e5f9ffc6484dfaf53](https://gist.github.com/dmgerman/6f0e5f9ffc6484dfaf53)

Edit: formatting.

~~~
elago
I also use Vimium and can't live without it, then switched to Qutebrowser
which solved some issues that were always annoying me with Vimium,
specifically:

1) Vimium key bindings don't work on the new tab page, and don't work until a
web page finishes loading. The Qutebrowser key bindings are more first class
and built in to the browser, so you can fully trust them to work all the time.

2) Qutebrowser is much better with webpages that also implement their own key
bindings. There is pass-through mode which disables all Qutebrowser key
bindings (except escape to leave pass-through mode) and lets the web page
interpret all keystrokes.

Unfortunately I still keep the other browser around because of compatability,
but I have much more hope that Qutebrowser will eventually render pages better
rather than Chrome/Vimium ever getting a better interface.

~~~
dictum
Problem #1 can be fixed by making the Vimium blank page your newtab page.

Vimium comes with a blank .html file; IIRC it's what opens when you issue a
command to open a new tab by pressing `t`.

I'm spending more time with FF 57 (it's really great for my needs) so I don't
remember how you would set a URL for chrome//:newtab. I think you have to
write an extension that redirects (with an inline script) to the Vimium blank
page. I'm on mobile so I can't confirm that.

~~~
vortico
Unfortunately it seems that in WebExtensions, or at least Firefox and
Chromium's current implementations of it, keybindings can only be captured by
a plugin while a page is finished loading, and while the address bar is
focused. There is also no way to do things like focus/defocus the addressbar,
autohide the addressbar, autohide the tab bar, and many other small details
that Qutebrowser effortlessly achieves.

~~~
xwvvvvwx
Obviously a hack, and only addresses one of your points, but the following
works pretty well if you wanna focus / defocus the address bar in chrome with
a shortcut:

[https://superuser.com/questions/324266/google-chrome-mac-
set...](https://superuser.com/questions/324266/google-chrome-mac-set-keyboard-
focus-from-address-bar-back-to-page/324267#324267)

------
kronos29296
An incredible project considering the average longevity of other vim key
browsers and their limited communities. This one is loads better with a good
renderer unlike most light weight browsers. (Qtwebengine which is just qt for
blink because webkit is old now). It even has adblock.

~~~
fermuch
Not all systems support qtwebengine (by support I mean: have the current
version of qt), and the developer still has qtwebkit as a fallback. Both
implementations differ a lot, and I'm happily impressed to see support for
both at the same time!

~~~
The-Compiler
FWIW you'd still need Qt 5.7.1 and an updated fork of QtWebKit:
[https://github.com/annulen/webkit/wiki](https://github.com/annulen/webkit/wiki)

However, there's usually an easy way to get an up to date Qt with QtWebEngine
if you're on Python 3.5/3.6:
[https://github.com/qutebrowser/qutebrowser/blob/master/doc/i...](https://github.com/qutebrowser/qutebrowser/blob/master/doc/install.asciidoc#tox)

------
xvilka
There is also a Luakit
[https://github.com/luakit/luakit](https://github.com/luakit/luakit)

Moreover it allows to script some stuff easily.

------
sn0opy
Reminds me of an even more minimal browser called "surf".

[https://surf.suckless.org](https://surf.suckless.org)

~~~
sevensor
There's always a more minimal browser. I'm posting this comment from w3m :)

------
pmoriarty
I'll move to this when it can run NoScript and RequestPolicy.

~~~
The-Compiler
NoScript will be there once there are per-domain settings, which is the next
thing I plan working on:

[https://github.com/qutebrowser/qutebrowser/issues/27](https://github.com/qutebrowser/qutebrowser/issues/27)

uMatrix is basically a superset of RequestPolicy - a stripped down version
will work soon after per-domain settings, but I also plan on having a GUI
similar to uMatrix:

[https://github.com/qutebrowser/qutebrowser/issues/2626](https://github.com/qutebrowser/qutebrowser/issues/2626)

[https://github.com/qutebrowser/qutebrowser/issues/28](https://github.com/qutebrowser/qutebrowser/issues/28)

~~~
scoggs
Great work, really! Thank you so much.

------
shyn3
This is an alternative, making your keyboard your mouse for other instances
[1].

Thanks for this. I really needed it.

[1] [https://autohotkey.com/board/topic/1093-using-keyboard-
numpa...](https://autohotkey.com/board/topic/1093-using-keyboard-numpad-as-a-
mouse/)

~~~
TheSpiceIsLife
I operate a laser cutter so do a bit of 2D CAD work. Along with my 22 button
gaming mouse, AutoHotKey is a massive productivity booster. I have a script
compiled to exe running on the laser control console PC to make it more user
friendly too.

~~~
shyn3
22 button gaming mouse? I am impressed.

Mind providing me the model #?

Do you use all 22 keys?

~~~
TheSpiceIsLife
Raza Naga. Sorry, 21 buttons:

12 key numpad on the side - 12

left and right regular buttons - 12 + 2 = 14

middle click - 14 + 1 = 15

scroll up and scroll down - 15 + 2 = 17

scroll wheel can be pushed left and right - 17 + 2 = 19

two addition buttons below the scroll wheel - 19 + 2 = 21

Every button I've listed is programmable. I made the left mouse button do
something else by mistake once. That was awkward.

Also, the software it comes with allows you to program in 8 keymaps over many
profiles, and it can change the profile based on what program has focus. I
typically just use 2 keymaps in one profile across the few programs I have to
use at work.

Just having enter, delete, backspace, tab keys, whatever on the mouse is
amazing, but I also have macros programmed in for various tasks in the CAD
program. I use AutoHotKey for most of the automated tasks in the proprietary
software for the laser cutter.

------
0xCMP
I'm liking this trend of keyboard focused browsers on HN. It feels like I
complained once and suddenly everyone has a pet-browser-project that's been in
the works for a year or two that addresses a little problem here or there that
we all complain about.

------
i6ruce
At first I think that this would be some kind of terminal browsers with very
limited number of features, but after few minutes of using it looks very
impresive. I'll try to move all my dayly programming browsing and see how it
will work.

~~~
The-Compiler
I wonder, what made you think it's a terminal browser?

------
bitexploder
The display of TLS vs non TLS makes me a little nervous. A lot of thought has
gone into those little lock icons. They can instill a false sense of security
-- but it is also important to make TLS issues obvious. Can anyone comment on
the handling and display of site certificate info?

~~~
The-Compiler
The nice thing about lock icons is that they can indicate EV certificates
(extended validation, where the organization basically paid some more to be
verified more thoroughly). Unfortunately that's not something I can do with
qutebrowser because of missing QtWebEngine API to get that information.

Another feature is to make it obvious whether you're connected via plaintext
HTTP or HTTPS. qutebrowser solves that by showing the whole URL in white/green
respectively.

When you see a "broken lock" icon (i.e. when there was an actual TLS issue),
you did already get a big error page you had to confirm, or (in case of
qutebrowser) a prompt, so you already know there's no TLS going on, right? In
that case, qutebrowser shows the URL in orange.

As for getting certificate info: Unfortunately also not possible due to
missing APIs - see e.g.
[https://bugreports.qt.io/browse/QTBUG-49822](https://bugreports.qt.io/browse/QTBUG-49822)

------
jaimehrubiks
I find this project very interesting. But for those of you who need chrome I
highly recommend using SurfingKeys extension, which is a relatively new ext.

~~~
The-Compiler
There's also cVim, Vimium and Saka Key FWIW.

------
stuaxo
In a similar spirit can anyone recommend a browser that works well with a
remote control ?

I've got an Android TV, but all the browsers are a bit meh with remote.

------
yoz-y
Just yesterday I was looking for a macOS version of uzbl. This comes in and
from the quick glance looks like everything I was looking for.

------
surfcao
Tried once, but missed the addons in Firefox that Vimperator can also have
access. Too bad vimperator will stop working soon.

~~~
The-Compiler
Out of curiosity, what addons were you missing? Anything other than
NoScript/uMatrix?

~~~
cmcaine
When I last tried, the adblocker wasn't as good as ublock. If I were to switch
now, I would miss easy access to my passwords, referrer control, zotero, and
RES (a bit, a userscript would do).

Some of the adblock issue is possibly an engine problem (there's some pre-
script hooks that Webkit-forks don't support).

~~~
The-Compiler
qutebrowser's adblock could definitely be better, right now it's really only a
host blacklist:
[https://github.com/qutebrowser/qutebrowser/issues/29](https://github.com/qutebrowser/qutebrowser/issues/29)

Password autofill is something I want to take care once there's a plugin API,
but there are ways to make it work (the password_fill userscript, autotyping
in KeePass*).

Referrer control unfortunately isn't possible with QtWebEngine's API for
now...

Zotero won't be possible, but I guess that won't exist any longer with
WebExtensions either?

And Greasemonkey support is on its way:
[https://github.com/qutebrowser/qutebrowser/pull/3040](https://github.com/qutebrowser/qutebrowser/pull/3040)

~~~
cmcaine
The zotero main program is now a standalone thing, but there's a webextension
that lets you add things to your library. Looking into it, it seems you can
get a rudimentary experience with a bookmarklet/jseval:

[https://www.zotero.org/downloadbookmarklet](https://www.zotero.org/downloadbookmarklet)

I'm glad that Greasemonkey support is coming, though. Will the GM scripts run
in the same JS scope as page scripts?

Webkit forks also render text slightly worse for HiDPI screens and don't seem
to support CSS `hyphens: auto`. Which is annoying because I really like
justified text.

------
davidp670
Interesting, I use Bookmark OS for bookmarks which is pretty powerful. Does
this allow for bookmarking?

~~~
The-Compiler
It has basic bookmarking support built in. You might also be able to integrate
it with Bookmark OS via an userscript:

[https://github.com/qutebrowser/qutebrowser/blob/master/doc/u...](https://github.com/qutebrowser/qutebrowser/blob/master/doc/userscripts.asciidoc)

------
ebrandell
This should be fun to play around with.

