welcome: please sign in

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment
What program is the main source of Conkeror's design philosophy?

location: PageModes

1. Overview

Page modes, in the spirit of Emacs major modes and GreaseMonkey scripts, allow site-specific functionality to be implemented in Conkeror.

2. Loading, Activating, Deactivating

When we talk about page modes, there are three terms that we would do well not to confuse: loading, activating, and enabling.

Loading

Loading a page-mode means evaluating the module that contains a page-mode, usually by calling require on its file.

Activating

Activating a page-mode means calling page_mode_activate on a loaded page-mode, thus causing it to auto-enable when we visit a covered site. The opposite of activating is deactivating, which is calling page_mode_deactivate on a loaded page-mode to prevent it from auto-enabling.

Enabling
Enabling a page-mode is when you turn a page-mode on, to have an effect on the current buffer. Activated page-modes are enabled automatically when a covered page is visited.

Some page-modes are loaded by default, and some page-modes, when loaded, are auto-activated. To deactivate a loaded page-mode, call page_mode_deactivate on it, like this:

page_mode_deactivate(xkcd_mode);

To activate a loaded page-mode, call page_mode_activate on it, like this:

page_mode_activate(xkcd_mode);

To load a non-default page-mode, call require on its module name, like this:

require("duckduckgo");

To find out how to prevent a default page-mode from being loaded, see Modules.

3. Changing Coverage

It is not only possible, but easy, to change the coverage of a page-mode, for instance, to add a site to have it auto-enable for. The 'test' property of a page-mode is an array that can be pushed and popped to customize the coverage of the page-mode.

some_mode.test.push(build_url_regexp($domain = "example"));

4. Note About Key Bindings

Some page modes bind keys that override important Conkeror bindings like f and g. When such a page mode is in effect, you can still access shadowed bindings by using the prefix key C-z. For example, to call the follow command when gmail-mode is in effect, press C-z f.

5. Modes