300 lines
10 KiB
Plaintext
300 lines
10 KiB
Plaintext
// If you are reading this in plaintext or on PyPi:
|
|
//
|
|
// A rendered version is available at:
|
|
// https://github.com/The-Compiler/qutebrowser/blob/master/README.asciidoc
|
|
|
|
qutebrowser
|
|
===========
|
|
|
|
_A keyboard-driven, vim-like browser based on PyQt5 and QtWebKit._
|
|
|
|
qutebrowser is a keyboard-focused browser with with a minimal GUI. It's based
|
|
on Python, PyQt5 and QtWebKit and free software, licensed under the GPL.
|
|
|
|
It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl.
|
|
|
|
Screenshots
|
|
-----------
|
|
|
|
image:doc/img/main.png[width=300,link="doc/img/main.png"]
|
|
image:doc/img/downloads.png[width=300,link="doc/img/downloads.png"]
|
|
image:doc/img/completion.png[width=300,link="doc/img/completion.png"]
|
|
image:doc/img/hints.png[width=300,link="doc/img/hints.png"]
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
In addition to the topics mentioned in this README, the following documents are
|
|
available:
|
|
|
|
* link:doc/quickstart.asciidoc[Quick start guide]
|
|
* link:doc/FAQ.asciidoc[Frequently asked questions]
|
|
* link:doc/HACKING.asciidoc[HACKING]
|
|
* link:doc/readme.asciidoc[Reporting segfaults]
|
|
|
|
Getting help
|
|
------------
|
|
|
|
You can get help in the IRC channel
|
|
irc://irc.freenode.org/#qutebrowser[`#qutebrowser`] on
|
|
http://freenode.net/[Freenode]
|
|
(https://webchat.freenode.net/?channels=#qutebrowser[webchat]), or by writing a
|
|
message to the
|
|
https://lists.schokokeks.org/mailman/listinfo.cgi/qutebrowser[mailinglist] at
|
|
mailto:qutebrowser@lists.qutebrowser.org[].
|
|
|
|
Running qutebrowser
|
|
-------------------
|
|
|
|
After installing the <<requirements,requirements>>, you have these options:
|
|
|
|
* Run qutebrowser directly via `./qutebrowser.py` in the toplevel directory.
|
|
* Run `python3 setup.py install` to install qutebrowser, then call
|
|
`qutebrowser`.
|
|
|
|
NOTE: If you're running qutebrowser from the git repository rather than a
|
|
released version, you should run `scripts/asciidoc2html.py` to generate the
|
|
documentation.
|
|
|
|
Contributions / Bugs
|
|
--------------------
|
|
|
|
You want to contribute to qutebrowser? Awesome! Please read
|
|
link:doc/HACKING.asciidoc[HACKING] for details and useful hints.
|
|
|
|
If you found a bug or have a feature request, you can report it in several
|
|
ways:
|
|
|
|
* Use the built-in `:report` command or the automatic crash dialog.
|
|
* Open an issue in the Github issue tracker.
|
|
* Write a mail to the
|
|
https://lists.schokokeks.org/mailman/listinfo.cgi/qutebrowser[mailinglist] at
|
|
mailto:qutebrowser@lists.qutebrowser.org[].
|
|
|
|
For security bugs, please contact me directly at mail@qutebrowser.org, GPG ID
|
|
http://www.the-compiler.org/pubkey.asc[0xFD55A072].
|
|
|
|
[[requirements]]
|
|
Requirements
|
|
------------
|
|
|
|
The following software and libraries are required to run qutebrowser:
|
|
|
|
* http://www.python.org/[Python] 3.4
|
|
* http://qt-project.org/[Qt] 5.2.0 or newer (5.3.2 recommended)
|
|
* QtWebKit
|
|
* http://www.riverbankcomputing.com/software/pyqt/intro[PyQt] 5.2.0 or newer
|
|
(5.3.2 recommended) for Python 3
|
|
* https://pypi.python.org/pypi/setuptools/[pkg_resources/setuptools]
|
|
* http://fdik.org/pyPEG/[pyPEG2]
|
|
* http://jinja.pocoo.org/[jinja2]
|
|
* http://pygments.org/[pygments]
|
|
|
|
To generate the documentation for the `:help` command, when using the git
|
|
repository (rather than a release), http://asciidoc.org/[asciidoc] is needed.
|
|
|
|
The following libraries are optional and provide colored logging in the
|
|
console:
|
|
|
|
* https://pypi.python.org/pypi/colorlog/[colorlog]
|
|
* On Windows: https://pypi.python.org/pypi/colorama/[colorama]
|
|
|
|
On Debian
|
|
~~~~~~~~~
|
|
|
|
----
|
|
# apt-get install python3-pyqt5 python3-pyqt5.qtwebkit python3-pkg-resources
|
|
python3-pip python3-jinja2 python3-pygments
|
|
# pip3 install pypeg2 --allow-external pypeg2 --allow-unverified pypeg2
|
|
----
|
|
|
|
To generate the documentation for the `:help` command, when using the git
|
|
repository (rather than a release):
|
|
|
|
----
|
|
# apt-get install asciidoc
|
|
----
|
|
|
|
On Archlinux
|
|
~~~~~~~~~~~~
|
|
|
|
There's an Archlinux package available in `pkg/`. You can install it (and the
|
|
python-pypeg2 dependency) like this:
|
|
|
|
----
|
|
$ wget https://aur.archlinux.org/packages/py/python-pypeg2/python-pypeg2.tar.gz <1>
|
|
$ tar xzvf python-pypeg2.tar.gz
|
|
$ cd python-pypeg2
|
|
$ makepkg -si
|
|
$ cd ..
|
|
|
|
$ mkdir qutebrowser
|
|
$ cd qutebrowser
|
|
$ wget http://git.the-compiler.org/qutebrowser/plain/pkg/PKGBUILD.qutebrowser-git -O PKGBUILD
|
|
$ makepkg -si
|
|
$ cd ..
|
|
$ rm -rf python-pypeg2.tar.gz python-pypeg2 qutebrowser
|
|
----
|
|
<1> Instead of the first block of commands you could also use an AUR helper,
|
|
e.g. +yaourt -S python-pypeg2+.
|
|
|
|
As soon as v0.1 is out, there will be a package in the AUR, so this will get
|
|
easier.
|
|
|
|
// Install https://aur.archlinux.org/packages/qutebrowser-git/[qutebrowser-git]
|
|
// from the AUR.
|
|
|
|
On Gentoo
|
|
~~~~~~~~~
|
|
|
|
Running qutebrowser on Gentoo is unfortunately rather hard because Qt5 and
|
|
PyQt5 are not packaged officially. https://github.com/posativ[@posativ] has
|
|
written https://gist.github.com/posativ/30668ee3472c6d0649e8[a howto] with
|
|
steps to get it running.
|
|
|
|
On Windows
|
|
~~~~~~~~~~
|
|
|
|
* Use the installer from http://www.python.org/downloads[python.org] to get Python 3
|
|
* Use the installer from
|
|
http://www.riverbankcomputing.com/software/pyqt/download5[Riverbank computing]
|
|
to get Qt and PyQt5.
|
|
* Run `scripts/ez_setup.py` to get setuptools.
|
|
* Get pip as described http://stackoverflow.com/a/12476379[on Stack Overflow].
|
|
* Run +pip install --allow-external pypeg2 --allow-unverified pypeg2 pypeg2+ to
|
|
install pypeg2.
|
|
* Run +pip install jinja2+ to install jinja2, or install it from
|
|
http://www.lfd.uci.edu/~gohlke/pythonlibs/#jinja2.
|
|
* Run +pip install pygments+ to install pygments, or install it from
|
|
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygments.
|
|
|
|
As soon as v0.1 is out, a standalone .exe (built with
|
|
http://cx-freeze.sourceforge.net/[cx_Freeze]) will be provided. In the
|
|
meantime, you can simply ask in IRC if you need one.
|
|
|
|
On OS X
|
|
~~~~~~~
|
|
|
|
Running qutebrowser on OS X requires compiling PyQt5 by hand. These steps have
|
|
been tested on OS X Mavericks:
|
|
|
|
* Install XCode from the Appstore
|
|
* Open a Terminal
|
|
* Run `xcode-select --install`
|
|
* Install the XCode commandline tools
|
|
* Run `sudo /usr/bin/xcodebuild` and accept the license.
|
|
* http://www.qt.io/download-open-source/[Download] and run the Qt5 installer.
|
|
If you want, you can deselect Android/iOS when selecting the components to be
|
|
installed.
|
|
* Run +sed -i -e 's/macosx10\.8/macosx10\.9/' ~/Qt/5.3/clang_64/mkspecs/qdevice.pri+
|
|
* http://www.python.org/downloads/[Download] and install the Python 3
|
|
installer. After opening the `.dmg`, right-click on 'Python.mpkg' and click
|
|
'Open' to run it -- double-clicking won't work.
|
|
* Download SIP and PyQt5 from Riverbank Coputing
|
|
* Open a Terminal and use `cd ~/Downloads` to get to the download directory.
|
|
* Use `tar xzvf sip-*.tar` to extract SIP and `cd sip-*` to change into the
|
|
SIP directory
|
|
* Run `python3 configure.py`, `make` and `sudo make install`.
|
|
* Use `cd ~/Downloads` to get back to the download directory.
|
|
* Use `tar xvf PyQt-*.tar` to extract PyQt and `cd PyQt-*` to change into the
|
|
PyQt directory.
|
|
* Run +sed -i -e "s/qmake_QT=\['webkit', 'network'\]/qmake_QT=['webkit',
|
|
'network', 'printsupport']/" configure.py+
|
|
* Run +sed -i -e "s/qmake_QT=\['webkitwidgets'\]/qmake_QT=['webkitwidgets',
|
|
'printsupport']/" configure.py+
|
|
* Run +python3 configure.py --qmake ~/Qt/5.3/clang_64/bin/qmake --sip
|
|
/Library/Frameworks/Python.framework/Versions/3.4/bin/sip+ and accept
|
|
the license.
|
|
* Run `make` and `sudo make install`.
|
|
* Run `python3 setup.py install` to install all other dependencies
|
|
|
|
|
|
Donating
|
|
--------
|
|
|
|
Working on qutebrowser is a very rewarding hobby, but like (nearly) all hobbies
|
|
it also costs some money. Namely I have to pay for the server and domain, and
|
|
do occasional hardware upgrades footnote:[It turned out a 160 GB SSD is rather
|
|
small - the VMs and custom Qt builds I use for testing/developing qutebrowser
|
|
need about 100 GB of space].
|
|
|
|
If you want to give me a beer or a pizza back, I'm trying to make it as easy as
|
|
possible for you to do so. If some other way would be easier for you, please
|
|
get in touch!
|
|
|
|
* PayPal: me@the-compiler.org
|
|
* Bitcoin: link:bitcoin:1PMzbcetAHfpxoXww8Bj5XqquHtVvMjJtE[1PMzbcetAHfpxoXww8Bj5XqquHtVvMjJtE]
|
|
|
|
Authors
|
|
-------
|
|
|
|
Contributors, sorted by the number of commits in descending order:
|
|
|
|
// QUTE_AUTHORS_START
|
|
* Florian Bruhin
|
|
* Claude
|
|
* Peter Vilim
|
|
// QUTE_AUTHORS_END
|
|
|
|
Thanks / Similiar projects
|
|
--------------------------
|
|
|
|
Many projects with a similiar goal as qutebrowser exist:
|
|
|
|
* http://portix.bitbucket.org/dwb/[dwb] (C, GTK+ with WebKit1, currently
|
|
http://www.reddit.com/r/linux/comments/2huqbc/dwb_abandoned/[unmaintained] -
|
|
main inspiration for qutebrowser)
|
|
* https://github.com/fanglingsu/vimb[vimb] (C, GTK+ with WebKit1, active)
|
|
* http://sourceforge.net/p/vimprobable/wiki/Home/[vimprobable] (C, GTK+ with
|
|
WebKit1, active)
|
|
* http://surf.suckless.org/[surf] (C, GTK+ with WebKit1, active)
|
|
* https://mason-larobina.github.io/luakit/[luakit] (C/Lua, GTK+ with
|
|
WebKit1, not very active)
|
|
* http://pwmt.org/projects/jumanji/[jumanji] (C, GTK+ with WebKit1, not very
|
|
active)
|
|
* http://www.uzbl.org/[uzbl] (C, GTK+ with WebKit1/WebKit2, active)
|
|
* http://conkeror.org/[conkeror] (Javascript, Emacs-like, XULRunner/Gecko,
|
|
active)
|
|
* https://github.com/AeroNotix/lispkit[lispkit] (quite new, lisp, GTK+ with
|
|
WebKit, active)
|
|
* http://www.vimperator.org/[Vimperator] (Firefox addon)
|
|
* http://5digits.org/pentadactyl/[Pentadactyl] (Firefox addon)
|
|
* https://github.com/akhodakivskiy/VimFx[VimFx] (Firefox addon)
|
|
* http://vimium.github.io/[vimium] (Chrome/Chromium addon)
|
|
|
|
Most of them were inspirations for qutebrowser in some way, thanks for that!
|
|
|
|
Thanks as well to the following projects and people for helping me with
|
|
problems and helpful hints:
|
|
|
|
* http://eric-ide.python-projects.org/[eric5] / Detlev Offenbach
|
|
* https://code.google.com/p/devicenzo/[devicenzo]
|
|
* portix
|
|
* seir
|
|
* nitroxleecher
|
|
|
|
Also, thanks to:
|
|
|
|
* Everyone who had the patience to test qutebrowser before v0.1.
|
|
* Everyone triaging/fixing my bugs in the
|
|
https://bugreports.qt-project.org/secure/Dashboard.jspa[Qt bugtracker]
|
|
* Everyone answering my questions on http://stackoverflow.com/[Stack Overflow]
|
|
and in IRC.
|
|
* All the projects which were a great help while developing qutebrowser.
|
|
|
|
License
|
|
-------
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|