105c25bc5f
Conflicts: qutebrowser/app.py qutebrowser/browser/commands.py qutebrowser/browser/hints.py qutebrowser/keyinput/modeman.py qutebrowser/network/networkmanager.py qutebrowser/widgets/mainwindow.py qutebrowser/widgets/statusbar/command.py qutebrowser/widgets/statusbar/prompt.py qutebrowser/widgets/statusbar/prompter.py qutebrowser/widgets/tabbedbrowser.py |
||
---|---|---|
contrib/apparmor | ||
doc | ||
pkg | ||
qutebrowser | ||
scripts | ||
.flake8 | ||
.gitignore | ||
.pylintrc | ||
.run_checks | ||
COPYING | ||
MANIFEST.in | ||
qutebrowser.py | ||
README.asciidoc | ||
setup.py |
// 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 // 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/>.