All Projects → parkouss → Webmacs

parkouss / Webmacs

Licence: gpl-3.0
webmacs - keyboard driven (emacs key bindings) browser, https://webmacs.readthedocs.io/en/latest/

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Webmacs

Nyxt
Nyxt - the hacker's power-browser.
Stars: ✭ 7,038 (+4753.79%)
Mutual labels:  emacs, web-browser
Hledger Mode
An Emacs major mode for Hledger
Stars: ✭ 142 (-2.07%)
Mutual labels:  emacs
Vscode Emacs Mcx
Awesome Emacs Keymap - VSCode emacs keybinding with multi cursor support
Stars: ✭ 135 (-6.9%)
Mutual labels:  emacs
Tron Legacy Emacs Theme
Original retro-futuristic theme inspired by Tron: Legacy
Stars: ✭ 139 (-4.14%)
Mutual labels:  emacs
Waterfox
The official Waterfox 💧 source code repository
Stars: ✭ 2,101 (+1348.97%)
Mutual labels:  web-browser
Emacs Cl
Common Lisp implemented in Emacs Lisp.
Stars: ✭ 140 (-3.45%)
Mutual labels:  emacs
Nix Doom Emacs
doom-emacs packaged for Nix
Stars: ✭ 132 (-8.97%)
Mutual labels:  emacs
Mu4e Alert
Desktop notifications and modeline display for mu4e
Stars: ✭ 143 (-1.38%)
Mutual labels:  emacs
Pipenv.el
A Pipenv porcelain inside Emacs.
Stars: ✭ 141 (-2.76%)
Mutual labels:  emacs
Surfingkeys Conf
A SurfingKeys configuration which adds 130+ key mappings for 20+ sites & OmniBar search suggestions for 50+ sites
Stars: ✭ 137 (-5.52%)
Mutual labels:  web-browser
Elpa
Emacs China ELPA 镜像
Stars: ✭ 137 (-5.52%)
Mutual labels:  emacs
Flyspell Correct
Distraction-free words correction with flyspell via selected interface.
Stars: ✭ 136 (-6.21%)
Mutual labels:  emacs
Org Graph View
View Org buffers as a clickable, graphical mind-map
Stars: ✭ 141 (-2.76%)
Mutual labels:  emacs
Magic Latex Buffer
Magical syntax highlighting for LaTeX-mode buffers
Stars: ✭ 135 (-6.9%)
Mutual labels:  emacs
Org Mode Workshop
Workshop for Org-mode with focus on todo-, project- and workflow-management
Stars: ✭ 141 (-2.76%)
Mutual labels:  emacs
Emacs Powerthesaurus
Powerthesaurus integration for Emacs
Stars: ✭ 132 (-8.97%)
Mutual labels:  emacs
Nix Mode
An Emacs major mode for editing Nix expressions.
Stars: ✭ 137 (-5.52%)
Mutual labels:  emacs
Evil Easymotion
⏩ A port of vim easymotion to Emacs' evil-mode
Stars: ✭ 140 (-3.45%)
Mutual labels:  emacs
Dots
💾 — Dumb & Opinionated Configurations
Stars: ✭ 144 (-0.69%)
Mutual labels:  emacs
Monky
Magit for Hg
Stars: ✭ 142 (-2.07%)
Mutual labels:  emacs
  • webmacs

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:

  • Features

Short list of features:

  • keyboard navigation everywhere (including basic emacs movements in editable web content)
  • Integrated, fast ad-blocker
  • [[https://webmacs.readthedocs.io/en/latest/basic_usage.html#live-documentation][live documentation]]
  • [[https://webmacs.readthedocs.io/en/latest/user_configuration.html][highly customizable using Python]]
  • Installation (... and development)

There are two recommended ways of installing webmacs:

  1. Nix
  2. pip/virtualenv

** Nix

Currently, the easiest way to install webmacs is via the [[https://nixos.org/nix/][Nix package manager]]:

#+BEGIN_SRC bash nix-env -i webmacs #+END_SRC

*** Need more help with nix?

Nix is available for Linux, macOS and other Unix-like systems. Rest assured that removing Nix (along with any packages installed using Nix) is as easy as =rm /nix -rf=.

If you do not have Nix, install it. For details see https://nixos.org/nix/manual/#chap-installation, but this step approximates to

#+BEGIN_SRC bash bash <(curl https://nixos.org/nix/install) #+END_SRC

and will require you to provide a sudo password.

Look out for, and follow the instructions which will appear once nix is installed, and which will look something like this:

#+BEGIN_SRC text Installation finished! To ensure that the necessary environment variables are set, either log in again, or type

. /home/yourusername/.nix-profile/etc/profile.d/nix.sh

in your shell. #+END_SRC

If you don't spot this, the installation will appear to have failed.

Now you can use =nix-env= to install webmacs:

#+BEGIN_SRC bash nix-env -i webmacs #+END_SRC

For further details, see https://nixos.org/nix/manual/#chap-quick-start.

*** working on webmacs with nix

The command

#+BEGIN_SRC bash nix-shell -p webmacs #+END_SRC

will drop you into a shell which makes available all the compilers and libraries required to build and run webmacs, thus =nix-shell= plays the role of =virtualenv= in the pip/virtualenv approach described below. Unfortunately, some of the libraries required to run the tests, are not yet available in this shell.

** pip/virtualenv

If you do not want to or cannot use nix, then use 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 PyQt5 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 <path_to_webmacs_sources>

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 <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.

#+END_SRC

  • Running tests

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 <path_to_webmacs_sources>/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 py.test <path_to_webmacs_sources>/tests

you can run them with the windows visible:

py.test <path_to_webmacs_sources>/tests --no-xvfb #+END_SRC

  • Qt versions support

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

Note that there are some known limitations:

  • spell checking only works with Qt >= 5.8
  • support for iframes is broken with Qt < 5.10 (webcontent-edit mode is unreachable)
  • dev tools only works with Qt >= 5.11
  • Contributions

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!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].