Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


webmacs is yet another browser for keyboard-based web navigation.

It mainly target emacs-like navigation, and started as a clone (in terms of features) of conkeror.

See the documentation manual:

webmacs is based on qt webengine and written mainly in Python (version 3).


Short list of features:

Installation (… and development)

Using Nix

See the dedicated page.

Using pip/virtualenv

Be prepared to have a working c and c++ compiler with python development library. Note I only have tested on linux.

You will also need the PyQt6 library, as I believe it can’t be installed through pip. It’s easy to install using any package manager though.

Then you have to check out the repository (do not forget the recursive flag):

git clone --recursive

To test it, or work on it, I recommend virtualenv:

virtualenv --system-site-packages -p python3 venv
# activate the virtualenv
source venv/bin/activate
# install webmacs in there
pip install -e <path_to_webmacs_sources>
# and now to run webmacs
python -m webmacs.main

Then you can create a system alias to run it:

sudo ln -s <path_to_venv>/bin/webmacs /usr/local/bin/webmacs
# now you can use the webmacs command on your system, given that
# /usr/local/bin is in your PATH.

Running tests

To run the tests, you will need a few more dependencies (the virtualenv needs to be activated):

# install test dependencies
pip install -r <path_to_webmacs_sources>/test-requirements.txt
# also install the herbstluftwm window manager, using your package manager.
# Example on fedora:
sudo dnf install herbstluftwm

Then you can run the tests (the virtualenv needs to be activated):

python -m pytest <path_to_webmacs_sources>/tests
# you can run them with the windows visible:
python -m pytest <path_to_webmacs_sources>/tests --no-xvfb

Qt versions support

Every stable Qt version from (and including) 6.0 should work with webmacs.


Contributions are much welcome! Writing this browser is exciting and I love that, though I don’t have many time to spend on it, having a family life and a job; And anyway the more we are to work on it and use the tool, the better!


webmacs - keyboard driven (emacs key bindings) browser,








No packages published