parkouss / webmacs

webmacs - keyboard driven (emacs key bindings) browser, https://webmacs.readthedocs.io/en/latest/
GNU General Public License v3.0
156 stars 21 forks source link
emacs web-browser

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 [[http://conkeror.org/][conkeror]].

See the documentation manual: https://webmacs.readthedocs.io/en/latest/

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

+html:

Short list of features:

** Using Nix

See the [[./.README-nix.org][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):

+BEGIN_SRC bash

git clone --recursive https://github.com/parkouss/webmacs

+END_SRC

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

+BEGIN_SRC bash

virtualenv --system-site-packages -p python3 venv

activate the virtualenv

source venv/bin/activate

install webmacs in there

pip install -e

and now to run webmacs

python -m webmacs.main

+END_SRC

Then you can create a system alias to run it:

+BEGIN_SRC bash

sudo ln -s /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.

+END_SRC

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

+BEGIN_SRC bash

install test dependencies

pip install -r /test-requirements.txt

also install the herbstluftwm window manager, using your package manager.

Example on fedora:

sudo dnf install herbstluftwm

+END_SRC

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

+BEGIN_SRC bash

python -m pytest /tests

you can run them with the windows visible:

python -m pytest /tests --no-xvfb

+END_SRC

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!