Diane Murray

Web within Emacs

Web within Emacs (WwE) is a web browser add-on for GNU Emacs written in Emacs Lisp. It has many features, and the most important one is that you're browsing the Web inside of Emacs.

Screenshot of the GNU Emacs homepage of July 2021 in WwE

Features

  • Retrieval, history, cookies, cache functionality provided by URL library
  • Separate, reusable buffers including buffer history
  • Hooks for extensibility
  • Many faces, reader view for readability
  • Images on demand
  • Navigable sections
  • Textarea form fields editable in separate buffers
  • Accesskeys, aria-hidden support for accessibility

How to get it

It hasn't been released yet, but you can get the latest development version (v0.1) of WwE by downloading the files from the git repository.

git clone https://disumu.dev/git/wwe.git

To install, copy the files to ~/.elisp/wwe/ for example.

Then byte-compile the files in Emacs using

  • M-x byte-compile-file RET ~/.elisp/wwe/wwe.el
  • M-x byte-compile-file RET ~/.elisp/wwe/wwe-render.el
  • M-x byte-compile-file RET ~/.elisp/wwe/wwe-forms.el

Add the directory to your load-path, and load the wwe library. Put the following in your ~/.emacs file.

(add-to-list 'load-path "~/.elisp/wwe/")
(require 'wwe)

How to use it

Type M-x wwe RET and enter a URL at the prompt. The browser switches to the web page buffer when it's ready. Cycle through link buttons with TAB and <backtab>. Press <mouse-2> or RET with point on a link to follow links. To view an image in the web page, type i with point on the image's alt text.

Add a prefix-argument like C-u before retrieval commands to save the page without displaying it.

See the user manual for detailed instructions and help.

History

At the end of 2004 I was making a quick web search utility which needed to render the HTML results. What started out as a small HTML renderer inevitably turned into a big web browser project.

WwE's development began at a time when there was no web browser included with Emacs. The first browser, w3, from which Emacs's URL retrieval library came, wasn't under maintenance. emacs-w3m required the external program w3m. Since Emacs 24.4 EWW is the default web browser in Emacs. Web within Emacs is now another option.