qutebrowser/FAQ.asciidoc

162 lines
8.2 KiB
Plaintext
Raw Normal View History

2014-06-20 13:30:20 +02:00
Frequently asked questions
==========================
2015-10-21 21:02:27 +02:00
:title: Frequently asked questions
2014-06-20 13:30:20 +02:00
The Compiler <mail@qutebrowser.org>
[qanda]
What is qutebrowser based on?::
2015-06-12 16:59:33 +02:00
qutebrowser uses http://www.python.org/[Python], http://qt.io/[Qt] and
http://www.riverbankcomputing.com/software/pyqt/intro[PyQt].
2014-07-23 20:17:08 +02:00
+
2014-07-23 20:19:01 +02:00
The concept of it is largely inspired by http://portix.bitbucket.org/dwb/[dwb]
and http://www.vimperator.org/vimperator[Vimperator]. Many actions and
2015-03-31 20:49:29 +02:00
key bindings are similar to dwb.
2014-06-20 13:30:20 +02:00
Why another browser?::
It might be hard to believe, but I didn't find any browser which I was
happy with, so I started to write my own. Also, I needed a project to get
into writing GUI applications with Python and
2015-06-12 16:59:33 +02:00
link:http://qt.io/[Qt]/link:http://www.riverbankcomputing.com/software/pyqt/intro[PyQt].
2014-07-23 20:17:08 +02:00
+
2014-07-23 20:19:01 +02:00
Read the next few questions to find out why I was unhappy with existing
software.
2014-06-20 13:30:20 +02:00
2014-07-23 19:38:04 +02:00
What's wrong with link:http://portix.bitbucket.org/dwb/[dwb]/link:http://sourceforge.net/projects/vimprobable/[vimprobable]/link:https://mason-larobina.github.io/luakit/[luakit]/link:http://pwmt.org/projects/jumanji/[jumanji]/... (projects based on WebKitGTK)?::
2014-06-20 13:30:20 +02:00
Most of them are based on the http://webkitgtk.org/[WebKitGTK+]
http://webkitgtk.org/reference/webkitgtk/stable/index.html[WebKit1] API,
2014-06-23 15:22:22 +02:00
which causes a lot of crashes. As the GTK API using WebKit1 is
2014-06-20 13:30:20 +02:00
https://lists.webkit.org/pipermail/webkit-gtk/2014-March/001821.html[deprecated],
these bugs are never going to be fixed.
2014-07-23 20:17:08 +02:00
+
2014-07-23 20:19:01 +02:00
The newer http://webkitgtk.org/reference/webkit2gtk/stable/index.html[WebKit2
API] seems to lack basic features like proxy support, and almost no projects
seem to have started porting to WebKit2 (I only know of
http://www.uzbl.org/[uzbl]).
2014-07-23 20:17:08 +02:00
+
2015-06-12 16:59:33 +02:00
qutebrowser uses http://qt.io/[Qt] and http://wiki.qt.io/QtWebKit[QtWebKit]
instead, which suffers from far less such crashes. It might switch to
http://wiki.qt.io/QtWebEngine[QtWebEngine] in the future, which is based on
Google's https://en.wikipedia.org/wiki/Blink_(layout_engine)[Blink] rendering
engine.
2014-06-20 13:30:20 +02:00
2014-07-23 19:38:04 +02:00
What's wrong with https://www.mozilla.org/en-US/firefox/new/[Firefox] and link:http://5digits.org/pentadactyl/[Pentadactyl]/link:http://www.vimperator.org/vimperator[Vimperator]?::
2014-06-20 13:30:20 +02:00
Firefox likes to break compatibility with addons on each upgrade, gets
slower and more bloated with every upgrade, and has some
https://blog.mozilla.org/advancingcontent/2014/02/11/publisher-transformation-with-users-at-the-center/[horrible
ideas] lately.
2014-07-23 20:17:08 +02:00
+
2014-07-23 20:19:01 +02:00
Also, developing addons for it is a nightmare.
2014-06-20 13:30:20 +02:00
What's wrong with http://www.chromium.org/Home[Chromium] and https://vimium.github.io/[Vimium]?::
The Chrome plugin API doesn't seem to allow much freedom for plugin
writers, which results in Vimium not really having all the features you'd
expect from a proper minimal, vim-like browser.
Why Python?::
I enjoy writing Python since 2011, which made it one of the possible
2015-06-12 16:59:33 +02:00
choices. I wanted to use http://qt.io/[Qt] because of
http://wiki.qt.io/QtWebKit[QtWebKit] so I didn't have
http://wiki.qt.io/Category:LanguageBindings[many other choices]. I don't
like C++ and can't write it very well, so that wasn't an alternative.
2014-06-20 13:30:20 +02:00
But isn't Python too slow for a browser?::
http://www.infoworld.com/d/application-development/van-rossum-python-not-too-slow-188715[No.]
2015-10-04 15:41:42 +02:00
I believe efficiency while coding is a lot more important than efficiency
2014-06-20 13:30:20 +02:00
while running. Also, most of the heavy lifting of qutebrowser is done by Qt
and WebKit in C++, with the
https://wiki.python.org/moin/GlobalInterpreterLock[GIL] released.
Is there an adblocker?::
2014-11-26 20:26:11 +01:00
There is a host-based adblocker which takes /etc/hosts-like lists. A "real"
adblocker has a
2014-06-20 13:30:20 +02:00
http://www.reddit.com/r/programming/comments/25j41u/adblock_pluss_effect_on_firefoxs_memory_usage/chhpomw[big
impact] on browsing speed and
https://blog.mozilla.org/nnethercote/2014/05/14/adblock-pluss-effect-on-firefoxs-memory-usage/[RAM
usage], so implementing it properly might take some time and won't be done
2014-11-26 20:26:11 +01:00
for v0.1 if at all.
How do I play Youtube videos with mpv?::
2015-03-31 20:49:29 +02:00
You can easily add a key binding to play youtube videos inside a real video
player - optionally even with hinting for links:
+
----
:bind m spawn mpv {url}
:bind M hint links spawn mpv {hint-url}
----
+
Note that you might need an additional package (e.g.
https://www.archlinux.org/packages/community/any/youtube-dl/[youtube-dl] on
Archlinux) to play web videos with mpv.
+
There is a very useful script for mpv, which emulates "unique application"
functionality. This way you can add links to the mpv playlist instead of
playing them all at once.
+
You can find the script here: https://github.com/mpv-player/mpv/blob/master/TOOLS/umpv
+
It also works nicely with rapid hints:
+
----
:bind m spawn umpv {url}
:bind M hint links spawn umpv {hint-url}
:bind ;M hint --rapid links spawn umpv {hint-url}
----
2015-11-12 20:35:48 +01:00
How do I use qutebrowser with mutt?::
Due to a Qt limitation, local files without `.html` extensions are
"downloaded" instead of displayed, see
https://github.com/The-Compiler/qutebrowser/issues/566[#566]. You can work
around this by using this in your `mailcap`:
+
----
text/html; mv %s %s.html && qutebrowser %s.html >/dev/null 2>/dev/null; needsterminal;
----
2014-12-24 01:05:23 +01:00
== Troubleshooting
2014-12-24 01:17:57 +01:00
Configuration not saved after modifying config.::
2014-12-25 04:12:54 +01:00
When editing your config file manually, qutebrowser must be exited completely.
2014-12-28 01:52:48 +01:00
This can be done by issuing the command `:quit` or by pressing `Ctrl+q`.
2014-12-24 01:05:23 +01:00
Unable to view flash content.::
2014-12-24 01:17:57 +01:00
If you have flash installed for on your system, it's necessary to enable plugins
2014-12-24 01:05:23 +01:00
to use the flash plugin. Using the command `:set content allow-plugins true`
2014-12-25 04:12:54 +01:00
in qutebrowser will enable plugins. Packages for flash should
2014-12-28 01:52:48 +01:00
be provided for your platform or it can be obtained from
http://get.adobe.com/flashplayer/[Adobe].
2014-12-25 04:12:54 +01:00
2014-12-24 01:05:23 +01:00
Experiencing freezing on sites like duckduckgo and youtube.::
2014-12-28 01:52:48 +01:00
This issue could be caused by stale plugin files installed by `mozplugger`
if mozplugger was subsequently removed.
2015-10-04 15:41:42 +02:00
Try exiting qutebrowser and removing `~/.mozilla/plugins/mozplugger*.so`.
2014-12-28 01:52:48 +01:00
See https://github.com/The-Compiler/qutebrowser/issues/357[Issue #357]
2014-12-24 01:05:23 +01:00
for more details.
Experiencing segfaults (crashes) on Debian systems.::
2014-12-28 01:52:48 +01:00
For Debian it's highly recommended to install the `gstreamer0.10-plugins-base` package.
2014-12-25 04:44:32 +01:00
This is a workaround for a bug in Qt, it has been fixed upstream in Qt 5.4
2014-12-25 04:12:54 +01:00
More details can be found
https://bugs.webkit.org/show_bug.cgi?id=119951[here].
2014-12-24 01:05:23 +01:00
2014-12-28 01:52:48 +01:00
Segfaults on Facebook, Medium, Amazon, ...::
If you are on a Debian or Ubuntu based system, you might experience some crashes
2015-10-13 23:52:13 +02:00
visiting these sites. This is caused by various bugs in Qt which have been
2014-12-28 01:52:48 +01:00
fixed in Qt 5.4. However Debian and Ubuntu are slow to adopt or upgrade
2015-05-04 13:37:07 +02:00
some packages. On Debian Jessie, it's recommended to use the experimental
repos as described in https://github.com/The-Compiler/qutebrowser/blob/master/INSTALL.asciidoc#on-debian--ubuntu[INSTALL].
2015-02-13 13:42:49 +01:00
+
Since Ubuntu Trusty (using Qt 5.2.1),
https://bugreports.qt.io/browse/QTBUG-42417?jql=component%20%3D%20WebKit%20and%20resolution%20%3D%20Done%20and%20fixVersion%20in%20(5.3.0%2C%20%225.3.0%20Alpha%22%2C%20%225.3.0%20Beta1%22%2C%20%225.3.0%20RC1%22%2C%205.3.1%2C%205.3.2%2C%205.4.0%2C%20%225.4.0%20Alpha%22%2C%20%225.4.0%20Beta%22%2C%20%225.4.0%20RC%22)%20and%20priority%20in%20(%22P2%3A%20Important%22%2C%20%22P1%3A%20Critical%22%2C%20%22P0%3A%20Blocker%22)[over
70 important bugs] have been fixed in QtWebKit. For Debian Jessie (using Qt 5.3.2)
it's still
https://bugreports.qt.io/browse/QTBUG-42417?jql=component%20%3D%20WebKit%20and%20resolution%20%3D%20Done%20and%20fixVersion%20in%20(5.4.0%2C%20%225.4.0%20Alpha%22%2C%20%225.4.0%20Beta%22%2C%20%225.4.0%20RC%22)%20and%20priority%20in%20(%22P2%3A%20Important%22%2C%20%22P1%3A%20Critical%22%2C%20%22P0%3A%20Blocker%22)[nearly
20 important bugs].
2014-12-25 04:12:54 +01:00
My issue is not listed.::
2014-12-28 01:52:48 +01:00
If you experience any segfaults or crashes, you can report the issue in
https://github.com/The-Compiler/qutebrowser/issues[the issue tracker] or
using the `:report` command.
If you are reporting a segfault, make sure you read the
link:doc/stacktrace.asciidoc[guide] on how to report them with all needed
information.