Conkeror


Conkeror is a Mozilla-based web browser designed to be navigated primarily by a computer keyboard. Its design is mainly patterned after the text editor GNU Emacs, with some influence from other programs, including vi.
It was originally written by Shawn Betts, the primary author of keyboard-driven ratpoison and Stumpwm tiling window managers. Formerly an extension for the Mozilla Firefox browser, it is now developed for XULRunner as a stand-alone application. Since Firefox 52 ESR, when the last official Mozilla browser that supported XULRunner reached end-of-life, there is no officially-supported browser from Mozilla for Conkeror to be based on. Firefox forks like Pale Moon and Waterfox continue to bundle XULRunner and can be used to run Conkeror.
Conkeror is released under the same set of free software licenses as Mozilla: the GNU General Public License, the GNU Lesser General Public License, and the Mozilla Public License.

Browsing

Conkeror emphasizes Emacs-derived key bindings and keyboard-based browser navigation. By pressing a key, Conkeror brings up a small, numbered label beside every element within the current view on the page that can be clicked. The user can type the number of the link and ENTER to follow the link, or type the link name to narrow down the choices; when the part of the name already typed uniquely identifies a link, it becomes numbered one, highlighted green, and then hitting Enter will follow it.
Conkeror has a large number of standard key bindings, and more can be added. The following are some example default key bindings:
Key bindingAction
gsearch/go to URL
ffollow link
C-x kkill current buffer
C-h iConkeror User Manual
C-h bComplete list of key bindings
C-ssearch text forward

Like Emacs, Conkeror makes use of buffers in order to allow multiple pages to remain open at the same time. Users can open new buffers and navigate through them using key bindings. For example, C-u C-f opens a hyperlink in a new buffer, C-u C-g goes to a URL or search term in a new buffer, and C-u C-h i opens the start page in a new buffer. Buffers can be cycled through using M-n to go to the next buffer or M-p to go to the previous one. C-x b displays a list of the currently open buffers from which the user can choose a buffer using the up and down arrows.

Customization

The Conkeror browser can be customized in many ways using JavaScript as the scripting language, much in the way that Emacs uses Emacs Lisp. Customizations can be as simple as rebinding keys, but can be more involved; for instance, writing new interactive commands. By default, Conkeror looks for these customizations in ~/.conkerorrc. If ~/.conkerorrc/ is a directory instead of a file, then all the contained files will be read, which is a technique to enable modularization of bigger customizations.
Conkeror also ships with a number of loadable JavaScript modules, some of which provide core functionality; others are user-loadable and provide additional functionality.
Conkeror has modes in which the key bindings, page display or browser behaviour become uri-specific. Some modes, like xkcd-mode, come by default. In xkcd-mode, the message which is normally displayed when the user mouses over the comic strip is instead displayed in a special font below the strip. Other modes include those for Google Maps, Reddit and YouTube, and modes can be user-defined as well.

Name

The name of the browser is pronounced identically to that of the Konqueror web browser from the KDE suite of desktop software, although according to the Conkeror FAQ, "the full name of the browser in spoken English is 'Conkeror to avoid confusion.
Also according to the FAQ, the name derives from the name given to the winner of a game of conkers, a children's game involving horse chestnuts on a string, as well as from a brand of beer also called Conkeror.