HNHacker News
TopNewBestAskShowJobs

The-Compiler

167 karma · joined December 20, 2014

[ my public key: https://keybase.io/the_compiler; my proof: https://keybase.io/the_compiler/sigs/75S2y5WIBsCLdQo_tr2et6Qp1zJAfFPgcN27_GdlhmQ ]
submissionscomments
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
Thanks! On the flip side, I sometimes feel like I never really have time for coding because I'm putting a lot of effort into community things, for better or worse :)

As for affording it: I still live with my mother (I'm 25 and a full-time student), so that works out well so far.

Not sure yet what'll happen after the studies, from how things look like now I might end up moving to my girlfriend's place in Vorarlberg (Austria, but close to the Swiss border) where things are cheaper, and try to live off qutebrowser donations and some freelancing gigs. We'll see!

The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
Note the "Linux distribution packages", as in "your application being packaged by Linux distributions". That's pretty much not going to happen if you ship your own engine.

Could you elaborate why you'd prefer shipping it with the browser rather than sharing it?

The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
It's not - QtWebEngine strips a lot of Chromiums sources (like the entire UI, and things like Google sign-in code) out.
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
Can you try setting "content.cookies.accept" to "all" instead of the default "no-3rdparty"? If that doesn't help, can you set with --temp-basedir?
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
I doubt that'll happen with Qt 5.12, but it hopefully will with Qt 6: https://bugreports.qt.io/browse/QTBUG-63235
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
Still not sure whether it was a good idea to (mostly) copy dwb's keybindings - some of them are a bit weird and inconsistent...
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
It's unfortunately not the only questionable decision taken by the Pale Moon devs - see e.g. https://www.neowin.net/forum/topic/1363542-pale-moon-team-di...
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
Yeah, the name is a bit unfortunate - it's coming from dwb[1] which I think also invented that concept, and was the main inspiration for qutebrowser.

[1] https://portix.bitbucket.io/dwb/

The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
Not necessarily - any language which can read environment variables and write into a file should work. Most existing scripts are using either Python or Bash though.
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
No WebExtension support, and unless Qt implements support for them, I'm not sure that'll change: https://github.com/qutebrowser/qutebrowser/issues/30

However, there's a built-in adblocker (which only blacklists hosts right now), and there are plans for something like uMatrix: https://github.com/qutebrowser/qutebrowser/issues/28

The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
You can if you do :set hints mode number.
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
You won't be able to use the Qt version in the repos for Ubuntu 16.04, but if you're on x86_64, you can use a prebuilt PyQt which ships with Qt: https://github.com/qutebrowser/qutebrowser/blob/master/doc/i...
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
To be fair, WebKit2 isn't abandoned (WebKit1 was, and some projects never migrated to WebKit2) - at least in WebKitGTK+ (which most projects use), that's still maintained: https://webkitgtk.org/

However, QtWebEngine is probably still ahead of WebKit, both security- (sandboxing) and feature-wise.

The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
Note that Saka Key currently is unmaintained: https://github.com/lusakasa/saka-key/issues/171
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
You could probably write a qutebrowser userscript similar to the other password scripts which already exist:

https://github.com/qutebrowser/qutebrowser/tree/master/misc/...

Hopefully, things will also get easier in the future with the upcoming plugin API:

https://lists.schokokeks.org/pipermail/qutebrowser-announce/...

The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
That the newest stable release is Chromium 69, and ideally you wouldn't want to lag behind that.
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
I have considered using CEF as well (via cefpython), but the main deal breaker was that it isn't packaged anywhere - so I'd need to ship my own copy of it with qutebrowser, which is usually not something you can do with Linux distribution packages.
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
Yeah, I recall them saying they need something like two man-months for each Chromium release to adapt (the changed lines in the imported Chromium source is usually somewhere around a couple of million...).
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
It's in their documentation (but a bit hidden): http://doc.qt.io/qt-5/qtwebengine-overview.html#qt-webengine... (This version of Qt WebEngine is based on Chromium version ...).

I usually check their script, which also lets you switch between versions easily: http://code.qt.io/cgit/qt/qtwebengine.git/tree/tools/scripts...

And I also have an overview here: https://github.com/qutebrowser/qutebrowser/blob/master/quteb...

The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
qutebrowser has a hosts-based adblocker built in, so that probably won't make a big difference.
The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
qutebrowser comes with a built-in adblocker, but that's quite basic (it only blacklists hosts, like a /etc/hosts file would).

I'd absolutely like something like uMatrix in qutebrowser (see [1]), and since I recently started work on a plugin API[2], that'll hopefully happen soon-ish.

As for password manager integration, check qutebrowser's userscripts[3] (which are unrelated to Greasemonkey scripts), but a plugin API should provide a better foundation for that as well.

[1] https://github.com/qutebrowser/qutebrowser/issues/28

[2] https://lists.schokokeks.org/pipermail/qutebrowser-announce/...

[3] https://github.com/qutebrowser/qutebrowser/tree/master/misc/...

The-Compiler··on Qutebrowser – A keyboard-driven, Vim-like browser based on PyQt5
While the Chromium version in QtWebEngine only gets updated for major releases (all ~6 months), they do backport security fixes. The latest 5.11.2 release comes[1] with fixes up to Chromium 68.0.3440.75, and the upcoming 5.12 release (scheduled[2] for November) updates[3] the baseline to Chromium 69.

It's a bigger issue if you're on a distribution like Debian Stable, which ships an ancient Qt version without security updates[4]. There, you get Qt 5.7.1 based on Chromium 49 (2016-03-02) with security fixes up to 54 (2016-10-19)... I'll probably drop support for that soon even if it's annoying for some Debian Stable users, but people really should stop using such old QtWebEngine versions.

Missing web features usually isn't much of a problem in my experience, as most sites still wait a bit before they start using them.

FWIW I agree something based on Servo would be cool, and as soon as there's some project making Servo embeddable from Python with Qt integration, I'll get my hands dirty to at least have a proof of concept!

[1] http://code.qt.io/cgit/qt/qtwebengine.git/tree/dist/changes-...

[2] https://wiki.qt.io/Qt_5.12_Release

[3] http://code.qt.io/cgit/qt/qtwebengine.git/tree/tools/scripts...

[4] https://www.debian.org/releases/stable/amd64/release-notes/c... - only mentions QtWebKit, but applies to QtWebEngine too

The-Compiler··on Chrome is Not the Standard
Looks like there's some work-in-progress here: https://reviews.freebsd.org/D12964

And yeah, QtWebEngine is quite a beast to package, I can imagine that it's even worse on BSD...

The-Compiler··on Chrome is Not the Standard
Is it? https://www.freshports.org/www/qt5-webengine/

I'll try, but as usual I'll probably have a lot of things I want to do :D I'm usually at the Swiss Chaos assembly FWIW, and there might be a qutebrowser meetup as self-organized session some day.

Thanks! :)

The-Compiler··on Chrome is Not the Standard
Note that Qt officially only has one backend, QtWebEngine, which is QtWebKit's successor.

However, it's more or less one guy (annulen) keeping QtWebKit alive as a hobby. So far that's worked surprisingly well, though.

The-Compiler··on nEXT Browser: A nEXT Generation Extensible Lisp Browser – Alpha
You might want to look into QtWebEngine or Chromium Embedded Framework, which give you a stable API over Chromium's content API.

Then again, this sounds a lot like qutebrowser ;-)

The-Compiler··on Qutebrowser – a keyboard-focused browser with a minimal GUI
Great news! I added it to 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)

The-Compiler··on Qutebrowser – a keyboard-focused browser with a minimal GUI
QuantumVim hasn't seen any activity in the past year: https://github.com/shinglyu/QuantumVim

But there's Saka Key, Vimium-FF and Tridactyl.

The-Compiler··on Qutebrowser – a keyboard-focused browser with a minimal GUI
qutebrowser's adblock could definitely be better, right now it's really only a host blacklist: 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

The-Compiler··on Qutebrowser – a keyboard-focused browser with a minimal GUI
There's the :jseval command which would probably work, or you could write a userscript: https://github.com/qutebrowser/qutebrowser/blob/master/doc/u...
← PreviousPage 5 of 6Next →