1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-20 07:28:00 +01:00

And xulmus was born.

This commit is contained in:
Doug Kearns
2009-03-16 15:54:02 +11:00
parent 9f70457a4a
commit 80beaa41df
61 changed files with 7085 additions and 36 deletions

View File

@@ -11,6 +11,7 @@ for the specific language governing rights and limitations under the
License. License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net> Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Copyright (c) 2009 by Prathyush Thota <prathyush@sun.com>
Alternatively, the contents of this file may be used under the terms of Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or either the GNU General Public License Version 2 or later (the "GPL"), or

View File

@@ -1,5 +1,5 @@
DIRS = vimperator muttator DIRS = muttator vimperator xulmus
TARGETS = clean distclean doc help info jar release xpi TARGETS = clean distclean doc help info jar release xpi
.SILENT: .SILENT:

View File

@@ -9,7 +9,7 @@ LOCALEDIR = locale
DOC_SRC_FILES = $(wildcard $(LOCALEDIR)/*/*.txt) DOC_SRC_FILES = $(wildcard $(LOCALEDIR)/*/*.txt)
LOCALES = $(foreach locale,$(wildcard $(LOCALEDIR)/*),$(word 2,$(subst /, ,$(locale)))) LOCALES = $(foreach locale,$(wildcard $(LOCALEDIR)/*),$(word 2,$(subst /, ,$(locale))))
MAKE_JAR = VERSION="$(VERSION)" DATE="$(BUILD_DATE)" sh $(BASE)/make_jar.sh MAKE_JAR = VERSION="$(VERSION)" DATE="$(BUILD_DATE)" bash $(BASE)/make_jar.sh
# TODO: specify source files manually? # TODO: specify source files manually?
JAR_BASES = $(TOP) $(BASE) JAR_BASES = $(TOP) $(BASE)
@@ -45,7 +45,7 @@ TARGETS = all help info doc jar xpi install clean distclean $(JAR)
$(TARGETS:%=\%.%): $(TARGETS:%=\%.%):
echo MAKE $* $(@:$*.%=%) echo MAKE $* $(@:$*.%=%)
$(MAKE) -C $* $(@:$*.%=%) $(MAKE) -C $* $(@:$*.%=%)
echo $$SHELL
.PHONY: $(TARGETS) .PHONY: $(TARGETS)
all: help all: help

View File

@@ -42,8 +42,9 @@ function Buffer() //{{{
////////////////////// PRIVATE SECTION ///////////////////////////////////////// ////////////////////// PRIVATE SECTION /////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////{{{ /////////////////////////////////////////////////////////////////////////////{{{
// FIXME: This doesn't belong here. // FIXME: This doesn't belong here.
let mainWindowID = config.mainWindowID || "main-window"; let mainWindowID = config.mainWindowID || "mainplayer";
let fontSize = util.computedStyle(document.getElementById(mainWindowID)).fontSize; let fontSize = util.computedStyle(document.getElementById(mainWindowID)).fontSize;
styles.registerSheet("chrome://liberator/skin/liberator.css"); styles.registerSheet("chrome://liberator/skin/liberator.css");
@@ -214,7 +215,13 @@ function Buffer() //{{{
mappings.add(myModes, ["<C-c>"], mappings.add(myModes, ["<C-c>"],
"Stop loading", "Stop loading",
function () { window.BrowserStop(); }); function ()
{
if(config.name == "Xulmus")
getBrowser().mCurrentBrowser.stop();
else
window.BrowserStop();
});
// scrolling // scrolling
mappings.add(myModes, ["j", "<Down>", "<C-e>"], mappings.add(myModes, ["j", "<Down>", "<C-e>"],
@@ -596,7 +603,13 @@ function Buffer() //{{{
commands.add(["st[op]"], commands.add(["st[op]"],
"Stop loading", "Stop loading",
function () { window.BrowserStop(); }, function ()
{
if(config.name == "Xulmus")
getBrowser().mCurrentBrowser.stop();
else
window.BrowserStop();
},
{ argCount: "0" }); { argCount: "0" });
commands.add(["vie[wsource]"], commands.add(["vie[wsource]"],

View File

@@ -1381,6 +1381,16 @@ function Completion() //{{{
completion.urls(context, tags); completion.urls(context, tags);
}, },
songCompletion: function songCompletion(context, args)
{
if (args.completeArg == 0)
context.completions = getArtists();
else if (args.completeArg == 1)
context.completions = getAlbums(args[0]);
else if (args.completeArg == 2)
context.completions = getTracks(args[0],args[1]);
},
buffer: function buffer(context) buffer: function buffer(context)
{ {
filter = context.filter.toLowerCase(); filter = context.filter.toLowerCase();

View File

@@ -628,7 +628,7 @@ function Events() //{{{
// return true when load successful, or false otherwise // return true when load successful, or false otherwise
function waitForPageLoaded() events.waitForPageLoad(); function waitForPageLoaded() events.waitForPageLoad();
// load all macros inside ~/.vimperator/macros/ // load all macros inside ~/.xulmus/macros/
// setTimeout needed since io. is loaded after events. // setTimeout needed since io. is loaded after events.
setTimeout(function () { setTimeout(function () {
try try
@@ -678,16 +678,16 @@ function Events() //{{{
function () { events.onEscape(); }); function () { events.onEscape(); });
// add the ":" mapping in all but insert mode mappings // add the ":" mapping in all but insert mode mappings
mappings.add([modes.NORMAL, modes.VISUAL, modes.HINTS, modes.MESSAGE, modes.COMPOSE, modes.CARET, modes.TEXTAREA], mappings.add([modes.NORMAL, modes.PLAYER, modes.VISUAL, modes.HINTS, modes.MESSAGE, modes.COMPOSE, modes.CARET, modes.TEXTAREA],
[":"], "Enter command line mode", [":"], "Enter command line mode",
function () { commandline.open(":", "", modes.EX); }); function () { commandline.open(":", "", modes.EX); });
// focus events // focus events
mappings.add([modes.NORMAL, modes.VISUAL, modes.CARET], mappings.add([modes.NORMAL, modes.PLAYER, modes.VISUAL, modes.CARET],
["<Tab>"], "Advance keyboard focus", ["<Tab>"], "Advance keyboard focus",
function () { document.commandDispatcher.advanceFocus(); }); function () { document.commandDispatcher.advanceFocus(); });
mappings.add([modes.NORMAL, modes.VISUAL, modes.CARET, modes.INSERT, modes.TEXTAREA], mappings.add([modes.NORMAL, modes.PLAYER,modes.VISUAL, modes.CARET, modes.INSERT, modes.TEXTAREA],
["<S-Tab>"], "Rewind keyboard focus", ["<S-Tab>"], "Rewind keyboard focus",
function () { document.commandDispatcher.rewindFocus(); }); function () { document.commandDispatcher.rewindFocus(); });
@@ -704,12 +704,12 @@ function Events() //{{{
function () { return; }); function () { return; });
// macros // macros
mappings.add([modes.NORMAL, modes.MESSAGE], mappings.add([modes.NORMAL, modes.PLAYER, modes.MESSAGE],
["q"], "Record a key sequence into a macro", ["q"], "Record a key sequence into a macro",
function (arg) { events.startRecording(arg); }, function (arg) { events.startRecording(arg); },
{ flags: Mappings.flags.ARGUMENT }); { flags: Mappings.flags.ARGUMENT });
mappings.add([modes.NORMAL, modes.MESSAGE], mappings.add([modes.NORMAL, modes.PLAYER, modes.MESSAGE],
["@"], "Play a macro", ["@"], "Play a macro",
function (count, arg) function (count, arg)
{ {
@@ -1037,8 +1037,8 @@ function Events() //{{{
// (i.e., cntrl codes 27--31) // (i.e., cntrl codes 27--31)
// --- // ---
// For more information, see: // For more information, see:
// [*] Vimp FAQ: http://vimperator.org/trac/wiki/Vimperator/FAQ#WhydoesntC-workforEscMacOSX // [*] Vimp FAQ: http://xulmus.org/trac/wiki/Xulmus/FAQ#WhydoesntC-workforEscMacOSX
// [*] Referenced mailing list msg: http://www.mozdev.org/pipermail/vimperator/2008-May/001548.html // [*] Referenced mailing list msg: http://www.mozdev.org/pipermail/xulmus/2008-May/001548.html
// [*] Mozilla bug 416227: event.charCode in keypress handler has unexpected values on Mac for Ctrl with chars in "[ ] _ \" // [*] Mozilla bug 416227: event.charCode in keypress handler has unexpected values on Mac for Ctrl with chars in "[ ] _ \"
// https://bugzilla.mozilla.org/show_bug.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&id=416227 // https://bugzilla.mozilla.org/show_bug.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&id=416227
// [*] Mozilla bug 432951: Ctrl+'foo' doesn't seem same charCode as Meta+'foo' on Cocoa // [*] Mozilla bug 432951: Ctrl+'foo' doesn't seem same charCode as Meta+'foo' on Cocoa
@@ -1226,6 +1226,21 @@ function Events() //{{{
} }
} }
if(config.name == "Xulmus")
{
// Switch to -- PLAYER -- mode for Songbird Media Player.
if(config.isPlayerWindow)
{
liberator.mode = modes.PLAYER;
}
else
{
liberator.mode = modes.NORMAL;
}
return;
}
urlbar = document.getElementById("urlbar"); urlbar = document.getElementById("urlbar");
if (elem == null && urlbar && urlbar.inputField == lastFocus) if (elem == null && urlbar && urlbar.inputField == lastFocus)
liberator.threadYield(true); liberator.threadYield(true);
@@ -1421,8 +1436,8 @@ function Events() //{{{
// XXX: ugly hack for now pass certain keys to Firefox as they are without beeping // XXX: ugly hack for now pass certain keys to Firefox as they are without beeping
// also fixes key navigation in combo boxes, submitting forms, etc. // also fixes key navigation in combo boxes, submitting forms, etc.
// FIXME: breaks iabbr for now --mst // FIXME: breaks iabbr for now --mst
if ((config.name == "Vimperator" && liberator.mode == modes.NORMAL) if (((config.name == "Xulmus" || config.name == "Vimperator") && liberator.mode == modes.NORMAL || liberator.mode == modes.INSERT))
|| liberator.mode == modes.INSERT)
{ {
if (key == "<Return>") if (key == "<Return>")
return false; return false;

View File

@@ -26,6 +26,7 @@ the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL. the terms of any one of the MPL, the GPL or the LGPL.
}}} ***** END LICENSE BLOCK *****/ }}} ***** END LICENSE BLOCK *****/
/** @scope modules */ /** @scope modules */
Cu.import("resource://gre/modules/XPCOMUtils.jsm", modules); Cu.import("resource://gre/modules/XPCOMUtils.jsm", modules);
@@ -70,7 +71,7 @@ const liberator = (function () //{{{
let nError = 0; let nError = 0;
function loadModule(name, func) function loadModule(name, func)
{ {
let message = "Loading module " + name + "..."; let message = "Loading module " + name + "...";
try try
{ {
liberator.log(message, 0); liberator.log(message, 0);
@@ -81,7 +82,10 @@ const liberator = (function () //{{{
catch (e) catch (e)
{ {
if (nError++ == 0) if (nError++ == 0)
window.toJavaScriptConsole(); liberator.dump("Error loading module - "+ name + "..");
liberator.dump(e);
liberator.dump(e.stack);
window.toJavaScriptConsole();
liberator.reportError(e); liberator.reportError(e);
} }
} }
@@ -1215,8 +1219,6 @@ const liberator = (function () //{{{
startup: function () startup: function ()
{ {
let start = Date.now(); let start = Date.now();
liberator.log("Initializing liberator object...", 0);
config.features = config.features || []; config.features = config.features || [];
config.features.push(getPlatformFeature()); config.features.push(getPlatformFeature());
config.defaults = config.defaults || {}; config.defaults = config.defaults || {};
@@ -1225,7 +1227,7 @@ const liberator = (function () //{{{
config.mailModes = config.mailModes || [modes.NORMAL]; config.mailModes = config.mailModes || [modes.NORMAL];
// TODO: suitable defaults? // TODO: suitable defaults?
//config.mainWidget //config.mainWidget
//config.mainWindowID //config.mainWindowID
//config.visualbellWindow //config.visualbellWindow
//config.styleableChrome //config.styleableChrome
config.autocommands = config.autocommands || []; config.autocommands = config.autocommands || [];

View File

@@ -269,6 +269,7 @@ const modes = (function () //{{{
self.addMode("MESSAGE"); // for now only used in Muttator when the message has focus self.addMode("MESSAGE"); // for now only used in Muttator when the message has focus
self.addMode("COMPOSE"); self.addMode("COMPOSE");
self.addMode("CUSTOM", false, function () plugins.mode); self.addMode("CUSTOM", false, function () plugins.mode);
self.addMode("PLAYER"); // Player mode for songbird
// extended modes, can include multiple modes, and even main modes // extended modes, can include multiple modes, and even main modes
self.addMode("EX", true); self.addMode("EX", true);
self.addMode("HINTS", true); self.addMode("HINTS", true);

View File

@@ -48,6 +48,7 @@ function Services()
self.add("appStartup", "@mozilla.org/toolkit/app-startup;1", Ci.nsIAppStartup); self.add("appStartup", "@mozilla.org/toolkit/app-startup;1", Ci.nsIAppStartup);
self.add("autoCompleteSearch", "@mozilla.org/browser/global-history;2", Ci.nsIAutoCompleteSearch); self.add("autoCompleteSearch", "@mozilla.org/browser/global-history;2", Ci.nsIAutoCompleteSearch);
//self.add("autoCompleteSearch", "@mozilla.org/autocomplete/search;1?name=songbird-autocomplete", Ci.nsIAutoCompleteSearch);
self.add("browserSearch", "@mozilla.org/browser/search-service;1", Ci.nsIBrowserSearchService); self.add("browserSearch", "@mozilla.org/browser/search-service;1", Ci.nsIBrowserSearchService);
self.add("cache", "@mozilla.org/network/cache-service;1", Ci.nsICacheService); self.add("cache", "@mozilla.org/network/cache-service;1", Ci.nsICacheService);
self.add("console", "@mozilla.org/consoleservice;1", Ci.nsIConsoleService); self.add("console", "@mozilla.org/consoleservice;1", Ci.nsIConsoleService);
@@ -64,7 +65,8 @@ function Services()
self.add("threadManager", "@mozilla.org/thread-manager;1", Ci.nsIThreadManager); self.add("threadManager", "@mozilla.org/thread-manager;1", Ci.nsIThreadManager);
self.add("windowMediator", "@mozilla.org/appshell/window-mediator;1", Ci.nsIWindowMediator); self.add("windowMediator", "@mozilla.org/appshell/window-mediator;1", Ci.nsIWindowMediator);
self.add("windowWatcher", "@mozilla.org/embedcomp/window-watcher;1", Ci.nsIWindowWatcher); self.add("windowWatcher", "@mozilla.org/embedcomp/window-watcher;1", Ci.nsIWindowWatcher);
self.add("bookmarks", "@mozilla.org/browser/nav-bookmarks-service;1", Ci.nsINavBookmarksService);
self.addClass("file", "@mozilla.org/file/local;1", Ci.nsILocalFile); self.addClass("file", "@mozilla.org/file/local;1", Ci.nsILocalFile);
self.addClass("find", "@mozilla.org/embedcomp/rangefind;1", Ci.nsIFind); self.addClass("find", "@mozilla.org/embedcomp/rangefind;1", Ci.nsIFind);
self.addClass("process", "@mozilla.org/process/util;1", Ci.nsIProcess); self.addClass("process", "@mozilla.org/process/util;1", Ci.nsIProcess);

View File

@@ -109,7 +109,10 @@ function Tabs() //{{{
// hide tabs initially // hide tabs initially
if (config.name == "Vimperator") if (config.name == "Vimperator")
getBrowser().mStrip.getElementsByClassName("tabbrowser-tabs")[0].collapsed = true; getBrowser().mStrip.getElementsByClassName("tabbrowser-tabs")[0].collapsed = true;
/*
if (config.name == "Xulmus")
getBrowser()._strip.getElementsByClassName(
*/
/////////////////////////////////////////////////////////////////////////////}}} /////////////////////////////////////////////////////////////////////////////}}}
////////////////////// OPTIONS ///////////////////////////////////////////////// ////////////////////// OPTIONS /////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////{{{ /////////////////////////////////////////////////////////////////////////////{{{
@@ -148,7 +151,7 @@ function Tabs() //{{{
validator: Option.validateCompleter validator: Option.validateCompleter
}); });
if (config.name == "Vimperator") if (config.name == "Vimperator" || config.name == "Xulmus" )
{ {
options.add(["activate", "act"], options.add(["activate", "act"],
"Define when tabs are automatically activated", "Define when tabs are automatically activated",
@@ -238,7 +241,7 @@ function Tabs() //{{{
function (count) { tabs.select("-" + (count < 1 ? 1 : count), true); }, function (count) { tabs.select("-" + (count < 1 ? 1 : count), true); },
{ flags: Mappings.flags.COUNT }); { flags: Mappings.flags.COUNT });
if (config.name == "Vimperator") if (config.name == "Vimperator" || config.name == "Xulmus")
{ {
mappings.add([modes.NORMAL], ["b"], mappings.add([modes.NORMAL], ["b"],
"Open a prompt to switch buffers", "Open a prompt to switch buffers",
@@ -449,7 +452,7 @@ function Tabs() //{{{
function () { tabs.select(0, false); }, function () { tabs.select(0, false); },
{ argCount: "0" }); { argCount: "0" });
if (config.name == "Vimperator") if (config.name == "Vimperator" || config.name == "Xulmus")
{ {
// TODO: "Zero count" if 0 specified as arg, multiple args and count ranges? // TODO: "Zero count" if 0 specified as arg, multiple args and count ranges?
commands.add(["b[uffer]"], commands.add(["b[uffer]"],
@@ -584,7 +587,7 @@ function Tabs() //{{{
}); });
} }
if (liberator.has("session")) if (liberator.has("session") && config.name != "Xulmus")
{ {
// TODO: extract common functionality of "undoall" // TODO: extract common functionality of "undoall"
commands.add(["u[ndo]"], commands.add(["u[ndo]"],
@@ -780,6 +783,22 @@ function Tabs() //{{{
getBrowser().removeTab(tab); getBrowser().removeTab(tab);
else else
liberator.beep(); liberator.beep();
},
Songbird: function (tab)
{
if (getBrowser().mTabs.length > 1)
getBrowser().removeTab(tab);
else
{
if (buffer.URL != "about:blank" ||
window.getWebNavigation().sessionHistory.count > 0)
{
liberator.open("about:blank", liberator.NEW_BACKGROUND_TAB);
getBrowser().removeTab(tab);
}
else
liberator.beep();
}
} }
}[config.hostApplication] || function () {}; }[config.hostApplication] || function () {};

View File

@@ -568,7 +568,7 @@ function CommandLine() //{{{
var startHints = false; // whether we're waiting to start hints mode var startHints = false; // whether we're waiting to start hints mode
var lastSubstring = ""; var lastSubstring = "";
// the containing box for the promptWidget and commandWidget // the containing box for the promptWidget and commandWidget
const commandlineWidget = document.getElementById("liberator-commandline"); const commandlineWidget = document.getElementById("liberator-commandline");
// the prompt for the current command, for example : or /. Can be blank // the prompt for the current command, for example : or /. Can be blank
@@ -577,7 +577,7 @@ function CommandLine() //{{{
const commandWidget = document.getElementById("liberator-commandline-command"); const commandWidget = document.getElementById("liberator-commandline-command");
const messageBox = document.getElementById("liberator-message"); const messageBox = document.getElementById("liberator-message");
commandWidget.inputField.QueryInterface(Ci.nsIDOMNSEditableElement); commandWidget.inputField.QueryInterface(Ci.nsIDOMNSEditableElement);
messageBox.inputField.QueryInterface(Ci.nsIDOMNSEditableElement); messageBox.inputField.QueryInterface(Ci.nsIDOMNSEditableElement);

View File

@@ -170,7 +170,7 @@ const util = { //{{{
*/ */
computedStyle: function computedStyle(node) computedStyle: function computedStyle(node)
{ {
while (node instanceof Text && node.parentNode) while (node instanceof Text && node.parentNode)
node = node.parentNode; node = node.parentNode;
return node.ownerDocument.defaultView.getComputedStyle(node, null); return node.ownerDocument.defaultView.getComputedStyle(node, null);
}, },

View File

@@ -1,6 +1,7 @@
#!/bin/dash #!/bin/dash
set -e set -e
top=$(pwd) top=$(pwd)
jar=$1 jar=$1
bases=$2 bases=$2
@@ -14,7 +15,7 @@ stage="$top/${jar%.*}"
mkdir -p $stage mkdir -p $stage
getfiles () { getfiles () {
filter="\.($(echo $1 | tr ' ' '|'))$"; shift filter="\.($(echo $1 | tr ' ' '|'))$"; shift
find "$@" -not -path '*CVS*' 2>/dev/null | grep -E "$filter" || true find "$@" -not -path '*CVS*' 2>/dev/null | grep -E "$filter" || true
} }
copytext () { copytext () {
@@ -33,9 +34,9 @@ do
[ ${jar##*.} = jar ] && stage="$stage/${base##*/}" [ ${jar##*.} = jar ] && stage="$stage/${base##*/}"
for dir in $dirs for dir in $dirs
do do
for f in $(getfiles "$bin" "$dir") for f in $(getfiles "$bin" "$dir")
do do
mkdir -p "$stage/${f%/*}" mkdir -p "$stage/${f%/*}"
cp $f "$stage/$f" cp $f "$stage/$f"
done done
for f in $(getfiles "$text" "$dir") for f in $(getfiles "$text" "$dir")
@@ -51,6 +52,8 @@ do
) )
done done
(cd $stage; zip -r "$top/$jar" *) cd $stage
zip -r "$top/$jar" *
cd -
rm -rf "$stage" rm -rf "$stage"

View File

@@ -174,7 +174,9 @@ statusbarpanel {
} }
#liberator-completions-content *, #liberator-completions-content *,
#liberator-multiline-output-content * { #liberator-multiline-output-content *,
#liberator-commandline-prompt *,
#liberator-commandline-command {
font: inherit; font: inherit;
} }

9
xulmus/Makefile Executable file
View File

@@ -0,0 +1,9 @@
#### configuration
VERSION = 0.1
NAME = xulmus
include ../common/Makefile.common
foo:
echo $$SHELL

1
xulmus/NEWS Executable file
View File

@@ -0,0 +1 @@

24
xulmus/chrome.manifest Executable file
View File

@@ -0,0 +1,24 @@
# Songbird
content xulmus content/
skin xulmus classic/1.0 skin/
locale liberator en-US locale/en-US/
content liberator ../common/content/
resource liberator ../common/modules/
skin liberator classic/1.0 ../common/skin/
override chrome://liberator/content/liberator.dtd chrome://xulmus/content/liberator.dtd
override chrome://liberator/content/config.js chrome://xulmus/content/config.js
overlay chrome://songbird/content/xul/layoutBaseOverlay.xul chrome://xulmus/content/xulmus.xul
overlay chrome://songbird/content/xul/layoutBaseOverlay.xul chrome://liberator/content/liberator.xul
#overlay chrome://songbird/content/xul/layoutWithBrowserOverlay.xul chrome://xulmus/content/xulmus.xul
#overlay chrome://songbird/content/xul/layoutWithBrowserOverlay.xul chrome://liberator/content/liberator.xul
#overlay chrome://songbird/content/xul/layoutWithoutBrowserOverlay.xul chrome://xulmus/content/xulmus.xul
#overlay chrome://songbird/content/xul/layoutWithoutBrowserOverlay.xul chrome://liberator/content/liberator.xul
#overlay windowtype:Songbird:Main chrome://liberator/content/liberator.xul
#overlay windowtype:Songbird:Main chrome://xulmus/content/xulmus.xul

View File

@@ -0,0 +1,87 @@
/* Adds support for data: URIs with chrome privileges
* and fragment identifiers.
*
* "chrome-data:" <content-type> [; <flag>]* "," [<data>]
*
* By Kris Maglione, ideas from Ed Anuff's nsChromeExtensionHandler.
*
* Licenced under the MIT License, which allows for sublicensing
* under any compatible license, including the GNU GPL and the MPL.
*/
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
const NS_BINDING_ABORTED = 0x804b0002;
const nsIProtocolHandler = Components.interfaces.nsIProtocolHandler;
const ioService = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
let channel = Components.classesByID["{61ba33c0-3031-11d3-8cd0-0060b0fc14a3}"]
.getService(Components.interfaces.nsIProtocolHandler)
.newChannel(ioService.newURI("chrome://liberator/content/data", null, null))
.QueryInterface(Components.interfaces.nsIRequest);
const systemPrincipal = channel.owner;
channel.cancel(NS_BINDING_ABORTED);
delete channel;
var instance;
function ChromeData() {}
ChromeData.prototype = {
contractID: "@mozilla.org/network/protocol;1?name=chrome-data",
classID: Components.ID("{c1b67a07-18f7-4e13-b361-2edcc35a5a0d}"),
classDescription: "Data URIs with chrome privileges",
QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsIProtocolHandler]),
_xpcom_factory: {
createInstance: function (outer, iid)
{
if (!instance)
instance = new ChromeData();
if (outer != null)
throw Components.results.NS_ERROR_NO_AGGREGATION;
return instance.QueryInterface(iid);
}
},
scheme: "chrome-data",
defaultPort: -1,
allowPort: function (port, scheme) false,
protocolFlags: nsIProtocolHandler.URI_NORELATIVE
| nsIProtocolHandler.URI_NOAUTH
| nsIProtocolHandler.URI_IS_UI_RESOURCE,
newURI: function (spec, charset, baseURI)
{
var uri = Components.classes["@mozilla.org/network/standard-url;1"]
.createInstance(Components.interfaces.nsIStandardURL)
.QueryInterface(Components.interfaces.nsIURI);
uri.init(1, -1, spec, charset, null);
return uri;
},
newChannel: function (uri)
{
try
{
if (uri.scheme == this.scheme)
{
let newURI = ioService.newURI(uri.spec.replace(/^.*?:\/*(.*)(?:#.*)?/, "data:$1"), null, null);
let channel = ioService.newChannelFromURI(newURI);
channel.owner = systemPrincipal;
channel.originalURI = uri;
return channel;
}
}
catch (e) {}
throw Components.results.NS_ERROR_FAILURE;
}
};
var components = [ChromeData];
function NSGetModule(compMgr, fileSpec)
{
return XPCOMUtils.generateModule(components);
}
// vim: set fdm=marker sw=4 ts=4 et:

1146
xulmus/content/bookmarks.js Executable file

File diff suppressed because it is too large Load Diff

496
xulmus/content/config.js Executable file
View File

@@ -0,0 +1,496 @@
/***** BEGIN LICENSE BLOCK ***** {{{
Version: MPL 1.1/GPL 2.0/LGPL 2.1
The contents of this file are subject to the Mozilla Public License Version
1.1 (the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS" basis,
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
for the specific language governing rights and limitations under the
License.
Copyright (c) 2006-2009 by Martin Stubenschrott <stubenschrott@gmx.net>
Alternatively, the contents of this file may be used under the terms of
either the GNU General Public License Version 2 or later (the "GPL"), or
the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
in which case the provisions of the GPL or the LGPL are applicable instead
of those above. If you wish to allow use of your version of this file only
under the terms of either the GPL or the LGPL, and not to allow others to
use your version of this file under the terms of the MPL, indicate your
decision by deleting the provisions above and replace them with the notice
and other provisions required by the GPL or the LGPL. If you do not delete
the provisions above, a recipient may use your version of this file under
the terms of any one of the MPL, the GPL or the LGPL.
}}} ***** END LICENSE BLOCK *****/
const config = { //{{{
/*** required options, no checks done if they really exist, so be careful ***/
name: "Xulmus",
hostApplication: "Songbird",
//mainWindowID: "mainplayer",
/*** optional options, there are checked for existence and a fallback provided ***/
features: ["bookmarks", "hints", "marks","history", "quickmarks", "session", "tabs", "windows", "player"],
defaults: { guioptions: "rb" },
guioptions: {
m: ["Menubar", ["toolbar-menubar"]],
T: ["Toolbar", ["nav-bar"]],
B: ["Bookmark bar", ["PersonalToolbar"]]
},
//get visualbellWindow() getBrowser().mPanelContainer,
get isPlayerWindow() gBrowser.mCurrentTab._tPos == 0,
// focusContent() focuses this widget gSongbirdWindowController takes care of the focus.
get mainWindowID() "mainplayer",
get visualbellWindow() document.getElementById(this.mainWindowID),
styleableChrome: "chrome://songbird/content/xul/layoutBaseOverlay.xul",
autocommands: [["BookmarkAdd", "Triggered after a page is bookmarked"],
["ColorScheme", "Triggered after a color scheme has been loaded"],
["DOMLoad", "Triggered when a page's DOM content has fully loaded"],
["DownloadPost", "Triggered when a download has completed"],
["Fullscreen", "Triggered when the browser's fullscreen state changes"],
["LocationChange", "Triggered when changing tabs or when naviagtion to a new location"],
["PageLoadPre", "Triggered after a page load is initiated"],
["PageLoad", "Triggered when a page gets (re)loaded/opened"],
["ShellCmdPost", "Triggered after executing a shell command with :!cmd"],
["XulmusEnter", "Triggered after Xulmus starts"],
["XulmusLeavePre", "Triggered before exiting Xulmus, just before destroying each module"],
["XulmusLeave", "Triggered before exiting Xulmus"]],
dialogs: [
["about", "About Songbird",
function () { window.openDialog("chrome://browser/content/aboutDialog.xul", "_blank", "chrome,dialog,modal,centerscreen"); }],
["addbookmark", "Add bookmark for the current page",
function () { PlacesCommandHook.bookmarkCurrentPage(true, PlacesUtils.bookmarksRootId); }],
["addons", "Manage Add-ons",
function () { window.BrowserOpenAddonsMgr(); }],
["bookmarks", "List your bookmarks",
function () { window.openDialog("chrome://browser/content/bookmarks/bookmarksPanel.xul", "Bookmarks", "dialog,centerscreen,width=600,height=600"); }],
["checkupdates", "Check for updates",
function () { window.checkForUpdates(); }],
["cleardata", "Clear private data",
function () { Cc[GLUE_CID].getService(Ci.nsIBrowserGlue).sanitize(window || null); }],
["cookies", "List your cookies",
function () { window.toOpenWindowByType("Browser:Cookies", "chrome://browser/content/preferences/cookies.xul", "chrome,dialog=no,resizable"); }],
["console", "JavaScript console",
function () { window.toJavaScriptConsole(); }],
["customizetoolbar", "Customize the Toolbar",
function () { window.BrowserCustomizeToolbar(); }],
["dominspector", "DOM Inspector",
function () { try { window.inspectDOMDocument(content.document); } catch (e) { liberator.echoerr("DOM Inspector extension not installed"); } }],
["downloads", "Manage Downloads",
function () { window.toOpenWindowByType("Download:Manager", "chrome://mozapps/content/downloads/downloads.xul", "chrome,dialog=no,resizable"); }],
["history", "List your history",
function () { window.openDialog("chrome://browser/content/history/history-panel.xul", "History", "dialog,centerscreen,width=600,height=600"); }],
["import", "Import Preferences, Bookmarks, History, etc. from other browsers",
function () { window.BrowserImport(); }],
["openfile", "Open the file selector dialog",
function () { window.BrowserOpenFileWindow(); }],
["pageinfo", "Show information about the current page",
function () { window.BrowserPageInfo(); }],
["pagesource", "View page source",
function () { window.BrowserViewSourceOfDocument(content.document); }],
["places", "Places Organizer: Manage your bookmarks and history",
function () { PlacesCommandHook.showPlacesOrganizer(ORGANIZER_ROOT_BOOKMARKS); }],
["preferences", "Show Firefox preferences dialog",
function () { window.openPreferences(); }],
["printpreview", "Preview the page before printing",
function () { PrintUtils.printPreview(onEnterPrintPreview, onExitPrintPreview); }],
["printsetup", "Setup the page size and orientation before printing",
function () { PrintUtils.showPageSetup(); }],
["print", "Show print dialog",
function () { PrintUtils.print(); }],
["saveframe", "Save frame to disk",
function () { window.saveFrameDocument(); }],
["savepage", "Save page to disk",
function () { window.saveDocument(window.content.document); }],
["searchengines", "Manage installed search engines",
function () { window.openDialog("chrome://browser/content/search/engineManager.xul", "_blank", "chrome,dialog,modal,centerscreen"); }],
["selectionsource", "View selection source",
function () { buffer.viewSelectionSource(); }]
],
//TODO : Write intro.html and tutorial.html
// they are sorted by relevance, not alphabetically
//helpFiles: [ "intro.html" ],
/* "intro.html", "tutorial.html", "starting.html", "browsing.html",
"buffer.html", "cmdline.html", "insert.html", "options.html",
"pattern.html", "tabs.html", "hints.html", "map.html", "eval.html",
"marks.html", "repeat.html", "autocommands.html", "print.html",
"gui.html", "styling.html", "message.html", "developer.html",
"various.html", "index.html", "version.html"
], */
scripts: [
"bookmarks.js",
"tabs.js",
"player.js",
],
init: function ()
{
//Adding a mode for Player
//modes.addMode("PLAYER"); // Player mode for songbird
// var artistArray = getArtists();
// TODO: support 'nrformats'? -> probably not worth it --mst
function incrementURL(count)
{
let matches = buffer.URL.match(/(.*?)(\d+)(\D*)$/);
if (!matches)
{
liberator.beep();
return;
}
let [, pre, number, post] = matches;
let newNumber = parseInt(number, 10) + count;
let newNumberStr = String(newNumber > 0 ? newNumber : 0);
if (number.match(/^0/)) // add 0009<C-a> should become 0010
{
while (newNumberStr.length < number.length)
newNumberStr = "0" + newNumberStr;
}
liberator.open(pre + newNumberStr + post);
}
// load Xulmus specific modules
// FIXME: Why aren't these listed in config.scripts?
// FIXME: Why isn't this automatic? -> how would one know which classes to load where? --mst
// Something like:
// liberator.addModule("search", function Search() { ...
// for all modules, or something similar. For modules which
// require other modules, well, there's addObserver("load_foo",
// or we could just make sure that they're all sourced in order.
// The scripts could even just instantiate them themselves.
// --Kris
liberator.loadModule("search", Search);
liberator.loadModule("bookmarks", Bookmarks);
liberator.loadModule("history", History);
liberator.loadModule("tabs", Tabs);
liberator.loadModule("marks", Marks);
liberator.loadModule("quickmarks", QuickMarks);
liberator.loadModule("hints", Hints);
// Load the Player module
liberator.loadModule("player", Player);
////////////////////////////////////////////////////////////////////////////////
////////////////////// STYLES //////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////{{{
let img = Image();
img.src = "chrome://xulmus/content/xulmus.png";
img.onload = function () {
styles.addSheet(true, "logo", "chrome://liberator/locale/*",
".xulmus-logo {" + <>
display: inline-block;
background: url({img.src});
width: {img.width}px;
height: {img.height}px;
</> + "}",
true);
delete img;
};
////////////////////////////////////////////////////////////////////////////////
////////////////////// MAPPINGS ////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////{{{
mappings.add([modes.NORMAL],
["y"], "Yank current location to the clipboard",
function () { util.copyToClipboard(buffer.URL, true); });
// opening websites
mappings.add([modes.NORMAL],
["o"], "Open one or more URLs",
function () { commandline.open(":", "open ", modes.EX); });
mappings.add([modes.NORMAL], ["O"],
"Open one or more URLs, based on current location",
function () { commandline.open(":", "open " + buffer.URL, modes.EX); });
mappings.add([modes.NORMAL], ["t"],
"Open one or more URLs in a new tab",
function () { commandline.open(":", "tabopen ", modes.EX); });
mappings.add([modes.NORMAL], ["t"],
"Open one or more URLs in a new tab",
function () { commandline.open(":", "tabopen ", modes.EX); });
mappings.add([modes.NORMAL], ["T"],
"Open one or more URLs in a new tab, based on current location",
function () { commandline.open(":", "tabopen " + buffer.URL, modes.EX); });
mappings.add([modes.NORMAL], ["T"],
"Open one or more URLs in a new tab, based on current location",
function () { commandline.open(":", "tabopen " + buffer.URL, modes.EX); });
mappings.add([modes.NORMAL],
["<C-a>"], "Increment last number in URL",
function (count) { incrementURL(count > 1 ? count : 1); },
{ flags: Mappings.flags.COUNT });
mappings.add([modes.NORMAL],
["<C-x>"], "Decrement last number in URL",
function (count) { incrementURL(-(count > 1 ? count : 1)); },
{ flags: Mappings.flags.COUNT });
mappings.add([modes.NORMAL], ["~"],
"Open home directory",
function () { liberator.open("~"); });
mappings.add([modes.NORMAL], ["gh"],
"Open homepage",
function () { BrowserHome(); });
mappings.add([modes.NORMAL], ["gH"],
"Open homepage in a new tab",
function ()
{
let homepages = gHomeButton.getHomePage();
liberator.open(homepages, /\bhomepage\b/.test(options["activate"]) ?
liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB);
});
mappings.add([modes.NORMAL], ["gu"],
"Go to parent directory",
function (count)
{
function isDirectory(url)
{
if (/^file:\/|^\//.test(url))
{
let file = io.getFile(url);
return file.exists() && file.isDirectory();
}
else
{
// for all other locations just check if the URL ends with /
return /\/$/.test(url);
}
}
if (count < 1)
count = 1;
// XXX
let url = buffer.URL;
for (let i = 0; i < count; i++)
{
if (isDirectory(url))
url = url.replace(/^(.*?:)(.*?)([^\/]+\/*)$/, "$1$2/");
else
url = url.replace(/^(.*?:)(.*?)(\/+[^\/]+)$/, "$1$2/");
}
url = url.replace(/^(.*:\/+.*?)\/+$/, "$1/"); // get rid of more than 1 / at the end
if (url == buffer.URL)
liberator.beep();
else
liberator.open(url);
},
{ flags: Mappings.flags.COUNT });
mappings.add([modes.NORMAL], ["gU"],
"Go to the root of the website",
function ()
{
let uri = content.document.location;
if (/(about|mailto):/.test(uri.protocol)) // exclude these special protocols for now
{
liberator.beep();
return;
}
liberator.open(uri.protocol + "//" + (uri.host || "") + "/");
});
mappings.add([modes.NORMAL], ["<C-l>"],
"Redraw the screen",
function () { commands.get("redraw").execute("", false); });
/////////////////////////////////////////////////////////////////////////////}}}
////////////////////// COMMANDS ////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////{{{
commands.add(["downl[oads]", "dl"],
"Show progress of current downloads",
function ()
{
liberator.open("chrome://mozapps/content/downloads/downloads.xul",
options.get("newtab").has("all", "downloads")
? liberator.NEW_TAB : liberator.CURRENT_TAB);
},
{ argCount: "0" });
commands.add(["o[pen]", "e[dit]"],
"Open one or more URLs in the current tab",
function (args)
{
if (args.string)
{
liberator.open(args.string);
}
else if (args.bang)
BrowserReloadSkipCache();
else
BrowserReload();
},
{
bang: true,
completer: function (context) completion.url(context),
literal: 0
});
commands.add(["pref[erences]", "prefs"],
"Show " + config.hostApplication + " preferences",
function (args)
{
if (args.bang) // open Firefox settings GUI dialog
{
liberator.open("about:config",
(options["newtab"] && options.get("newtab").has("all", "prefs"))
? liberator.NEW_TAB : liberator.CURRENT_TAB);
}
else
{
window.openPreferences();
}
},
{
argCount: "0",
bang: true
});
commands.add(["redr[aw]"],
"Redraw the screen",
function ()
{
let wu = window.QueryInterface(Ci.nsIInterfaceRequestor).
getInterface(Ci.nsIDOMWindowUtils);
wu.redraw();
modes.show();
},
{ argCount: "0" });
// TODO: move sidebar commands to ui.js?
commands.add(["sbcl[ose]"],
"Close the sidebar window",
function ()
{
if (!document.getElementById("sidebar-box").hidden)
toggleSidebar();
},
{ argCount: "0" });
commands.add(["sideb[ar]", "sb[ar]", "sbope[n]"],
"Open the sidebar window",
function (args)
{
let arg = args.literalArg;
// focus if the requested sidebar is already open
if (document.getElementById("sidebar-title").value == arg)
{
document.getElementById("sidebar-box").focus();
return;
}
let menu = document.getElementById("viewSidebarMenu");
for (let [,panel] in Iterator(menu.childNodes))
{
if (panel.label == arg)
{
panel.doCommand();
return;
}
}
liberator.echoerr("No sidebar " + arg + " found");
},
{
argCount: "1",
completer: function (context) completion.sidebar(context),
literal: 0
});
commands.add(["winc[lose]", "wc[lose]"],
"Close window",
function () { window.close(); },
{ argCount: "0" });
commands.add(["wino[pen]", "wo[pen]", "wine[dit]"],
"Open one or more URLs in a new window",
function (args)
{
args = args.string;
if (args)
liberator.open(args, liberator.NEW_WINDOW);
else
liberator.open("about:blank", liberator.NEW_WINDOW);
},
{
completer: function (context) completion.url(context),
literal: 0
});
/////////////////////////////////////////////////////////////////////////////}}}
////////////////////// OPTIONS /////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////{{{
options.add(["online"],
"Set the 'work offline' option",
"boolean", true,
{
setter: function (value)
{
const ioService = services.get("io");
ioService.offline = !value;
//gPrefService.setBoolPref("browser.offline", ioService.offline);
gPrefs.setBoolPref("browser.offline", ioService.offline);
return value;
},
getter: function () !services.get("io").offline
});
options.add(["titlestring"],
"Change the title of the window",
"string", "Xulmus",
{
setter: function (value)
{
try
{
let id = this.mainWindowID || "mainplayer";
document.getElementById(id).setAttribute("titlemodifier", value);
if (window.content.document.title.length > 0)
document.title = window.content.document.title + " - " + value;
else
document.title = value;
}
catch (e)
{
liberator.log("Couldn't set titlestring", 3);
}
return value;
}
});
options.add(["urlseparator"],
"Set the separator regexp used to separate multiple URL args",
"string", ",\\s");
}
//}}}
}; //}}}
// vim: set fdm=marker sw=4 ts=4 et:

6
xulmus/content/liberator.dtd Executable file
View File

@@ -0,0 +1,6 @@
<!ENTITY liberator.mainWindow "mainplayer">
<!ENTITY liberator.name "xulmus">
<!ENTITY liberator.statusBefore "statusbar-display">
<!ENTITY liberator.statusAfter "">

219
xulmus/content/player.js Executable file
View File

@@ -0,0 +1,219 @@
//Import Artist List as this can be huge
var artists = getArtistsArray();
function Player()
{
// Get the focus to the visible playlist first
//window._SBShowMainLibrary();
mappings.add([modes.PLAYER],
["x"], "Play Track",
function ()
{
gMM.sequencer.play();
});
mappings.add([modes.PLAYER],
["z"], "Previous Track",
function ()
{
gSongbirdWindowController.doCommand("cmd_control_previous");
});
mappings.add([modes.PLAYER],
["c"], "Pause/Unpause Track",
function ()
{
gSongbirdWindowController.doCommand("cmd_control_playpause");
});
mappings.add([modes.PLAYER],
["b"], "Next Track",
function ()
{
gSongbirdWindowController.doCommand("cmd_control_next");
});
mappings.add([modes.PLAYER],
["v"], "Stop Track",
function ()
{
gMM.sequencer.stop();
});
mappings.add([modes.PLAYER],
["l"], "Play Media",
function ()
{
commandline.open(":","playmedia ", modes.EX);
});
mappings.add([modes.PLAYER],
["s"], "Toggle Shuffle",
function ()
{
if (gMM.sequencer.mode != gMM.sequencer.MODE_SHUFFLE)
gMM.sequencer.mode = gMM.sequencer.MODE_SHUFFLE;
else
gMM.sequencer.mode = gMM.sequencer.MODE_FORWARD;
});
mappings.add([modes.PLAYER],
["r"], "Toggle Repeat",
function ()
{
switch(gMM.sequencer.repeatMode)
{
case gMM.sequencer.MODE_REPEAT_NONE:
gMM.sequencer.repeatMode = gMM.sequencer.MODE_REPEAT_ONE;
break;
case gMM.sequencer.MODE_REPEAT_ONE:
gMM.sequencer.repeatMode = gMM.sequencer.MODE_REPEAT_ALL;
break;
case gMM.sequencer.MODE_REPEAT_ALL:
gMM.sequencer.repeatMode = gMM.sequencer.MODE_REPEAT_NONE;
break;
default:
gMM.sequencer.repeatMode = gMM.sequencer.MODE_REPEAT_NONE;
break;
}
});
commands.add(["playmedia"],
"PLay Media",
function(args)
{
//Store the old view
//var prev_view = gMM.status.view;
var library = LibraryUtils.mainLibrary;
var mainView = library.createView();
var sqncr = gMM.sequencer;
var customProps = Cc["@songbirdnest.com/Songbird/Properties/MutablePropertyArray;1"]
.createInstance(Ci.sbIMutablePropertyArray);
//args
if (args.length == 1){
customProps.appendProperty(SBProperties.artistName,args[0].toString());
}
else if (args.length == 2){
customProps.appendProperty(SBProperties.artistName,args[0].toString());
customProps.appendProperty(SBProperties.albumName,args[1].toString());
}
else if (args.length == 3){
customProps.appendProperty(SBProperties.artistName,args[0].toString());
customProps.appendProperty(SBProperties.albumName,args[1].toString());
customProps.appendProperty(SBProperties.trackName,args[2].toString());
}
sqncr.playView(mainView, mainView.getIndexForItem(library.getItemsByProperties(customProps).queryElementAt(0,Ci.sbIMediaItem)));
},
{
completer: function(context, args) completion.songCompletion(context, args)
});
}
function getArtists()
{
return this.artists;
}
function getArtistsArray()
{
var list = LibraryUtils.mainLibrary;
// Create an enumeration listener to count each item
var listener = {
count: 0,
onEnumerationBegin: function(aMediaList) {
this.count = 0;
},
onEnumeratedItem: function(aMediaList, aMediaItem) {
this.count++;
},
onEnumerationEnd: function(aMediaList, aStatusCode) {}
};
var artistCounts = {};
var artists = list.getDistinctValuesForProperty(SBProperties.artistName);
var artist;
var artistArray = [];
var i=0;
// Count the number of media items for each distinct artist
while (artists.hasMore()) {
artist = artists.getNext();
artistArray[i] = [artist,artist];
list.enumerateItemsByProperty(SBProperties.artistName,
artist,
listener,
Ci.sbIMediaList.ENUMERATIONTYPE_LOCKING);
artistCounts[artist] = listener.count;
i++;
}
//liberator.dump("Count : "+artistCounts.toSource());
return artistArray;
}
function getAlbums(artist)
{
var list = LibraryUtils.mainLibrary;
var albumArray = [];
var items = list.getItemsByProperty(SBProperties.artistName, artist).enumerate();
var i = 0;
while(items.hasMoreElements()) {
album = items.getNext().getProperty(SBProperties.albumName);
albumArray[i] = [album, album];
i++;
}
return removeDuplicateElement(albumArray);
}
function getTracks(artist,album)
{
var list = LibraryUtils.mainLibrary;
var tracksArray = [];
var pa = Cc["@songbirdnest.com/Songbird/Properties/MutablePropertyArray;1"]
.createInstance(Ci.sbIMutablePropertyArray);
var i = 0;
pa.appendProperty(SBProperties.artistName,artist.toString());
pa.appendProperty(SBProperties.albumName,album.toString());
var items = list.getItemsByProperties(pa).enumerate();
while(items.hasMoreElements()) {
track = items.getNext().getProperty(SBProperties.trackName);
tracksArray[i] = [track, track];
i++;
}
return tracksArray;
}
function removeDuplicateElement(arrayName)
{
var newArray=new Array();
label:for(var i=0; i<arrayName.length;i++ )
{
for(var j=0; j<newArray.length;j++ )
{
if(newArray[j].toString()==arrayName[i].toString())
continue label;
}
newArray[newArray.length] = arrayName[i];
}
return newArray;
}

BIN
xulmus/content/xulmus.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

88
xulmus/content/xulmus.svg Executable file
View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="162"
height="40"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.46"
version="1.0"
sodipodi:docbase="/home/maxauthority/code/vimperator"
sodipodi:docname="vimperator.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:export-filename="/home/maxauthority/code/vimperator/vimperator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 29 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="185 : 29 : 1"
inkscape:persp3d-origin="92.5 : 19.333333 : 1"
id="perspective2392" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
gridtolerance="10000"
guidetolerance="10"
objecttolerance="10"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="4.04"
inkscape:cx="84.114858"
inkscape:cy="55.052209"
inkscape:document-units="px"
inkscape:current-layer="layer1"
width="185px"
height="58px"
showgrid="false" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-5.4392018,-9.6624603)">
<text
xml:space="preserve"
style="font-size:24px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans Mono"
x="6.2673268"
y="29.896835"
id="text2229"><tspan
sodipodi:role="line"
id="tspan2231"
x="6.2673268"
y="29.896835">vimperator_</tspan></text>
<text
xml:space="preserve"
style="font-size:24px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans Mono"
x="6.4079518"
y="53.183945"
id="text2233"><tspan
sodipodi:role="line"
id="tspan2235"
x="6.4079518"
y="53.183945">~</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

52
xulmus/content/xulmus.xul Executable file
View File

@@ -0,0 +1,52 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://xulmus/skin/xulmus.css" type="text/css"?>
<overlay id="xulmus"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:nc="http://home.netscape.com/NC-rdf#"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<menupopup id="viewSidebarMenu">
<menuitem observes="xulmus-viewAddonsSidebar" label="Add-ons" accesskey="A"/>
<menuitem observes="xulmus-viewConsoleSidebar" label="Console" accesskey="C"/>
<menuitem observes="xulmus-viewDownloadsSidebar" label="Downloads" accesskey="D"/>
<menuitem observes="xulmus-viewPreferencesSidebar" label="Preferences" accesskey="P"/>
</menupopup>
<broadcasterset id="mainBroadcasterSet">
<broadcaster id="xulmus-viewAddonsSidebar"
autoCheck="false"
type="checkbox"
group="sidebar"
sidebarurl="chrome://mozapps/content/extensions/extensions.xul"
sidebartitle="Add-ons"
oncommand="toggleSidebar('xulmus-viewAddonsSidebar');"/>
<broadcaster id="xulmus-viewConsoleSidebar"
autoCheck="false"
type="checkbox"
group="sidebar"
sidebarurl="chrome://global/content/console.xul"
sidebartitle="Console"
oncommand="toggleSidebar('xulmus-viewConsoleSidebar');"/>
<broadcaster id="xulmus-viewDownloadsSidebar"
autoCheck="false"
type="checkbox"
group="sidebar"
sidebarurl="chrome://mozapps/content/downloads/downloads.xul"
sidebartitle="Downloads"
oncommand="toggleSidebar('xulmus-viewDownloadsSidebar');"/>
<broadcaster id="xulmus-viewPreferencesSidebar"
autoCheck="false"
type="checkbox"
group="sidebar"
sidebarurl="about:config"
sidebartitle="Preferences"
oncommand="toggleSidebar('xulmus-viewPreferencesSidebar');"/>
</broadcasterset>
</overlay>
<!-- vim: set fdm=marker sw=4 ts=4 et: -->

9
xulmus/contrib/vim/Makefile Executable file
View File

@@ -0,0 +1,9 @@
VIMBALL = vimperator.vba
vimball: mkvimball.txt syntax/vimperator.vim ftdetect/vimperator.vim
-echo '%MkVimball! ${VIMBALL} .' | vim -u NORC -N -e -s mkvimball.txt
all: vimball
clean:
rm -f ${VIMBALL}

View File

@@ -0,0 +1 @@
au BufNewFile,BufRead *vimperatorrc*,*.vimp set filetype=vimperator

View File

@@ -0,0 +1,2 @@
syntax/vimperator.vim
ftdetect/vimperator.vim

View File

@@ -0,0 +1,104 @@
" Vim syntax file
" Language: VIMperator configuration file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2009 Feb 19
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn include @javascriptTop syntax/javascript.vim
unlet b:current_syntax
syn include @cssTop syntax/css.vim
unlet b:current_syntax
syn match vimperatorCommandStart "\%(^\s*:\=\)\@<=" nextgroup=vimperatorCommand,vimperatorAutoCmd
syn keyword vimperatorCommand ab[breviate] ab[clear] addo[ns] bN[ext] b[uffer] ba[ck] bd[elete] beep bf[irst] bl[ast] bma[rk]
\ bmarks bn[ext] bp[revious] br[ewind] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cd chd[ir] cm[ap] cmapc[lear]
\ cno[remap] colo[rscheme] com[mand] comc[lear] cu[nmap] cuna[bbrev] delbm[arks] delc[ommand] delm[arks] delmac[ros]
\ delqm[arks] dels[tyle] dia[log] dl do[autocmd] doautoa[ll] downl[oads] e[dit] ec[ho] echoe[rr] echom[sg] em[enu] exe[cute]
\ exu[sage] files fini[sh] fo[rward] fw h[elp] ha[rdcopy] hi[ghlight] hist[ory] hs ia[bbrev] iabc[lear] im[ap] imapc[lear]
\ ino[remap] iu[nmap] iuna[bbrev] javas[cript] js ju[mps] let loadplugins lpl ls ma[rk] macros map mapc[lear] marks mes[sages]
\ mkv[imperatorrc] no[remap] noh[lsearch] norm[al] o[pen] optionu[sage] pa[geinfo] pagest[yle] pc[lose] pl[ay] pref[erences]
\ prefs pw[d] q[uit] qa[ll] qma[rk] qmarks quita[ll] re[draw] re[load] reloada[ll] res[tart] run runt[ime] sav[eas] sb[ar]
\ sb[open] sbcl[ose] scrip[tnames] se[t] setg[lobal] setl[ocal] sideb[ar] so[urce] st[op] sty[le] tN[ext] t[open] tab
\ tabN[ext] tabc[lose] tabd[uplicate] tabde[tach] tabe[dit] tabfir[st] tabl[ast] tabm[ove] tabn[ext] tabnew tabo[nly] tabopen
\ tabp[revious] tabr[ewind] tabs time tn[ext] tp[revious] u[ndo] una[bbreviate] undoa[ll] unl[et] unm[ap] ve[rsion]
\ vie[wsource] viu[sage] w[rite] wc[lose] win[open] winc[lose] wine[dit] wo[pen] wq wqa[ll] xa[ll] zo[om]
\ contained
syn match vimperatorCommand "!" contained
syn keyword vimperatorAutoCmd au[tocmd] contained nextgroup=vimperatorAutoEventList skipwhite
syn keyword vimperatorAutoEvent BookmarkAdd DOMLoad LocationChange PageLoadPre PageLoad ShellCmdPost VimperatorEnter
\ VimperatorLeavePre VimperatorLeave
\ contained
syn match vimperatorAutoEventList "\(\a\+,\)*\a\+" contained contains=vimperatorAutoEvent
syn region vimperatorSet matchgroup=vimperatorCommand start="\%(^\s*:\=\)\@<=\<\%(setl\%[ocal]\|setg\%[lobal]\|set\=\)\=\>"
\ end="$" keepend oneline contains=vimperatorOption,vimperatorString
syn keyword vimperatorOption activate act cdpath cd complete cpt defsearch ds editor eventignore ei extendedhinttags eht
\ followhints fh guioptions go helpfile hf hintmatching hm hinttags ht hinttimeout hto history hi laststatus ls messages msgs
\ newtab nextpattern pageinfo pa popups pps previouspattern runtimepath rtp scroll scr shell sh shellcmdflag shcf
\ showstatuslinks ssli showtabline stal suggestengines titlestring urlseparator verbose vbs wildcase wic wildignore wig
\ wildmode wim wildoptions wop wordseparators wsp
\ contained nextgroup=vimperatorSetMod
" toggle options
syn match vimperatorOption "\<\%(no\|inv\)\=\%(errorbells\|eb\|exrc\|ex\|focuscontent\|fc\|fullscreen\|fs\|ignorecase\|ic\)\>!\="
\ contained nextgroup=vimperatorSetMod
syn match vimperatorOption "\<\%(no\|inv\)\=\%(incsearch\|is\|insertmode\|im\|hlsearch\|hls\|linksearch\|lks\)\>!\="
\ contained nextgroup=vimperatorSetMod
syn match vimperatorOption "\<\%(no\|inv\)\=\%(loadplugins\|lpl\|more\|online\|preload\|showmode\|smd\|smartcase\|scs\)\>!\="
\ contained nextgroup=vimperatorSetMod
syn match vimperatorOption "\<\%(no\|inv\)\=\%(online\|visualbell\|vb\|usermode\|um\)\>!\="
\ contained nextgroup=vimperatorSetMod
syn match vimperatorSetMod "\%(\<[a-z_]\+\)\@<=&" contained
syn region vimperatorJavaScript start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=" end="$" contains=@javascriptTop keepend oneline
syn region vimperatorJavaScript matchgroup=vimperatorJavascriptDelimiter
\ start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@javascriptTop fold
let s:cssRegionStart = '\%(^\s*sty\%[le]!\=\s\+\%(-\%(n\|name\)\%(\s\+\|=\)\S\+\s\+\)\=[^-]\S\+\s\+\)\@<='
execute 'syn region vimperatorCss start="' . s:cssRegionStart . '" end="$" contains=@cssTop keepend oneline'
execute 'syn region vimperatorCss matchgroup=vimperatorCssDelimiter'
\ 'start="' . s:cssRegionStart . '<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@cssTop fold'
syn match vimperatorNotation "<[0-9A-Za-z-]\+>"
syn match vimperatorComment +".*$+ contains=vimperatorTodo,@Spell
syn keyword vimperatorTodo FIXME NOTE TODO XXX contained
syn region vimperatorString start="\z(["']\)" end="\z1" skip="\\\\\|\\\z1" oneline
syn match vimperatorLineComment +^\s*".*$+ contains=vimperatorTodo,@Spell
" NOTE: match vim.vim highlighting group names
hi def link vimperatorAutoCmd vimperatorCommand
hi def link vimperatorAutoEvent Type
hi def link vimperatorCommand Statement
hi def link vimperatorComment Comment
hi def link vimperatorJavascriptDelimiter Delimiter
hi def link vimperatorCssDelimiter Delimiter
hi def link vimperatorNotation Special
hi def link vimperatorLineComment Comment
hi def link vimperatorOption PreProc
hi def link vimperatorSetMod vimperatorOption
hi def link vimperatorString String
hi def link vimperatorTodo Todo
let b:current_syntax = "vimperator"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: tw=130 et ts=4 sw=4:

58
xulmus/install.rdf Executable file
View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"
xmlns:songbird="http://www.songbirdnest.com/2007/addon-metadata-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>{3703dcdb-6ba3-4331-8de8-c18373fb05d1}</em:id>
<em:type>2</em:type>
<em:name>xulmus@vimperator.org</em:name>
<em:version>0.1</em:version>
<em:creator>Prathyush Thota</em:creator>
<em:description>VIM for SongBird brothers.</em:description>
<em:targetApplication>
<Description>
<em:id>songbird@songbirdnest.com</em:id>
<em:minVersion>0.8.0pre</em:minVersion>
<em:maxVersion>1.1.0pre</em:maxVersion>
</Description>
</em:targetApplication>
<!-- Register a pane to be displayed below the service sidebar.
See http://wiki.songbirdnest.com/Developer/Articles/Getting_Started/Display_Panes -->
<songbird:displayPane>
<Description>
<songbird:contentTitle>xulmus</songbird:contentTitle>
<songbird:contentUrl>chrome://xulmus/content/pane.xul</songbird:contentUrl>
<songbird:contentIcon>chrome://xulmus/skin/pane-icon.png</songbird:contentIcon>
<songbird:defaultWidth>200</songbird:defaultWidth>
<songbird:defaultHeight>100</songbird:defaultHeight>
<songbird:suggestedContentGroups>servicepane</songbird:suggestedContentGroups>
<songbird:showOnInstall>true</songbird:showOnInstall>
</Description>
</songbird:displayPane>
<!-- Register a custom media page.
See http://wiki.songbirdnest.com/Developer/Articles/Getting_Started/Building_Media_Views -->
<songbird:mediaPage>
<Description>
<songbird:contentTitle>xulmus</songbird:contentTitle>
<songbird:contentUrl>chrome://xulmus/content/media-page.xul</songbird:contentUrl>
</Description>
</songbird:mediaPage>
</Description>
</RDF>

2
xulmus/locale/en-US/Makefile Executable file
View File

@@ -0,0 +1,2 @@
BASE = ../../../common
include $(BASE)/Makefile.doc

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,91 @@
HEADER
|autocommands| +
Autocommands are a way to automatically execute code when certain events
happen.
|:au| |:autocmd| +
||:au[tocmd]||
________________________________________________________________________________
Execute commands automatically on events.
[c]:au[tocmd][c] {event} {pat} {cmd}
Add {cmd} to the list of commands Vimperator will execute on {event} for a URL matching {pat}:
* [c]:autocmd[!][c] {events} {pat}: list/remove autocommands filtered by {events} and {pat}
* [c]:autocmd[!][c] {events}: list/remove autocommands matching {events}
* [c]:autocmd[!][c] * {pat}: list/remove autocommands matching {pat}
* [c]:autocmd[!][c]: list/remove all autocommands
Available {events}:
`--------------------`----------------------------------------
*BookmarkAdd* Triggered after a page is bookmarked
*ColorScheme* Triggered after a color scheme has been loaded
*DOMLoad* Triggered when a page's DOM content has fully loaded
*DownloadPost* Triggered when a download has completed
*Fullscreen* Triggered when the browser's fullscreen state changes
*LocationChange* Triggered when changing tabs or when navigating to a new location
*PageLoadPre* Triggered after a page load is initiated
*PageLoad* Triggered when a page gets (re)loaded/opened
*ShellCmdPost* Triggered after executing a shell command with [c]:![c]#{cmd}
*VimperatorEnter* Triggered after Firefox starts
*VimperatorLeavePre* Triggered before exiting Firefox, just before destroying each module
*VimperatorLeave* Triggered before exiting Firefox
--------------------------------------------------------------
{pat} is a regular expression, use .* if you want to match all URLs.
Note: This differs from Vim which uses a glob rather than a regexp for {pat}.
The following keywords are available where relevant:
`--------------`----------------------------------------------
*<url>* The URL against which the event was selected.
*<title>* The page, bookmark or download title.
*<tab>* The tab in which the event occurred.
*<tags>* The tags applied to <url>. Only for *BookmarkAdd*.
*<keyword>* The keywords applied to the bookmark. Only for *BookmarkAdd*.
*<icon>* The icon associated with <url>. Only for *BookmarkAdd*.
*<size>* The size of a downloaded file. Only for *DownloadPost*.
*<file>* The target destination of a download. Only for *DownloadPost*.
*<state>* The new fullscreen state. Only for *Fullscreen*.
*<name>* The color scheme name. Only for *ColorScheme*.
--------------------------------------------------------------
________________________________________________________________________________
|:doautoa| |:doautoall|
||:doautoa[ll] {event} [a][url][a]|| +
________________________________________________________________________________
Apply the autocommands matching the specified URL to all buffers. If no
[a][url][a] is specified use the current URL.
________________________________________________________________________________
|:do| |:doautocmd|
||:do[autocmd] {event} [a][url][a]|| +
________________________________________________________________________________
Apply the autocommands matching the specified URL to the current buffer. If no
[a][url][a] is specified use the current URL.
________________________________________________________________________________
section:Examples[autocmd-examples]
Enable _passthrough_ mode on all Google sites:
\{nbsp}[c]:autocmd LocationChange .* js modes.passAllKeys = /google\.com/.test(buffer.URL)[c]
Enable _passthrough_ mode on *some* Google sites:
\{nbsp}[c]:autocmd LocationChange .* js modes.passAllKeys = /(www|mail)\.google\.com/.test(buffer.URL)[c]
Set the filetype to mail when editing email at Gmail:
\{nbsp}[c]:autocmd LocationChange .* :set editor=gvim\ -f[c] +
\{nbsp}[c]:autocmd LocationChange mail\.google\.com :set editor="gvim -f -c 'set ft=mail'"[c]
// vim: set filetype=asciidoc:

349
xulmus/locale/en-US/browsing.txt Executable file
View File

@@ -0,0 +1,349 @@
HEADER
|surfing| |browsing| +
Vimperator overrides nearly all Firefox keys in order to make browsing more
pleasant for Vim users. On the rare occasions when you want to pass a keystroke
to Firefox, or to the web page, and have it retain its original meaning you
have 2 possibilities:
|pass-through| |<C-z>| |CTRL-Z| +
||CTRL-Z||
________________________________________________________________________________
Disable all Vimperator keys except [m]<Esc>[m] and pass them to the next event
handler. This is especially useful, if JavaScript controlled forms like the
RichEdit form fields of Gmail don't work anymore. To exit this mode, press
[m]<Esc>[m]. If you also need to pass [m]<Esc>[m] in this mode to the web page,
prepend it with [m]<C-v>[m].
________________________________________________________________________________
|send-key| |<C-v>| |CTRL-V| +
||CTRL-V||
________________________________________________________________________________
If you only need to pass a single key to a JavaScript form field or another
extension prefix the key with [m]<C-v>[m]. Also works to unshadow Firefox
shortcuts like [m]<C-o>[m] which are otherwise hidden in Vimperator. When
Vimperator mode is temporarily disabled with [m]<C-z>[m], [m]<C-v>[m] will pass
the next key to Vimperator instead of the web page.
________________________________________________________________________________
section:Opening{nbsp}web{nbsp}pages[opening]
|o| |:o| |:open|
||:o[pen][!] [a][arg1][a], [a][arg2][a], ...|| +
||o||
________________________________________________________________________________
Open one or more URLs in the current tab.
Multiple URLs can be separated with 'urlseparator' (default: ", " Note that the
space after the comma is required.)
The first URL is opened in the current tab, and all other URLs are
opened in new tabs.
Each token is analyzed and in this order:
1. Opened as a local file if it is an existing relative or absolute filename.
- [c]:open /etc/fstab[c] shows the file system table.
- [c]:open ../other/foo.html[c] in your home directory opens
[a]/home/other/foo.html[a]
2. Opened with the specified search engine if the token looks like a search
string and the first word is the name of a search engine ([c]:open wikipedia
linus torvalds[c] opens the Wikipedia entry for linus torvalds). The short
name of a search engine is automatically guessed from its name. If you want
to set a custom name, you can change it with [c]:dialog searchengines[c].
3. Opened with the default search engine or keyword (specified with the
'defsearch' option) if the first word is no search engine ([c]:open linus
torvalds[c] opens a Google search for linux torvalds).
4. Passed directly to Firefox in all other cases ([c]:open www.osnews.com,
www.slashdot.org[c] opens OSNews in the current, and Slashdot in a new
background tab).
You can use [c]:open -tags linux torvalds<Tab>[c] to complete bookmarks with
tag "linux" and which contain "torvalds". Note that -tags support is only
available for tab completion, not for the actual command.
The items which are completed on [m]<Tab>[m] are specified in the 'complete'
option.
Without argument, reloads the current page.
Without argument but with [!], reloads the current page skipping the cache.
________________________________________________________________________________
|t| |:t| |:tabopen| |:tabnew| |:tabe| |:tabedit|
||:tabopen[!] [a][arg1][a], [a][arg2][a], ...|| +
||t||
________________________________________________________________________________
Just like [c]:open[c] but also uses a new tab for the first URL. When
used with [!], the *tabopen* value of the 'activate' option is negated.
________________________________________________________________________________
|T| +
||T||
________________________________________________________________________________
Open one or more URLs in a new tab based on current location. Works like
[m]t[m] but preselects current URL in the [c]:tabopen[c] query.
________________________________________________________________________________
|:tabd| |:tabduplicate|
||:[count]tabd[uplicate][!]|| +
________________________________________________________________________________
Duplicates current tab [count] times. Uses *tabopen* value of the 'activate'
option to determine if the last cloned tab should be activated. When used with
[!], *tabopen* value is negated.
________________________________________________________________________________
|O| +
||O||
________________________________________________________________________________
Open one or more URLs in the current tab based on current location. Works
like [m]o[m] but preselects current URL in the [c]:open[c] query.
________________________________________________________________________________
|:winopen| |:wopen| |:winedit|
||:wino[pen][!] [a][arg1][a], [a][arg2][a], ...|| +
________________________________________________________________________________
Just like [c]:tabopen[c] but opens the resulting web page(s) in a new window.
________________________________________________________________________________
|<MiddleMouse>| |p| +
||p||
________________________________________________________________________________
Open (put) a URL based on the current clipboard contents in the current buffer.
You can also just select (for non-X11 users: copy) some non-URL text, and
search for it with the default search engine or keyword (specified by the
'defsearch' option) with [m]p[m].
________________________________________________________________________________
|P| +
||P||
________________________________________________________________________________
Open (put) a URL based on the current clipboard contents in a new buffer. Works
like [m]p[m] but opens a new tab. +
Whether the new buffer is activated, depends on the 'activate' option.
________________________________________________________________________________
|gP| +
||gP||
________________________________________________________________________________
Open (put) a URL based on the current clipboard contents in a new buffer.
Works like [m]P[m] but inverts the 'activate' option.
________________________________________________________________________________
|<C-x>|
||[count]<C-x>||
________________________________________________________________________________
Decrements the last number in URL by 1, or by [count] if given. Negative
numbers are not supported, as this is not generally useful, so the number cannot
be decremented past 0.
________________________________________________________________________________
|<C-a>|
||[count]<C-a>||
________________________________________________________________________________
Increments the last number in URL by 1, or by [count] if given.
________________________________________________________________________________
|\~| +
||\~||
________________________________________________________________________________
Open home directory. You can also use the hints and have the probably fastest
file browser on earth. :)
________________________________________________________________________________
section:Navigating[navigating]
|H| |<C-o>| |CTRL-O| |:ba| |:back|
||:[count]ba[ck] [url]|| +
||:ba[ck]!|| +
||CTRL-o||
________________________________________________________________________________
Go [count] pages back in the browser history. If [url] is specified go back to
the first matching URL. The special version [c]:back![c] goes to the beginning
of the browser history.
________________________________________________________________________________
|L| |<C-i>| |CTRL-i| |:fo| |:fw| |:forward|
||:[count]fo[rward] [url]|| +
||:fo[rward]!|| +
||CTRL-i||
________________________________________________________________________________
Go [count] pages forward in the browser history. If [url] is specified go
forward to the first matching URL. The special version [c]:forward![c] goes to
the end of the browser history.
________________________________________________________________________________
|:ju| |:jumps|
||:ju[mps]||
________________________________________________________________________________
List all jumps aka current tab's history aka session history.
Current history position is marked with >, jump numbers are counters to be used
with [c]:back[c] (above zero record) or [c]:forward[c] (below zero record).
________________________________________________________________________________
|gh|
||gh||
________________________________________________________________________________
Go home. Opens the homepage in the current tab.
________________________________________________________________________________
|gH| +
||gH||
________________________________________________________________________________
Go home in a new tab. Opens the homepage in a new tab. Whether the new tab is
activated or not depends on the 'activate' option.
________________________________________________________________________________
|gu|
||[count]gu||
________________________________________________________________________________
Go to [count]th parent directory. +
[m]2gu[m] on _http://www.example.com/dir1/dir2/file.htm_ opens
_http://www.example.com/dir1/_.
________________________________________________________________________________
|gU|
||gU||
________________________________________________________________________________
Go to the root of the web site. +
[m]gU[m] on _http://www.example.com/dir1/dir2/file.htm_ opens
_http://www.example.com/_.
When browsing a local directory, it goes to the root directory.
________________________________________________________________________________
section:Reloading[reloading]
|r|
||r||
________________________________________________________________________________
Force reloading of the current page.
________________________________________________________________________________
|R|
||R||
________________________________________________________________________________
Force reloading of the current page skipping the cache.
________________________________________________________________________________
|:re| |:reload| +
||:re[load][!]||
________________________________________________________________________________
Reload current page. Forces reloading of the current page. If [!] is
given, skip the cache.
________________________________________________________________________________
|:reloada| |:reloadall| +
||:reloada[ll][!]||
________________________________________________________________________________
Reload all pages. Forces reloading of all pages. If [!] is given, skip the cache.
________________________________________________________________________________
section:Stopping[stopping]
|<C-c>|
||<C-c>||
________________________________________________________________________________
Stop loading the current web page.
________________________________________________________________________________
|:st| |:stop|
||:st[op]||
________________________________________________________________________________
Stop loading. Stop loading current web page.
________________________________________________________________________________
section:Writing[writing,save-file]
|:w| |:write| |:sav| |:saveas| +
||:sav[eas][!] [a][file][a]||
________________________________________________________________________________
Save current web page to disk. If [a][file][a] is omitted, save to the page's
default filename. Existing documents will only be overwritten if [!] is given.
________________________________________________________________________________
section:Quitting[quitting,save-session]
|:q| |:quit| +
||:q[uit]||
________________________________________________________________________________
Quit current tab. If this is the last tab in the window, close the window. If
this was the last window, close Vimperator. When quitting Vimperator, the
session is not stored.
________________________________________________________________________________
|:qa| |:qall| |:quita| |:quitall| +
||:quita[ll]||
________________________________________________________________________________
Quit Vimperator. Quit Vimperator, no matter how many tabs/windows are open.
The session is not stored.
________________________________________________________________________________
|:wc| |:wclose| |:winc| |:winclose|
||:winc[lose]|| +
________________________________________________________________________________
Close window.
________________________________________________________________________________
|:xa| |:xall| |:wq| |:wqa| |:wqall|
||:wqa[ll]|| +
||:xa[ll]||
________________________________________________________________________________
Save the session and quit. Quit Vimperator, no matter how many tabs/windows
are open. The session is stored. [c]:wq[c] is different from Vim, as it
closes the window instead of just one tab by popular demand. Complain on the
mailing list, if you want to change that.
________________________________________________________________________________
|ZQ|
||ZQ||
________________________________________________________________________________
Quit and don't save the session. Works like [c]:qall[c].
________________________________________________________________________________
|ZZ|
||ZZ||
________________________________________________________________________________
Quit and save the session. Quit Vimperator, no matter how many tabs/windows
are open. The session is stored. Works like [c]:xall[c].
________________________________________________________________________________
section:The{nbsp}current{nbsp}directory[current-directory]
|:chd| |:chdir| |:cd|
||:cd [-|path]||
________________________________________________________________________________
Change the current directory. [c]:cd -[c] changes to the last directory.
________________________________________________________________________________
|:pw| |:pwd|
||:pw[d]||
________________________________________________________________________________
Print the current directory name.
________________________________________________________________________________
// vim: set filetype=asciidoc:

361
xulmus/locale/en-US/buffer.txt Executable file
View File

@@ -0,0 +1,361 @@
HEADER
|buffer| |document| +
Vimperator holds exactly one buffer object for each tab. It is usually an
(X)HTML document with advanced features.
section:Buffer{nbsp}information[buffer-information]
|<C-g>| +
||<C-g>||
________________________________________________________________________________
Print the current file name. Also shows some additional file information like
file size or the last modified date.
________________________________________________________________________________
|g<C-g>| +
||g<C-g>||
________________________________________________________________________________
Print file information. Same as [c]:pa[geinfo][c].
________________________________________________________________________________
|:pa| |:pageinfo| +
||:pa[geinfo]||
________________________________________________________________________________
Show various page information. See [c]:help 'pageinfo'[c] for available options.
________________________________________________________________________________
|gf| +
||gf||
________________________________________________________________________________
View source. Opens the source code of the current web site with the internal
editor in the current tab.
________________________________________________________________________________
|gF| +
||gF||
________________________________________________________________________________
View source with an external editor. Opens the source code of the current web
site with the external editor specified by the 'editor' option. For now the
external editor must be able to download and open files from a remote URL.
________________________________________________________________________________
|:vie| |:viewsource|
||:vie[wsource][!] [a][url][a]|| +
________________________________________________________________________________
View source code of current document. If [a][url][a] is specified then view the
source of that document. When [!] is given, it is opened with the external
editor.
________________________________________________________________________________
section:Motion{nbsp}commands[motion,scrolling]
|^| |0| +
||0||
________________________________________________________________________________
Scroll to the absolute left of the document. Unlike in Vim, [m]0[m] and [m]^[m]
work exactly the same way.
________________________________________________________________________________
|$| +
||$||
________________________________________________________________________________
Scroll to the absolute right of the document
________________________________________________________________________________
|<Home>| |gg| +
||[count]gg||
________________________________________________________________________________
Go to the top of the document. When used with [count] like in [m]35gg[m], it
scrolls to 35% of the document.
________________________________________________________________________________
|<End>| |G| +
||[count]G||
________________________________________________________________________________
Go to the end of the document. When used with [count] like in [m]35G[m], it
scrolls to 35% of the document.
________________________________________________________________________________
|N%| +
||{count}%||
________________________________________________________________________________
Scroll to {count} percent of the document.
________________________________________________________________________________
|<Left>| |h| +
||[count]h||
________________________________________________________________________________
Scroll document to the left. If [count] is specified then move [count] times as
much to the left. +
If the document cannot scroll more, a beep is emitted (unless 'visualbell' is
set).
________________________________________________________________________________
|<C-e>| |<Down>| |j| +
||[count]j||
________________________________________________________________________________
Scroll document down. If [count] is specified then move [count] times as much
down. +
If the document cannot scroll more, a beep is emitted (unless 'visualbell' is
set).
________________________________________________________________________________
|<C-y>| |<Up>| |k| +
||[count]k||
________________________________________________________________________________
Scroll document up. If [count] is specified then move [count] times as much up. +
If the document cannot scroll more, a beep is emitted (unless 'visualbell' is
set).
________________________________________________________________________________
|<C-d>| +
||[count]<C-d>||
________________________________________________________________________________
Scroll window downwards in the buffer. The number of lines is set by the
'scroll' option which defaults to half a page. If [count] is given 'scroll' is
first set to this value.
________________________________________________________________________________
|<C-u>| +
||[count]<C-u>||
________________________________________________________________________________
Scroll window upwards in the buffer. The number of lines is set by the
'scroll' option which defaults to half a page. If [count] is given 'scroll' is
first set to this value.
________________________________________________________________________________
|<Right>| |l| +
||[count]l||
________________________________________________________________________________
Scroll document to the right. If [count] is specified then move [count] times
as much to the right. +
If the document cannot scroll more, a beep is emitted (unless 'visualbell' is
set).
________________________________________________________________________________
|<S-Space>| |<PageUp>| |<C-b>| +
||[count]<C-b>||
________________________________________________________________________________
Scroll up a full page. Scroll window [count] pages Backwards (upwards) in the buffer.
________________________________________________________________________________
|<Space>| |<PageDown>| |<C-f>| +
||[count]<C-f>||
________________________________________________________________________________
Scroll down a full page. Scroll window [count] pages Forwards (downwards) in the buffer.
________________________________________________________________________________
section:Jumping{nbsp}to{nbsp}elements[jumping]
|<Tab>| +
||<Tab>||
________________________________________________________________________________
Advance keyboard focus to the next element.
________________________________________________________________________________
|<S-Tab>| +
||<S-Tab>||
________________________________________________________________________________
Rewind keyboard focus to the previous element.
________________________________________________________________________________
|gi| +
||[count]gi||
________________________________________________________________________________
Focus last used input field. If there is no last input field, it focuses the
first input field. When used with [count] it directly jumps to the [count]th input
field.
________________________________________________________________________________
|]f| +
||[count]]f||
________________________________________________________________________________
Focus next frame. Transfer keyboard focus to the [count]th next frame in
order. The newly focused frame is briefly colored red. Does not wrap.
________________________________________________________________________________
|[f| +
||[count][f||
________________________________________________________________________________
Focus previous frame. Transfer keyboard focus to the [count]th previous frame
in order. The newly focused frame is briefly colored red. Does not wrap.
________________________________________________________________________________
|]]| +
||[count]]]||
________________________________________________________________________________
Follow the link labeled \'next' or \'>' if it exists. Useful when browsing
forums or documentation. Change 'nextpattern' to modify its behavior. It
follows relations between files too.
________________________________________________________________________________
|[[| +
||[count][[||
________________________________________________________________________________
Follow the link labeled \'prev', \'previous' or \'<' if it exists. Useful when
browsing forums or documentation. Change 'previouspattern' to modify its
behavior. It follows relations between files too.
________________________________________________________________________________
section:Zooming[zooming,zoom]
The zooming commands are dependent on two properties -- a zoom range and a
series of levels within that range.
The absolute value of the page zoom is limited to a value within the configured
zoom range (default: 30%--300%). The zoom levels are used by
[m]zi[m]/[m]zo[m], and similar commands, to change the zoom value in steps. The
default zoom levels are 30%, 50%, 67%, 80%, 90%, 100%, 110%, 120%, 133%, 150%,
170%, 200%, 240%, 300%.
The available zoom range can be changed by setting the \'zoom.minPercent' and
\'zoom.maxPercent' Firefox preferences. The zoom levels can be changed using
the \'toolkit.ZoomManager.zoomLevels' preference.
Note: \'toolkit.ZoomManager.zoomLevels' is specified as a list of values
between 0 and 1, not as a percentage.
|+| |zi| +
||[count]zi||
________________________________________________________________________________
Enlarge text zoom of current web page. Mnemonic: zoom in.
________________________________________________________________________________
|zm| +
||[count]zm||
________________________________________________________________________________
Enlarge text zoom of current web page by a larger amount. Mnemonic: zoom more.
________________________________________________________________________________
|-| |zo| +
||[count]zo||
________________________________________________________________________________
Reduce text zoom of current web page. Mnemonic: zoom out.
________________________________________________________________________________
|zr| +
||[count]zr||
________________________________________________________________________________
Reduce text zoom of current web page by a larger amount. Mnemonic: zoom reduce.
________________________________________________________________________________
|zz| +
||[count]zz||
________________________________________________________________________________
Set text zoom value of current web page. Zoom value can be between 30 and 300%.
If it is omitted, text zoom is reset to 100%.
________________________________________________________________________________
|zI| +
||[count]zI||
________________________________________________________________________________
Enlarge full zoom of current web page. Mnemonic: zoom in.
________________________________________________________________________________
|zM| +
||[count]zM||
________________________________________________________________________________
Enlarge full zoom of current web page by a larger amount. Mnemonic: zoom more.
________________________________________________________________________________
|zO| +
||[count]zO||
________________________________________________________________________________
Reduce full zoom of current web page. Mnemonic: zoom out.
________________________________________________________________________________
|zR| +
||[count]zR||
________________________________________________________________________________
Reduce full zoom of current web page by a larger amount. Mnemonic: zoom reduce.
________________________________________________________________________________
|zZ| +
||[count]zZ||
________________________________________________________________________________
Set full zoom value of current web page. Zoom value can be between 30 and
300%. If it is omitted, full zoom is reset to 100%.
________________________________________________________________________________
|:zo| |:zoom|
||:zo[om][!] [a][value][a]|| +
||:zo[om][!] +{value} | -{value}|| +
________________________________________________________________________________
Set zoom value of current web page. [a][value][a] can be an absolute value
between 30 and 300% or a relative value if prefixed with "-" or "+". If
[a][value][a] is omitted, zoom is reset to 100%.
Normally this command operates on the text zoom, if used with [!] it operates
on full zoom.
________________________________________________________________________________
section:Copying{nbsp}text[copying,yanking]
When running in X11, the text of the following commands is not only
copied to the clipboard but is also put into the X11 selection, which
can be pasted with the middle mouse button:
|y| +
||y||
________________________________________________________________________________
Yank current location to the clipboard. When running in X11 the location is
also put into the selection, which can be pasted with the middle mouse button.
________________________________________________________________________________
|Y| +
||Y||
________________________________________________________________________________
Copy currently selected text to the system clipboard.
________________________________________________________________________________
section:Alternate{nbsp}style{nbsp}sheets[alternate-stylesheet]
Page authors may specify alternate style sheets for an HTML document. Users can
then switch between these various style sheets, selecting their favorite.
|:pagest| |:pagestyle|
||:pagest[yle] [a][stylesheet][a]|| +
________________________________________________________________________________
Select the author style sheet to apply. If [a][stylesheet][a] is not specified
the page's default style sheet is used.
All author styling can be removed by setting the 'usermode' option.
________________________________________________________________________________
// vim: set filetype=asciidoc fdm=marker:

80
xulmus/locale/en-US/cmdline.txt Executable file
View File

@@ -0,0 +1,80 @@
HEADER
|Command-line-mode| |Command-line| |mode-cmdline| +
Command-line mode is used to enter Ex commands (":") and text search patterns
("/" and "?").
|:| +
||:||
________________________________________________________________________________
Start Command-line mode. In Command-line mode, you can perform extended
commands, which may require arguments.
________________________________________________________________________________
section:Command-line{nbsp}editing[cmdline-editing]
|c_<C-c>| +
||<C-c>||
________________________________________________________________________________
Quit Command-line mode without executing.
________________________________________________________________________________
|c_<C-]>| +
||<C-]>||
________________________________________________________________________________
Expand a Command-line abbreviation.
________________________________________________________________________________
|c_<Up>| +
||<Up>||
________________________________________________________________________________
Recall the previous command line from the history list which matches the
current command line.
________________________________________________________________________________
|c_<Down>| +
||<Down>||
________________________________________________________________________________
Recall the next command line from the history list which matches the current
command line.
________________________________________________________________________________
|c_<S-Up>| |c_<PageUp>|
||<S-Up>|| +
||<PageUp>||
________________________________________________________________________________
Recall the previous command line from the history list.
________________________________________________________________________________
|c_<S-Down>| |c_<PageDown>|
||<S-Down>|| +
||<PageDown>||
________________________________________________________________________________
Recall the next command line from the history list.
________________________________________________________________________________
section:Command-line{nbsp}completion[cmdline-completion]
|c_<Tab>| +
||<Tab>||
________________________________________________________________________________
Complete the word in front of the cursor according to the behavior specified in
'wildmode'. If 'wildmode' contains "list" and there are multiple matches then
the completion menu window is opened.
________________________________________________________________________________
|c_<S-Tab>| +
||<S-Tab>||
________________________________________________________________________________
Complete the previous full match when 'wildmode' contains "full".
________________________________________________________________________________
// vim: set filetype=asciidoc:

View File

@@ -0,0 +1,88 @@
HEADER
section:Writing{nbsp}documentation[writing-docs,documentation]
For every new feature, writing documentation is _mandatory_ for the patch to
be accepted. The docs are written in
http://www.methods.co.nz/asciidoc/index.html[asciidoc] version 8.2.x.
They are placed in the _src/locale/en-US/_ directory and compiled with
_make doc_. Please refer to the
http://www.methods.co.nz/asciidoc/userguide.html[asciidoc documentation] above
for details. Usually you can just write text as is, and mostly it will be
interpreted correctly. The only difficult part is to write special sections
like for help::help[various.html#online-help].
----------------------------------------------------------------------------------
|<F1>| |:help| |:h| |help|
||:h[elp] {subject}|| +
||<F1>||
____________________________________________________________________________
Open help window.
The default section is shown unless {subject} is specified.
If you need help for a specific topic, try [c]:help overview[c].
____________________________________________________________________________
----------------------------------------------------------------------------------
is displayed as:
++++++++++++++++++++++++++++++++++++++++
<p><span class="hiddentag">&lt;F1&gt;</span> <span
class="hiddentag">:help</span> <span class="hiddentag">:h</span> <span
class="hiddentag">help</span>
<div class="key">:h[elp] <span class="argument">&#123;subject&#125;</span></div><br />
<div class="key">&lt;F1&gt;</div></p>
<div class="quoteblock">
<div class="quoteblock-content">
<p>Open help window.
The default section is shown unless <span class="argument">&#123;subject&#125;</span> is specified.
If you need help for a specific topic, try <span class="command">:help overview</span>.</p>
</div></div>
+++++++++++++++++++++++++++++++++++++++
Some notes about the code above:
- *$$|<F1>|$$* defines a _tag_. A tag is written at the right in magenta and let's
you jump to a topic with [c]:help <F1>[c]. Note that you must write it from
right to left, so in the above example $$|help|$$ will be the most left tag,
and $$|<F1>|$$ the most right one.
- *$$||:h[elp] {subject}|| +$$* and *$$||<F1>||$$* define command or mapping
names and are printed on the left side. Note the + at the end of one
command, that indicates a new line. There is no general rule when a new line
is needed and when not, just try it out and see what looks better.
- The actual help code for this command is embedded in at least 4 underscores
(_). This generates a quoteblock and indents the text so it is more clear
that it belongs to the command.
- Wrap things in *$$[c]$$* and they are drawn like a :command. Also *$$[o]$$*,
*$$[m]$$* and *$$[a]$$* are available to markup options, mappings, and
arguments.
- As a convenience, any string within \{...\} and $$[count]$$ and $$[!]$$ are
automatically marked up as an argument.
There are also some additional asciidoc commands specifically for writing
Vimperator documentation:
- *$$section:Writing{nbsp}documentation[writing-docs,documentation]$$* Creates
a new section like _Writing Documentation_ in this help file with 2 tags.
- *$$help:developer{nbsp}information[developer.html#documentation]$$* creates
a link with text _developer information_ to the tag _documentation_ in
the file _developer.html_.
If you don't know in which file/section you should put some documentation, ask
on the mailing list or on #vimperator. Usually help should be grouped together
in logically connected subject areas like
help:opening{nbsp}web{nbsp}pages[browsing.html#opening].
section:Generating{nbsp}documentation[generating-docs]
You can also autogenerate most of the asciidoc help after you have written a
new command, mapping or option. For this, use:
:echo util.generateHelp(commands.get("addons"), "Extra text")
Now you can copy the asciidoc text but always make sure it looks OK after
you compile the help file with "make doc", as the auto-generation might
not work correctly for all special cases.
// vim: set filetype=asciidoc:

84
xulmus/locale/en-US/eval.txt Executable file
View File

@@ -0,0 +1,84 @@
HEADER
|expression| |expr| |eval| +
INTRO TO BE WRITTEN...
|:ec| |:echo| +
||:ec[ho] {expr}||
________________________________________________________________________________
Echo the expression. Useful for showing informational messages. Multiple lines
can be separated by \n. {expr} can either be a quoted string, or any expression
which can be fed to eval() like 4+5. You can also view the source code of
objects and functions if the return value of {expr} is an object or function.
________________________________________________________________________________
|:echoe| |:echoerr|
||:echoe[rr] {expr}|| +
________________________________________________________________________________
Echo the expression as an error message. Just like [c]:ec[ho][c] but echoes
the result highlighted as ErrorMsg and saves it to the message history.
________________________________________________________________________________
|:echom| |:echomsg|
||:echom[sg] {expr}|| +
________________________________________________________________________________
Echo the expression as an informational message. Just like [c]:ec[ho][c] but
also saves the message in the message history.
________________________________________________________________________________
|:exe| |:execute|
||:exe[cute] {expr}|| +
________________________________________________________________________________
Execute the string that results from the evaluation of {expr} as an Ex command.
Example: [c]:execute "source " + io.getRCFile().path[c] sources the appropriate
RC file.
Note: Unlike Vim this currently only supports a single argument.
________________________________________________________________________________
|:js| |:javas| |:javascript|
||:javas[cript] {cmd}|| +
||:javascript <<{endpattern}\n{empty}{script}\n{empty}{endpattern} || +
||:javascript[!]||
________________________________________________________________________________
Run any JavaScript command through eval(). Acts as a JavaScript interpreter by
passing the argument to `eval()`.
[c]:javascript alert("Hello world")[c] shows a dialog box with the text "Hello world".
[c]:javascript <<EOF[c] reads all the lines until a line starting with "EOF"
is found, and interpret them with the JavaScript _eval()_ function.
The special version [c]:javascript![c] opens the JavaScript console of
Firefox.
[m]<Tab>[m] completion is available for [c]:javascript {cmd}<Tab>[c] (but not
yet for the [c]:js <<EOF[c] multiline widget). Be aware that Vimperator needs
to run {cmd} through eval() to get the completions, which could have unwanted
side effects.
________________________________________________________________________________
// >> To make the syntax highlighting happy
|:let|
||:let {var-name} [+-.]= {expr1}|| +
||:let {var-name}|| +
||:let||
________________________________________________________________________________
Sets or lists a variable. Sets the variable {var-name} to the value of the
expression {expr1}. If no expression is given, the value of the variable is
displayed.Without arguments, displays a list of all variables.
________________________________________________________________________________
|:unl| |:unlet|
||:unl[et][!] {name} ...|| +
________________________________________________________________________________
Deletes the variable {name}. Several variable names can be given. When used
with [!] no error message is output for non-existing variables.
________________________________________________________________________________
// vim: set filetype=asciidoc:

90
xulmus/locale/en-US/gui.txt Executable file
View File

@@ -0,0 +1,90 @@
HEADER
|gui| +
Although Vimperator offers the most frequently used Firefox functionality via
Ex and Normal mode commands there may be times when directly accessing the GUI
is required. There are commands for accessing the menu system, standard dialogs
and the sidebar.
|:emenu| +
||:emenu {menu}||
________________________________________________________________________________
Execute {menu} from the command line. This command provides command-line access
to all menu items available from the main Firefox menubar. {menu} is a
hierarchical path to the menu item with each submenu separated by a period.
E.g. [c]:emenu File.Open File...[c]
________________________________________________________________________________
|:addo| |:addons| +
||:addo[ns]||
________________________________________________________________________________
Show available Browser Extensions and Themes.
You can add/remove/disable browser extensions from this dialog.
Be aware that not all Firefox extensions work, because Vimperator overrides
some key bindings and changes Firefox's GUI.
________________________________________________________________________________
|:dia| |:dialog|
||:dia[log] [a][firefox-dialog][a]|| +
________________________________________________________________________________
Open a Firefox dialog.
Available dialogs:
`------------------`-----------------------------------
*about* About Firefox
*addbookmark* Add bookmark for the current page
*addons* Manage Add-ons
*bookmarks* List your bookmarks
*checkupdates* Check for updates
*cleardata* Clear private data
*cookies* List your cookies
*console* JavaScript console
*customizetoolbar* Customize the Toolbar
*dominspector* DOM Inspector
*downloads* Manage Downloads
*history* List your history
*import* Import Preferences, Bookmarks, History, etc. from other browsers
*openfile* Open the file selector dialog
*pageinfo* Show information about the current page
*pagesource* View page source
*places* Places Organizer: Manage your bookmarks and history
*preferences* Show Firefox preferences dialog
*printpreview* Preview the page before printing
*printsetup* Setup the page size and orientation before printing
*print* Show print dialog
*saveframe* Save frame to disk
*savepage* Save page to disk
*searchengines* Manage installed search engines
*selectionsource* View selection source
-------------------------------------------------------
________________________________________________________________________________
|:dl| |:downl| |:downloads| +
||:downl[oads]||
________________________________________________________________________________
Show progress of current downloads. Open the original Firefox download dialog
in a new tab. Here, downloads can be paused, canceled and resumed.
________________________________________________________________________________
|:sbcl| |:sbclose| +
||:sbcl[ose]||
________________________________________________________________________________
Close the sidebar window.
________________________________________________________________________________
|:sbope| |:sbopen| |:sb| |:sbar| |:sideb| |:sidebar| +
||:sidebar {name}||
________________________________________________________________________________
Open the sidebar window. {name} is any of the menu items listed under the
standard Firefox View->Sidebar menu. Add-ons, Preferences and Downloads are
also available in the sidebar.
________________________________________________________________________________
// vim: set filetype=asciidoc:

24
xulmus/locale/en-US/help.js Executable file
View File

@@ -0,0 +1,24 @@
function checkFragment()
{
let frag = document.location.hash.substr(1);
if (!frag || document.getElementById(frag))
return;
let elem = document.evaluate('//*[@class="tag" and text()="' + frag + '"]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0);
if (elem)
window.content.scrollTo(0, elem.getBoundingClientRect().top - 10); // 10px context
}
document.addEventListener("load", checkFragment, true);
window.addEventListener("message", function (event) {
if (event.data == "fragmentChange")
checkFragment();
}, true);
document.addEventListener("click", function (event) {
let evt = document.createEvent("UIEvents");
evt.initEvent("liberatorHelpLink", true, true);
event.target.dispatchEvent(evt);
}, true);
// vim: set fdm=marker sw=4 ts=4 et:

67
xulmus/locale/en-US/hints.txt Executable file
View File

@@ -0,0 +1,67 @@
HEADER
|quick-hints| |hints| +
INTRO TO BE WRITTEN...
|f| +
||#f#{hint}||
________________________________________________________________________________
Start QuickHint mode. In QuickHint mode, every hintable item (according to the
'hinttags' XPath query) is assigned a unique number. You can now either type
this number or type any part of the URL which you want to follow, and it is
followed as soon as it can be uniquely identified. Often it can be useful to
combine these techniques to narrow down results with some letters, and then
typing a single digit to make the match unique. Pressing [m]<Leader>[m]
(defaults to [c]:let mapleader = "\"[c]) toggles "escape-mode", where numbers
are treated as normal text. +
[m]<Esc>[m] stops this mode at any time.
________________________________________________________________________________
|F| +
||#F#{hint}||
________________________________________________________________________________
Start QuickHint mode, but open link in a new tab. Like normal QuickHint
mode (activated with [m]f[m]) but opens the link in a new tab. The new
tab will be loaded in background according to the
\'browser.tabs.loadInBackground' Firefox preference.
________________________________________________________________________________
|extended-hints| +
|;| +
||#;#{mode}{empty}{hint}||
________________________________________________________________________________
Start an extended hint mode. ExtendedHint mode is useful for performing
operations on hinted elements other than the default left mouse click. For
example, you can yank link locations, open them in a new window or save images.
If you want to yank the location of hint [a]24[a], press [m];y[m] to start this
hint mode. Then press [a]24[a] to copy the hint location.
{mode} can be one of: +
* |;;| [m];[m] to focus a link and hover it with the mouse
* |;?| [m]?[m] to show information about the element (incomplete)
* |;s| [m]s[m] to save its destination
* |;a| [m]a[m] to save its destination (prompting for save location)
* |;f| [m]f[m] to focus a frame
* |;o| [m]o[m] to open its location in the current tab
* |;t| [m]t[m] to open its location in a new tab
* |;b| [m]b[m] to open its location in a new background tab
* |;w| [m]w[m] to open its destination in a new window
* |;F| [m]F[m] to follow a sequence of [m]<CR>[m]-delimited hints in background tabs
* |;O| [m]O[m] to generate an [c]:open[c] with hint's URL (like [m]O[m])
* |;T| [m]T[m] to generate a [c]:tabopen[c] with hint's URL (like [m]T[m])
* |;W| [m]W[m] to generate a [c]:winopen[c] with hint's URL
* |;v| [m]v[m] to view its destination source
* |;V| [m]V[m] to view its destination source in the external editor
* |;y| [m]y[m] to yank its destination location
* |;Y| [m]Y[m] to yank its text description
Hintable elements for all extended hint modes can be set in the
'extendedhinttags' XPath string.
________________________________________________________________________________
// vim: set filetype=asciidoc:

316
xulmus/locale/en-US/index.txt Executable file
View File

@@ -0,0 +1,316 @@
HEADER
|index| +
This file contains a list of all available commands.
section:Insert{nbsp}mode[insert-index]
||[m]<C-i>[m]|| Launch the external editor +
||[m]<C-]>[m]|| Expand an Insert-mode abbreviation +
section:Normal{nbsp}mode[normal-index]
||[m]<C-^>[m]|| Select the alternate tab or the [count]th tab +
||[m]<C-a>[m]|| Increment last number in URL +
||[m]<C-b>[m]|| Scroll up a full page +
||[m]<C-c>[m]|| Stop loading +
||[m]<C-d>[m]|| Scroll window downwards in the buffer +
||[m]<C-f>[m]|| Scroll down a full page +
||[m]<C-g>[m]|| Print the current file name +
||[m]<C-i>[m]|| Go to a newer position in the jump list +
||[m]<C-l>[m]|| Redraw the screen +
||[m]<C-o>[m]|| Go to an older position in the jump list +
||[m]<C-u>[m]|| Scroll window upwards in the buffer +
||[m]<C-v>[m]|| Pass through next key +
||[m]<C-x>[m]|| Decrement last number in URL +
||[m]<C-z>[m]|| Temporarily ignore all Vimperator key bindings +
||[m]<Esc>[m]|| Focus content +
||[m]<F1>[m]|| Open help window +
||[m]<S-Tab>[m]|| Rewind keyboard focus +
||[m]<Tab>[m]|| Advance keyboard focus +
||[m]0[m]|| Scroll to the absolute left of the document +
||[m]$[m]|| Scroll to the absolute right of the document +
||[m]A[m]|| Toggle bookmarked state of current URL +
||[m]B[m]|| Show buffer list +
||[m]D[m]|| Delete current buffer, focus tab to the left +
||[m]F[m]|| Start QuickHint mode, but open link in a new tab +
||[m]G[m]|| Go to the end of the document +
||[m]H[m]|| Go back in the browser history +
||[m]L[m]|| Go forward in the browser history +
||[m]M[m]|| Add new QuickMark for current URL +
||[m]N[m]|| Find previous +
||[m]O[m]|| Open one or more URLs, based on current location +
||[m]P[m]|| Open (put) a URL based on the current clipboard contents in a new buffer +
||[m]R[m]|| Reload while skipping the cache +
||[m]T[m]|| Open one or more URLs in a new tab, based on current location +
||[m]Y[m]|| Copy selected text or current word +
||[m]a[m]|| Open a prompt to bookmark the current URL +
||[m]b[m]|| Open a prompt to switch buffers +
||[m]d[m]|| Delete current buffer +
||[m]f[m]|| Start QuickHint mode +
||[m]h[m]|| Scroll document to the left +
||[m]i[m]|| Start Caret mode +
||[m]j[m]|| Scroll document down +
||[m]k[m]|| Scroll document up +
||[m]l[m]|| Scroll document to the right +
||[m]m[m]|| Set mark at the cursor position +
||[m]n[m]|| Find next +
||[m]o[m]|| Open one or more URLs +
||[m]p[m]|| Open (put) a URL based on the current clipboard contents in the current buffer +
||[m]q[m]|| Record a key sequence into a macro +
||[m]r[m]|| Reload current page +
||[m]t[m]|| Open one or more URLs in a new tab +
||[m]u[m]|| Undo closing of a tab +
||[m]y[m]|| Yank current location to the clipboard +
||[m];[m]|| Start an extended hint mode +
||[m]:[m]|| Enter Command-line mode +
||[m]~[m]|| Open home directory +
||[m]/[m]|| Search forward for a pattern +
||[m]?[m]|| Search backwards for a pattern +
||[m]*[m]|| Find word under cursor +
||[m]#[m]|| Find word under cursor backwards +
||[m]N%[m]|| Scroll to {count} percent of the document +
||[m]'[m]|| Jump to the mark in the current buffer +
||[m]@[m]|| Play a macro +
||[m].[m]|| Repeat the last keyboard command +
||[m]]f[m]|| Focus next frame +
||[m][f[m]|| Focus previous frame +
||[m]]] [m]|| Follow the link labeled \'next' or \'>' if it exists +
||[m][[ [m]|| Follow the link labeled \'prev', \'previous' or \'<' if it exists +
||[m]g$[m]|| Go to the last tab +
||[m]g<[m]|| Redisplay the last command output +
||[m]g0[m]|| Go to the first tab +
||[m]g<C-g>[m]|| Print file information +
||[m]gB[m]|| Repeat last [c]:buffer[!][c] command in reverse direction +
||[m]gF[m]|| View source with an external editor +
||[m]gH[m]|| Open homepage in a new tab +
||[m]gP[m]|| Open (put) a URL based on the current clipboard contents in a new buffer +
||[m]gT[m]|| Go to previous tab +
||[m]gU[m]|| Go to the root of the website +
||[m]gb[m]|| Repeat last [c]:buffer[!][c] command +
||[m]gf[m]|| View source +
||[m]gg[m]|| Go to the top of the document +
||[m]gh[m]|| Open homepage +
||[m]gi[m]|| Focus last used input field +
||[m]gn[m]|| Jump to a QuickMark in a new tab +
||[m]go[m]|| Jump to a QuickMark +
||[m]gt[m]|| Go to the next tab +
||[m]gu[m]|| Go to parent directory +
||[m]ZQ[m]|| Quit and don't save the session +
||[m]ZZ[m]|| Quit and save the session +
||[m]zI[m]|| Enlarge full zoom of current web page +
||[m]zM[m]|| Enlarge full zoom of current web page by a larger amount +
||[m]zO[m]|| Reduce full zoom of current web page +
||[m]zR[m]|| Reduce full zoom of current web page by a larger amount +
||[m]zZ[m]|| Set full zoom value of current web page +
||[m]zi[m]|| Enlarge text zoom of current web page +
||[m]zm[m]|| Enlarge text zoom of current web page by a larger amount +
||[m]zo[m]|| Reduce text zoom of current web page +
||[m]zr[m]|| Reduce text zoom of current web page by a larger amount +
||[m]zz[m]|| Set text zoom value of current web page +
section:Command-line{nbsp}editing[ex-edit-index]
||[m]<C-c>[m]|| Quit Command-line mode without executing +
||[m]<C-]>[m]|| Expand a command-line abbreviation +
||[m]<Up>[m]|| Recall the previous command line from the history list which matches the current command line +
||[m]<Down>[m]|| Recall the next command line from the history list which matches the current command line +
||[m]<Tab>[m]|| Complete the word in front of the cursor according to the behavior specified in 'wildmode' +
||[m]<S-Tab>[m]|| Complete the previous full match when 'wildmode' contains "full" +
section:Ex{nbsp}commands[ex-cmd-index,:index]
||[c]:![c]|| Run a command +
||[c]:abbreviate[c]|| Abbreviate a key sequence +
||[c]:abclear[c]|| Remove all abbreviations +
||[c]:addons[c]|| Manage available Extensions and Themes +
||[c]:autocmd[c]|| Execute commands automatically on events +
||[c]:back[c]|| Go back in the browser history +
||[c]:bdelete[c]|| Delete current buffer +
||[c]:beep[c]|| Play a system beep +
||[c]:bmark[c]|| Add a bookmark +
||[c]:bmarks[c]|| List or open multiple bookmarks +
||[c]:buffer[c]|| Switch to a buffer +
||[c]:buffers[c]|| Show a list of all buffers +
||[c]:cabbrev[c]|| Abbreviate a key sequence in Command-line mode +
||[c]:cabclear[c]|| Remove all abbreviations in Command-line mode +
||[c]:cd[c]|| Change the current directory +
||[c]:cmap[c]|| Map a key sequence in Command-line mode +
||[c]:cmapclear[c]|| Remove all mappings in Command-line mode +
||[c]:cnoremap[c]|| Map a key sequence without remapping keys in Command-line mode +
||[c]:colorscheme[c]|| Load a color scheme +
||[c]:comclear[c]|| Delete all user-defined commands +
||[c]:command[c]|| List and define commands +
||[c]:cunabbrev[c]|| Remove an abbreviation in Command-line mode +
||[c]:cunmap[c]|| Remove a mapping in Command-line mode +
||[c]:delbmarks[c]|| Delete a bookmark +
||[c]:delcommand[c]|| Delete the specified user-defined command +
||[c]:delmacros[c]|| Delete macros +
||[c]:delmarks[c]|| Delete the specified marks +
||[c]:delqmarks[c]|| Delete the specified QuickMarks +
||[c]:delstyle[c]|| Delete any matching styles +
||[c]:dialog[c]|| Open a undefined dialog +
||[c]:doautoall[c]|| Apply the autocommands matching the specified URL to all buffers +
||[c]:doautocmd[c]|| Apply the autocommands matching the specified URL to the current buffer +
||[c]:downloads[c]|| Show progress of current downloads +
||[c]:echo[c]|| Echo the expression +
||[c]:echoerr[c]|| Echo the expression as an error message +
||[c]:echomsg[c]|| Echo the expression as an informational message +
||[c]:emenu[c]|| Execute the specified menu item from the command line +
||[c]:execute[c]|| Execute the argument as an Ex command +
||[c]:exusage[c]|| List all Ex commands with a short description +
||[c]:finish[c]|| Stop sourcing a script file +
||[c]:forward[c]|| Go forward in the browser history +
||[c]:hardcopy[c]|| Print current document +
||[c]:help[c]|| Display help +
||[c]:highlight[c]|| Style Vimperator +
||[c]:history[c]|| Show recently visited URLs +
||[c]:iabbrev[c]|| Abbreviate a key sequence in Insert mode +
||[c]:iabclear[c]|| Remove all abbreviations in Insert mode +
||[c]:imap[c]|| Map a key sequence in Insert mode +
||[c]:imapclear[c]|| Remove all mappings in Insert mode +
||[c]:inoremap[c]|| Map a key sequence without remapping keys in Insert mode +
||[c]:iunabbrev[c]|| Remove an abbreviation in Insert mode +
||[c]:iunmap[c]|| Remove a mapping in Insert mode +
||[c]:javascript[c]|| Run a JavaScript command through eval() +
||[c]:jumps[c]|| Show jumplist +
||[c]:let[c]|| Set or list a variable +
||[c]:loadplugins[c]|| Immediately load all unloaded plugins +
||[c]:macros[c]|| List all macros +
||[c]:map[c]|| Map a key sequence +
||[c]:mapclear[c]|| Remove all mappings +
||[c]:mark[c]|| Mark current location within the web page +
||[c]:marks[c]|| Show all location marks of current web page +
||[c]:messages[c]|| Display previously given messages +
||[c]:mkvimperatorrc[c]|| Write current key mappings and changed options to the config file +
||[c]:nohlsearch[c]|| Remove the search highlighting +
||[c]:noremap[c]|| Map a key sequence without remapping keys +
||[c]:normal[c]|| Execute Normal mode commands +
||[c]:open[c]|| Open one or more URLs in the current tab +
||[c]:optionusage[c]|| List all options with a short description +
||[c]:pageinfo[c]|| Show various page information +
||[c]:pagestyle[c]|| Select the author style sheet to apply +
||[c]:play[c]|| Replay a recorded macro +
||[c]:preferences[c]|| Show Firefox preferences dialog +
||[c]:pwd[c]|| Print the current directory name +
||[c]:qmark[c]|| Mark a URL with a letter for quick access +
||[c]:qmarks[c]|| Show all QuickMarks +
||[c]:quit[c]|| Quit current tab +
||[c]:quitall[c]|| Quit undefined +
||[c]:redraw[c]|| Redraw the screen +
||[c]:reload[c]|| Reload current page +
||[c]:reloadall[c]|| Reload all tab pages +
||[c]:restart[c]|| Force undefined to restart +
||[c]:runtime[c]|| Source the specified file from each directory in 'runtimepath' +
||[c]:saveas[c]|| Save current document to disk +
||[c]:sbclose[c]|| Close the sidebar window +
||[c]:scriptnames[c]|| List all sourced script names +
||[c]:set[c]|| Set an option +
||[c]:setglobal[c]|| Set global option +
||[c]:setlocal[c]|| Set local option +
||[c]:sidebar[c]|| Open the sidebar window +
||[c]:style[c]|| Style Vimperator and web sites +
||[c]:source[c]|| Read Ex commands from a file +
||[c]:stop[c]|| Stop loading +
||[c]:tab[c]|| Execute a command and tell it to output in a new tab +
||[c]:tabdetach[c]|| Detach current tab to its own window +
||[c]:tabduplicate[c]|| Duplicate current tab +
||[c]:tablast[c]|| Switch to the last tab +
||[c]:tabmove[c]|| Move the current tab after tab N +
||[c]:tabnext[c]|| Switch to the next or [count]th tab +
||[c]:tabonly[c]|| Close all other tabs +
||[c]:tabopen[c]|| Open one or more URLs in a new tab +
||[c]:tabprevious[c]|| Switch to the previous tab or go [count] tabs back +
||[c]:tabrewind[c]|| Switch to the first tab +
||[c]:time[c]|| Profile a piece of code or run a command multiple times +
||[c]:unabbreviate[c]|| Remove an abbreviation +
||[c]:undo[c]|| Undo closing of a tab +
||[c]:undoall[c]|| Undo closing of all closed tabs +
||[c]:unlet[c]|| Delete a variable +
||[c]:unmap[c]|| Remove a mapping +
||[c]:version[c]|| Show version information +
||[c]:viewsource[c]|| View source code of current document +
||[c]:viusage[c]|| List all mappings with a short description +
||[c]:winclose[c]|| Close window +
||[c]:winopen[c]|| Open one or more URLs in a new window +
||[c]:wqall[c]|| Save the session and quit +
||[c]:zoom[c]|| Set zoom value of current web page +
section:Options[option-index]
||'activate'|| Define when tabs are automatically activated +
||'cdpath'|| List of directories searched when executing [c]:cd[c] +
||'complete'|| Items which are completed at the [c]:[tab]open prompt[c] +
||'defsearch'|| Set the default search engine +
||'editor'|| Set the external text editor +
||'errorbells'|| Ring the bell when an error message is displayed +
||'eventignore'|| List of autocommand event names which should be ignored +
||'exrc'|| Allow reading of an RC file in the current directory +
||'extendedhinttags'|| XPath string of hintable elements activated by [m];[m] +
||'focuscontent'|| Try to stay in Normal mode after loading a web page +
||'followhints'|| Change the behaviour of [m]<Return>[m] in Hints mode +
||'fullscreen'|| Show the current window fullscreen +
||'guioptions'|| Show or hide certain GUI elements like the menu or toolbar +
||'helpfile'|| Name of the main help file +
||'hintmatching'|| How links are matched +
||'hinttags'|| XPath string of hintable elements activated by [m]f[m] and [m]F[m] +
||'hinttimeout'|| Timeout before automatically following a non-unique numerical hint +
||'history'|| Number of Ex commands and search patterns to store in the command-line history +
||'hlsearch'|| Highlight previous search pattern matches +
||'ignorecase'|| Ignore case in search patterns +
||'incsearch'|| Show where the search pattern matches as it is typed +
||'insertmode'|| Use Insert mode as the default for text areas +
||'laststatus'|| Show the status line +
||'linksearch'|| Limit the search to hyperlink text +
||'loadplugins'|| Load plugin scripts when starting up +
||'messages'|| Number of messages to store in the message history +
||'more'|| Pause the message list window when more than one screen of listings is displayed +
||'newtab'|| Define which commands should output in a new tab by default +
||'nextpattern'|| Patterns to use when guessing the \'next' page in a document sequence +
||'online'|| Set the \'work offline' option +
||'pageinfo'|| Desired info on [c]:pa[geinfo][c] +
||'popups'|| Where to show requested popup windows +
||'preload'|| Speed up first time history/bookmark completion +
||'previouspattern'|| Patterns to use when guessing the \'previous' page in a document sequence +
||'runtimepath'|| List of directories searched for runtime files +
||'scroll'|| Number of lines to scroll with [m]<C-u>[m] and [m]<C-d>[m] commands +
||'shell'|| Shell to use for executing [c]:![c] and [c]:run[c] commands +
||'shellcmdflag'|| Flag passed to shell when executing [c]:![c] and [c]:run[c] commands +
||'showmode'|| Show the current mode in the command line +
||'showstatuslinks'|| Show the destination of the link under the cursor in the status bar +
||'showtabline'|| Control when to show the tab bar of opened web pages +
||'smartcase'|| Override the 'ignorecase' option if the pattern contains uppercase characters +
||'suggestengines'|| Engine Alias which has a feature of suggest +
||'titlestring'|| Change the title of the window +
||'urlseparator'|| Set the separator regexp used to separate multiple URL args +
||'usermode'|| Show current website with a minimal style sheet to make it easily accessible +
||'verbose'|| Define which info messages are displayed +
||'visualbell'|| Use visual bell instead of beeping on errors +
||'wildcase'|| Completion case matching mode +
||'wildignore'|| List of file patterns to ignore when completing files +
||'wildmode'|| Define how command-line completion works +
||'wildoptions'|| Change how command-line completion is done +
||'wordseparators'|| How words are split for hintmatching +
// vim: set filetype=asciidoc:

30
xulmus/locale/en-US/insert.txt Executable file
View File

@@ -0,0 +1,30 @@
HEADER
|Insert-mode| |Insert| |mode-insert| +
Insert mode is used to enter text in text boxes and text areas. When
'insertmode' is set, focusing on a text area immediately switches to
Insert mode.
|i| +
||i||
________________________________________________________________________________
Starts Insert mode in text areas when 'insertmode' is not set.
________________________________________________________________________________
section:Insert-mode{nbsp}special{nbsp}keys[ins-special-keys]
|i_<C-i>| +
||<C-i>||
________________________________________________________________________________
Launch the external editor. See the 'editor' option.
________________________________________________________________________________
|i_<C-]>| +
||<C-]>||
________________________________________________________________________________
Expand an Insert-mode abbreviation.
________________________________________________________________________________
// vim: set filetype=asciidoc:

115
xulmus/locale/en-US/intro.txt Executable file
View File

@@ -0,0 +1,115 @@
LOGO
+++<div style="text-align: center;">+++
*First there was a Navigator, then there was an Explorer.
Later it was time for a Konqueror. Now it's time for an Imperator, the
VIMperator :)*
+++</div>+++
section:Introduction[intro]
http://vimperator.org[Vimperator] is a free browser add-on for Firefox,
which makes it look and behave like the http://www.vim.org[Vim]
text editor. It has similar key bindings, and you could call it a modal
web browser, as key bindings differ according to which mode you are in.
|warning| +
Warning:
To provide the most authentic Vim experience, the Firefox menubar and toolbar
are hidden. +
If you really need them, type: [c]:set guioptions+=mT[c] to get them back. +
If you don't like Vimperator at all, you can uninstall it by typing
[c]:addons[c] and remove/disable it. +
If you like it but can't remember the shortcuts, then press [m]F1[m] or
[c]:help[c] to get this help window back.
|author| |donation| +
Vimperator was written by mailto:stubenschrott@gmx.net[Martin Stubenschrott].
If you appreciate my work on Vimperator and want to encourage me working on it
more, you can either send me greetings, patches or make a donation:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<!-- the PAYPAL code -->
<form style="text-align: center;" action="https://www.paypal.com/cgi-bin/webscr" method="post"><fieldset class="paypal">
<input type="hidden" name="cmd" value="_s-xclick"/>
<input type="image" src="chrome://liberator/content/x-click-but21.gif" name="submit" alt="Make payments with PayPal - it\'s fast, free and secure!"/>
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----MIIHPwYJKoZIhvcNAQcEoIIHMDCCBywCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYBDDJfc+lXLBSAM9XSWv/ebzG/L7PTqYiIXaWVg8pfinDsfYaAcifcgCTuApg4v/VaZIQ/hLODzQu2EvmjGXP0twErA/Q8G5gx0l197PJSyVXb1sLwd1mgOdLF4t0HmDCdEI9z3H6CMhsb3xVwlfpzllSfCIqzlSpx4QtdzEZGzLDELMAkGBSsOAwIaBQAwgbwGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQI8ZOwn5QkHgaAgZjjtPQxB7Vw2rS7Voap9y+xdVLoczUQ97hw+bOdZLcGykBtfoVjdn76MS51QKjGp1fEmxkqTuQ+Fxv8+OVtHu0QF/qlrhmC3fJBRJ0IFWxKdXS+Wod4615BDaG2X1hzvCL443ffka8XlLSiFTuW43BumQs/O+6Jqsk2hcReP3FIQOvtWMSgGTALnZx7x5c60u/3NSKW5qvyWKCCA4cwggODMIIC7KADAgECAgEAMA0GCSqGSIb3DQEBBQUAMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTAeFw0wNDAyMTMxMDEzMTVaFw0zNTAyMTMxMDEzMTVaMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwUdO3fxEzEtcnI7ZKZL412XvZPugoni7i7D7prCe0AtaHTc97CYgm7NsAtJyxNLixmhLV8pyIEaiHXWAh8fPKW+R017+EmXrr9EaquPmsVvTywAAE1PMNOKqo2kl4Gxiz9zZqIajOm1fZGWcGS0f5JQ2kBqNbvbg2/Za+GJ/qwUCAwEAAaOB7jCB6zAdBgNVHQ4EFgQUlp98u8ZvF71ZP1LXChvsENZklGswgbsGA1UdIwSBszCBsIAUlp98u8ZvF71ZP1LXChvsENZklGuhgZSkgZEwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAgV86VpqAWuXvX6Oro4qJ1tYVIT5DgWpE692Ag422H7yRIr/9j/iKG4Thia/Oflx4TdL+IFJBAyPK9v6zZNZtBgPBynXb048hsP16l2vi0k5Q2JKiPDsEfBhGI+HnxLXEaUWAcVfCsQFvd2A1sxRr67ip5y2wwBelUecP3AjJ+YcxggGaMIIBlgIBATCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA3MDMyMTIyMzI1OFowIwYJKoZIhvcNAQkEMRYEFCirrvlwYVHQiNEEbM6ikfx9+Dm5MA0GCSqGSIb3DQEBAQUABIGAtbsR8GdCdURLziozXLSdtY+zJZUPPeQFXXy2V1S/3ldiN+pRvd4HI7xz8mOY1UaKJZpwZnOosy9MflL1/hbiEtEyQ2Dm/s4jnTcJng/NjLIZu+0NYxXRJhB+zMJubnMMMjzNrGlqI4F2HAB/bCA1eOJ5B83Of3dA4rk/T/8GoSQ=-----END PKCS7-----"/>
</fieldset></form>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Of course as a believer in free open source software, only make a donation
if you really like Vimperator and the money doesn't hurt -- otherwise just use
it, recommend it and like it :)
section:Help{nbsp}topics[overview]
- help:Tutorial[tutorial.html]: A quick-start tutorial for new users.
- help:Initialization[starting.html]: How Vimperator starts up, where it reads
the config file...
- help:Browsing[browsing.html]: Basic mappings and commands needed for a
browsing session (how to open a web page or go back in history).
- help:Buffer{nbsp}commands[buffer.html]: Operations on the current document
like scrolling or copying text.
- help:Command-line[cmdline.html]: Command-line editing.
- help:Insert-mode[insert.html]: Insert-mode editing.
- help:Options[options.html]: A description of all options.
- help:Search{nbsp}commands[pattern.html]: Searching for text in the
current buffer.
- help:Tabs[tabs.html]: Managing your tabbed browsing session.
- help:Hints[hints.html]: Selecting hyperlinks.
- help:Key{nbsp}mapping{nbsp}and{nbsp}abbreviations[map.html]: Defining new key
mappings, abbreviations and user commands.
- help:Expression{nbsp}evaluation[eval.html]: Executing JavaScript.
- help:Marks[marks.html]: Using bookmarks, QuickMarks, history and local marks.
- help:Repeating{nbsp}commands[repeat.html]: Using macros to repeat recurring workflows.
- help:Autocommands[autocommands.html]: Automatically executing code on certain
events.
- help:Print[print.html]: Printing pages.
- help:GUI[gui.html]: Accessing Firefox menus, dialogs and the sidebar.
- help:Styling[styling.html]: Changing the styling of content pages and Vimperator itself.
- help:Messages[message.html]: A description of messages and error messages.
- help:Developer{nbsp}information[developer.html]: How to write docs or
plugins.
- help:Various[various.html]: Other help which didn't fit into any other
category.
- help:Index[index.html]: An index of all commands and options.
You can also jump directly to the help of a specific command with [c]:help o[c]
or [c]:help :set[c].
section:Features[features]
* Vim-like keybindings ([m]h[m], [m]j[m], [m]k[m], [m]l[m],
[m]gg[m], [m]G[m], [m]0[m], [m]$[m], [m]ZZ[m], [m]<C-f>[m], etc.)
* Ex commands ([c]:quit[c], [c]:open www.foo.com[c], ...)
* Tab completion available for all commands with support for 'longest' matching when set in 'wildmode'
* Hit-a-hint like navigation of links (start with [m]f[m] to follow a link)
* Advanced completion of bookmark and history URLs (searching also in title, not only URL)
* Vim-like statusline with a wget-like progress bar
* Minimal GUI (easily hide useless menubar and toolbar with [c]:set guioptions=[c])
* Ability to [c]:source[c] JavaScript files, and to use a [a]~/.vimperatorrc[a] file
with syntax highlighting if you install scripts/vimperator.vim
* Easy quick searches ([c]:open foo[c] will search for "foo" in google,
[c]:open ebay terminator[c] will search for "terminator" on ebay)
with support for Firefox keyword bookmarks and search engines
* Count supported for many commands ([m]3<C-o>[m] will go back 3 pages)
* Beep on errors
* Marks support ([m]ma[m] to set mark a on a web page, [m]'a[m] to go there)
* QuickMarks support (quickly go to previously marked web pages with [m]go[m][a]\\{a-zA-Z0-9\\}[a])
* [c]:map[c] and [c]:command[c] support (and feedkeys() for script writers)
* [c]:time[c] support for profiling
* Move the text cursor and select text with Vim keys and a Visual mode
* External editor support
* Macros to replay key strokes
* AutoCommands to execute action on certain events
* A comprehensive help file, explaining all commands, mappings and options.
section:Contact[contact]
Please send comments/bug reports/patches to the mailing list, where I will
properly answer any questions. You can also join the #vimperator IRC channel
on irc.freenode.net or check the Wiki for frequently asked questions. Make
sure, you have read the TODO file first, as I am aware of many things which
can be improved when I find time for it or get patches.
// vim: set filetype=asciidoc:

413
xulmus/locale/en-US/map.txt Executable file
View File

@@ -0,0 +1,413 @@
HEADER
Key mappings, abbreviations, and user-defined commands.
section:Key{nbsp}mapping[key-mapping,mapping,macro]
The key mapping commands can be used to either redefine the standard key
bindings or define new ones. A mapping consists of a key, or sequence of keys,
which are translated to a string of characters. Example:
:map <F2> :echo new Date().toDateString()<CR>
will echo the current date to the command line when [m]<F2>[m] is pressed.
There are separate key mapping tables for each of the Normal, Insert, and
Command-line modes.
|:map-special-chars| +
|<Nop>| +
||<Nop>||
________________________________________________________________________________
Do nothing. This command is useful for disabling a specific mapping. [c]:map
<C-n> <Nop>[c] will prevent [m]<C-n>[m] from doing anything.
________________________________________________________________________________
|<CR>| |map_return| +
||<CR>||
________________________________________________________________________________
Expand to a line terminator in a key mapping. An Ex command in the {rhs} of a
mapping requires a line terminator after it so that it is executed when the
mapping is expanded. [m]<CR>[m] should be used for this purpose.
________________________________________________________________________________
|<Leader>| |mapleader| +
||<Leader>||
________________________________________________________________________________
Expands to the value of the "mapleader" variable in key mapping. If
"mapleader" is unset or empty then "\" is used. Example: +
\{nbsp}[c]:map <Leader>h :echo "Hello"<CR>[c] +
works like +
\{nbsp}[c]:map \h :echo "Hello"<CR>[c] +
but after +
\{nbsp}[c]let mapleader = ","[c] +
it works like +
\{nbsp}[c]:map ,h :echo "Hello"<CR>[c]
________________________________________________________________________________
|:map|
||:map {lhs} {rhs}|| +
||:map {lhs}|| +
||:map||
________________________________________________________________________________
Map the key sequence {lhs} to {rhs}. The {rhs} is remapped, allowing for
nested and recursive mappings.
Warning: Mappings are NOT saved between sessions, make sure you put them in your
vimperatorrc file!
________________________________________________________________________________
|:cm| |:cmap|
||:cmap {lhs} {rhs}|| +
||:cmap {lhs}|| +
||:cmap||
________________________________________________________________________________
Map the key sequence {lhs} to {rhs} (in Command-line mode). The {rhs} is
remapped, allowing for nested and recursive mappings.
Warning: Mappings are NOT saved between sessions, make sure you put them in your
vimperatorrc file!
________________________________________________________________________________
|:im| |:imap|
||:imap {lhs} {rhs}|| +
||:imap {lhs}|| +
||:imap||
________________________________________________________________________________
Map the key sequence {lhs} to {rhs} (in Insert mode). The {rhs} is remapped,
allowing for nested and recursive mappings.
Warning: Mappings are NOT saved between sessions, make sure you put them in your
vimperatorrc file!
________________________________________________________________________________
|:mapc| |:mapclear| +
||:mapc[lear]||
________________________________________________________________________________
Remove all mappings. All user-defined mappings which were set by [c]:map[c] or
[c]:noremap[c] are cleared.
________________________________________________________________________________
|:cmapc| |:cmapclear| +
||:cmapc[lear]||
________________________________________________________________________________
Remove all mappings (in Command-line mode). All user-defined mappings which
were set by [c]:cmap[c] or [c]:cnoremap[c] are cleared.
________________________________________________________________________________
|:imapc| |:imapclear| +
||:imapc[lear]||
________________________________________________________________________________
Remove all mappings (in Insert mode). All user-defined mappings which were set
by [c]:imap[c] or [c]:inoremap[c] are cleared.
________________________________________________________________________________
|:no| |:noremap| +
||:no[remap] {lhs} {rhs}|| +
||:no[remap] {lhs}|| +
||:no[remap]||
________________________________________________________________________________
Map the key sequence {lhs} to {rhs}. No remapping of the {rhs} is performed.
________________________________________________________________________________
|:cno| |:cnoremap| +
||:cno[remap] {lhs} {rhs}|| +
||:cno[remap] {lhs}|| +
||:cno[remap]||
________________________________________________________________________________
Map the key sequence {lhs} to {rhs} (in Command-line mode). No remapping of
the {rhs} is performed.
________________________________________________________________________________
|:ino| |:inoremap| +
||:ino[remap] {lhs} {rhs}|| +
||:ino[remap] {lhs}|| +
||:ino[remap]||
________________________________________________________________________________
Map the key sequence {lhs} to {rhs} (in Insert mode). No remapping of the
{rhs} is performed.
________________________________________________________________________________
|:map-<silent>| +
________________________________________________________________________________
When the first argument to one of the mapping commands is <silent>,
{rhs} is not echoed to the command line, nor, for that matter, anything
else until the command has completed.
________________________________________________________________________________
|:unm| |:unmap| +
||:unm[ap] {lhs}||
________________________________________________________________________________
Remove the mapping of {lhs}.
________________________________________________________________________________
|:cunm| |:cunmap| +
||:cunm[ap] {lhs}||
________________________________________________________________________________
Remove the mapping of {lhs} (in Command-line mode).
________________________________________________________________________________
|:iunm| |:iunmap| +
||:iunm[ap] {lhs}||
________________________________________________________________________________
Remove the mapping of {lhs} (in Insert mode).
________________________________________________________________________________
section:Abbreviations[abbreviations]
Vimperator can automatically replace words identified as abbreviations,
which may be used to save typing or to correct commonly misspelled
words. An abbreviation can be one of three types that are defined by the
types of constituent characters. Whitespace and quotes are non-keyword
types, and all other characters are keyword types.
1. A "full-id" abbreviation consists entirely of keyword characters
(e.g., "teh", "msoft").
2. An "end-id" abbreviation ends in keyword character but otherwise
contains all non-keyword characters (e.g., "'i").
3. A "non-id" abbreviation ends in a non-keyword character but otherwise
contains any non-whitespace character (e.g., "def'").
Strings that cannot be abbreviations include "a'b" and "a b".
An abbreviation is recognized when a space, quote character, or
[m]<C-]>[m] is typed after the abbreviation. There are no default
abbreviations, and abbreviations are never recursive.
|:ab| |:abbreviate|
||:ab[breviate] {lhs} {rhs}|| +
||:ab[breviate] {lhs}|| +
||:ab[breviate]||
________________________________________________________________________________
Abbreviate a key sequence. Abbreviate {lhs} to {rhs}. If only {lhs} is given,
list all abbreviations that start with {lhs}. If no arguments are given,
list all abbreviations.
________________________________________________________________________________
|:ca| |:cabbrev|
||:ca[bbrev] {lhs} {rhs}|| +
||:ca[bbrev] {lhs}|| +
||:ca[bbrev]||
________________________________________________________________________________
Abbreviate a key sequence for Command-line mode. Same as [c]:ab[reviate][c],
but for Command-line mode only.
________________________________________________________________________________
|:ia| |:iabbrev|
||:ia[bbrev] {lhs} {rhs}|| +
||:ia[bbrev] {lhs}|| +
||:ia[bbrev]||
________________________________________________________________________________
Abbreviate a key sequence for Insert mode. Same as [c]:ab[breviate][c] but
for Insert mode only.
________________________________________________________________________________
|:una| |:unabbreviate|
||:una[bbreviate] {lhs}|| +
________________________________________________________________________________
Remove an abbreviation.
________________________________________________________________________________
|:cuna| |:cunabbrev|
||:cuna[bbrev] {lhs}|| +
________________________________________________________________________________
Remove an abbreviation for Command-line mode. Same as [c]:una[bbreviate][c],
but for Command-line mode only.
________________________________________________________________________________
|:iuna| |:iunabbrev|
||:iuna[bbrev] {lhs}|| +
________________________________________________________________________________
Remove an abbreviation for Insert mode. Same as [c]:una[bbreviate][c] but for
Insert mode only.
________________________________________________________________________________
|:abc| |:abclear| +
||:abc[lear]||
________________________________________________________________________________
Remove all abbreviations.
________________________________________________________________________________
|:cabc| |:cabclear| +
||:cabc[lear]||
________________________________________________________________________________
Remove all abbreviations for Command-line mode.
________________________________________________________________________________
|:iabc| |:iabclear| +
||:iabc[lear]||
________________________________________________________________________________
Remove all abbreviations for Insert mode.
________________________________________________________________________________
section:User-defined{nbsp}commands[user-commands]
|:com| |:command|
||:com[mand]|| +
________________________________________________________________________________
List all user-defined commands.
________________________________________________________________________________
||:com[mand] {cmd}|| +
________________________________________________________________________________
List all user-defined commands that start with {cmd}.
________________________________________________________________________________
||:com[mand][!] [{attr}...] {cmd} {rep}|| +
________________________________________________________________________________
Define a new user command. The name of the command is {cmd} and its replacement
text is {rep}. The command's attributes are {attr}. If a command with this name
already exists an error is reported unless [!] is specified, in which case the
command is redefined. Unlike Vim, the command may start with a lowercase
letter.
The command's behavior can be specified by providing attributes when the
command is defined.
|E175| |E176| |:command-nargs| +
Argument handling
By default user commands accept no arguments. This can be changed by specifying
the -nargs attribute.
The valid values are:
`----------`--------------------------------------------------------------------
*-nargs=0* No arguments are allowed (default)
*-nargs=1* One argument is allowed
*-nargs=** Zero or more arguments are allowed
*-nargs=?* Zero or one argument is allowed
*-nargs=+* One or more arguments are allowed
--------------------------------------------------------------------------------
|E180| |E181| |:command-complete| +
Argument completion
Completion for arguments to user defined commands is not available by default.
Completion can be enabled by specifying one of the following arguments to the
-complete option when defining the command.
`----------------`--------------------------------------------------------------
*altstyle* alternate author style sheets
*bookmark* bookmarks
*buffer* buffers
*color* color schemes
*command* Ex commands
*dialog* Firefox dialogs
*dir* directories
*environment* environment variables
*event* autocommand events
*file* files
*help* help tags
*highlight* highlight groups
*javascript* JavaScript expressions
*macro* named macros
*mapping* user mappings
*menu* menu items
*option* Vimperator options
*preference* Firefox preferences
*search* search engines and keywords
*shellcmd* shell commands
*sidebar* sidebar panels
*url* URLs
*usercommand* user commands
*custom,{func}* custom completion, provided by {func}
--------------------------------------------------------------------------------
|E467| |E468| |:command-completion-custom| +
Custom completion
Custom completion can be provided by specifying the "custom,{func}" argument to
-complete. The {func} is called with two arguments, a completion context, and
an object describing the command's arguments. It should set the context's
\'completions' property, or return an object, with \'start' and \'items'
properties, describing the completions and where the replacement is to start.
*start* is the index into the word being completed at which the returned values
should be applied and *completions* is a two dimensional array of the form:
[[arg1, description1], [arg2, description2], ...]
// TODO: add examples
|E177| |E178| |:command-count| +
Count handling
By default user commands do not accept a count. Use the -count attribute if
you'd like to have a count passed to your user command. This will then be
available for expansion as <count> in the argument.
|:command-bang| +
Special cases
By default a user command does not have a special version, i.e. a version
executed with the ! modifier. Providing the -bang attribute will enable this
and <bang> will be available in the argument.
|:command-replacement-text| +
Replacement text
The replacement text {rep} is scanned for escape sequences and these are
replaced with values from the user-entered command line. The resulting string
is then executed as an Ex command.
The valid escape sequences are:
`----------`--------------------------------------------------------------------
*<args>* The command arguments exactly as supplied
*<count>* Any supplied count, e.g. 5
*<bang>* ! if the command was executed with the ! modifier
*<lt>* A literal '<' character to allow for a literal copy of one of the escape sequences. E.g. <lt>args> will expand to a literal <args>
--------------------------------------------------------------------------------
"q-" can be prefixed to the escape sequence so that the value is quoted, making
it suitable for expression evaluation. Example: <q-args>
________________________________________________________________________________
|:comc| |:comclear| +
||:comc[lear]||
________________________________________________________________________________
Delete all user-defined commands.
________________________________________________________________________________
|:delc| |:delcommand|
||:delc[ommand] {cmd}|| +
________________________________________________________________________________
Delete the user-defined command {cmd}.
________________________________________________________________________________
section:Examples[command-examples]
Add a :Google command to search via google:
:command -nargs=* Google open google <args>
// TODO: add decent examples
// vim: set filetype=asciidoc:

249
xulmus/locale/en-US/marks.txt Executable file
View File

@@ -0,0 +1,249 @@
HEADER
|different-marks| |marks| +
Vimperator supports a number of different marks:
- Bookmarks which allow you to mark a web page as one of your favorites for
easy access.
- QuickMarks allow you to define up to 62 (a-zA-Z0-9) web sites (or groups of
web sites) which you visit most often.
- Local marks to store the position within a web page.
- History is also a special type of marks, as Vimperator automatically
remembers sites which you have visited in the past.
section:Bookmarks[bookmarks]
|a| |:bma| |:bmark|
||:bma[rk][!] [a][-title=title][a] [a][-keyword=kw][a] [a][-tags=tag1,tag2][a] [a][url][a]|| +
||a||
____________________________________________________________________________
Add a bookmark. +
The following options are interpreted:
- -title="custom title" (short option: -t)
- -tags=comma,separated,tag,list (short option: -T)
- -keyword=keyword (short option: -k)
If [!] is present, a new bookmark is always added. Otherwise, the first
bookmark matching [a][url][a] is updated.
When creating a new bookmark, if [a][-title][a] isn't given, either the web
page's title or URL is used. You can omit the optional [a][url][a] argument, so
just do [c]:bmark[c] to bookmark the currently loaded web page with a default
title and without any tags.
____________________________________________________________________________
|A| +
||A||
________________________________________________________________________________
Toggle bookmarked state of current URL. Add/remove a bookmark for the current
location, depending on if it is already bookmarked or not. In contrast to the
[c]:bmark[c] command, the bookmark is just _starred_ which means it is placed
in the _Unfiled Bookmarks Folder_ instead of the bookmarks menu.
________________________________________________________________________________
|:bmarks|
||:bmarks[!] [a][filter][a]|| +
________________________________________________________________________________
List or open multiple bookmarks. Open the message window at the bottom of the
screen with all bookmarks which match [a][filter][a] either in the title or
URL.
The special version [c]:bmarks![c] works the same as [c]:bmarks[c] except it
opens all the found bookmarks in new tabs.
Filter can also contain the following options: +
-tags=comma,separated,tag,list (short option: -T) +
-max=N (short options: -m)
________________________________________________________________________________
|:delbm| |:delbmarks|
||:delbm[arks] [a][url][a]|| +
________________________________________________________________________________
Delete a bookmark. Deletes *all* bookmarks which match the [a][url][a]. If
omitted, [a][url][a] defaults to the URL of the current buffer. Use [m]<Tab>[m]
key on a string to complete the URL which you want to delete.
The following options WILL be interpreted in the future:
* [!] a special version to delete ALL bookmarks
________________________________________________________________________________
section:History[history]
|<C-o>| +
||[count]<C-o>||
________________________________________________________________________________
Go to an older position in the jump list. The jump list is just the browser
history for now.
________________________________________________________________________________
|<C-i>| +
||[count]<C-i>||
________________________________________________________________________________
Go to a newer position in the jump list. The jump list is just the browser
history for now.
________________________________________________________________________________
|<M-Left>| |<A-Left>| |H| +
||[count]H||
________________________________________________________________________________
Go back in the browser history. If [count] is specified go back [count] pages.
________________________________________________________________________________
|<M-Right>| |<A-Right>| |L| +
||[count]L||
________________________________________________________________________________
Go forward in the browser history. If [count] is specified go forward [count]
pages.
________________________________________________________________________________
|:ba| |:back|
||:[count]ba[ck][!] [a][url][a]|| +
________________________________________________________________________________
Go back in the browser history. If [count] is specified go back [count] pages. +
The special version [c]:back![c] goes to the beginning of the browser history.
________________________________________________________________________________
|:fw| |:fo| |:forward|
||:[count]fo[rward][!] [a][url][a]|| +
________________________________________________________________________________
Go forward in the browser history. If [count] is specified go forward [count]
pages. +
The special version [c]:forward![c] goes to the end of the browser history.
________________________________________________________________________________
|:hs| |:hist| |:history|
||:hist[ory][!] [a][filter][a]|| +
________________________________________________________________________________
Show recently visited URLs. Open the message window at the bottom of the screen
with all history items which match [a][filter][a] either in the title or URL.
The special version [c]:history![c] works the same as [c]:history[c] except
it opens all the found items in new tabs.
Filter can also contain the following options: +
-max=N (short options: -m)
________________________________________________________________________________
section:QuickMarks[quickmarks]
|go| +
||go[a]\\{a-zA-Z0-9\\}[a]||
________________________________________________________________________________
Jump to a QuickMark in the current tab. Open any QuickMark in the current tab.
You can mark any URLs with [m]M[m][a]\\{a-zA-Z0-9\\}[a]. These QuickMarks are
persistent across browser sessions.
________________________________________________________________________________
|gn| +
||gn[a]\\{a-zA-Z0-9\\}[a]||
________________________________________________________________________________
Jump to a QuickMark in a new tab. Works like [m]go[m][a]\\{a-zA-Z0-9\\}[a] but
opens the QuickMark in a new tab. Whether the new tab is activated or not
depends on the 'activate' option. +
Mnemonic: Go in a new tab. [m]gt[m] would make more sense but is already
taken.
________________________________________________________________________________
|M| +
||M[a]\\{a-zA-Z0-9\\}[a]||
________________________________________________________________________________
Add new QuickMark for current URL. You can go to a marked URL in the current
tab with [m]go[m][a]\\{a-zA-Z0-9\\}[a] or in a new tab with
[m]gn[m][a]\\{a-zA-Z0-9\\}[a]. These QuickMarks are persistent across browser
sessions.
________________________________________________________________________________
|:delqm| |:delqmarks|
||:delqm[arks] {marks}|| +
||:delqm[arks]!||
________________________________________________________________________________
Delete the specified QuickMarks. QuickMarks are presented as a list.
Examples:
* [c]:delqmarks Aa b p[c] deletes QuickMarks A, a, b and p +
* [c]:delqmarks b-p[c] deletes all QuickMarks in the range b to p +
* [c]:delqmarks![c] deletes all QuickMarks
________________________________________________________________________________
|:qma| |:qmark|
||:qma[rk] {a-zA-Z0-9} [a][url][a]|| +
________________________________________________________________________________
Mark a URL with a letter for quick access. You can also mark whole groups like this: +
[c]:qmark f +++http://forum1.com+++, +++http://forum2.com+++, imdb some artist[c]
________________________________________________________________________________
|:qmarks|
||:qmarks [a][arg][a]||
________________________________________________________________________________
Show all QuickMarks. If [a][arg][a] is specified then limit the list to those
QuickMarks mentioned.
________________________________________________________________________________
section:Local{nbsp}marks[localmarks]
|m| +
||m[a]\\{a-zA-Z\\}[a]||
________________________________________________________________________________
Set mark at the cursor position. Marks a-z are local to the buffer, whereas
A-Z are valid between buffers.
________________________________________________________________________________
|\`| |\'| +
||\'[a]\\{a-zA-Z\\}[a]||
________________________________________________________________________________
Jump to the mark in the current buffer. Marks a-z are local to the buffer,
whereas A-Z are valid between buffers.
________________________________________________________________________________
|:delm| |:delmarks|
||:delm[arks] {marks}|| +
||:delm[arks]!||
________________________________________________________________________________
Delete the specified marks. Marks are presented as a list.
Examples:
* [c]:delmarks Aa b p[c] deletes marks A, a, b and p +
* [c]:delmarks b-p[c] deletes all marks in the range b to p +
* [c]:delmarks![c] deletes all marks for the current buffer
________________________________________________________________________________
|:ma| |:mark|
||:ma[rk] {a-zA-Z}||
________________________________________________________________________________
Mark current location within the web page.
________________________________________________________________________________
|:marks| +
||:marks [a][arg][a]||
________________________________________________________________________________
Show all location marks of the current web page. If [a][arg][a] is specified then
limit the list to those marks mentioned.
________________________________________________________________________________
// vim: set filetype=asciidoc:

22
xulmus/locale/en-US/message.txt Executable file
View File

@@ -0,0 +1,22 @@
HEADER
|message-history| +
Vimperator stores all info and error messages in a message history. The type of
info messages output can be controlled by the 'verbose' option.
|:mes| |:messages| +
||:mes[sages]||
________________________________________________________________________________
Display previously given messages.
________________________________________________________________________________
|g<| +
||g<||
________________________________________________________________________________
Redisplay the last command output. Only the most recent command's output is
available.
________________________________________________________________________________
// vim: set filetype=asciidoc:

815
xulmus/locale/en-US/options.txt Executable file
View File

@@ -0,0 +1,815 @@
HEADER
|options| +
Vimperator has a number of internal variables and switches which can be set to
achieve special effects. These options come in 5 forms:
`------------`-----------------------------------------
*boolean* can only be on or off
*number* has a numeric value
*string* has a string value
*charlist* like a string but with unique characters
*stringlist* a comma-separated list of strings
-------------------------------------------------------
section:Setting{nbsp}options[set-option,E764]
|:set| |:se| +
||:se[t]||
____
Show all options that differ from their default value.
____
||:se[t] all||
____
Show all options.
____
|E518| |E519|
||:se[t] {option}?||
____
Show value of {option}.
____
||:se[t] {option} [...]||
____
Toggle option: set, switch it on. +
Number option: show value. +
String option: show value.
____
||:se[t] no[a]{option}[a] [...]|| +
____
Toggle option: Reset, switch it off.
____
||:se[t] {option}! [...]|| +
||:se[t] inv[a]{option}[a] [...]|| +
____
Toggle option: Invert value.
____
||:se[t] inv[a]{option}[a]={value} [...]|| +
||:se[t] {option}!={value} [...]|| +
____
For list options, toggle the specified values.
If the option is a list, the given values are toggled. Given +
\{nbsp}[c]:set opt=foo,bar[c] +
then, +
\{nbsp}[c]:set opt!=foo,baz[c] +
results in +
\{nbsp}opt=bar,baz
____
|:set-default|
||:se[t] {option}& [...]||
____
Reset option to its default value.
____
||:se[t] all&||
____
Set all options to their default value.
____
|:set-args| |E487| |E521|
||:se[t] {option}={value} [...]|| +
____
Set string or number option to {value}. +
For numeric options the value must be given in decimal.
The old value can be inserted by typing [m]<Tab>[m].
____
|:set+=|
||:se[t] {option}+={value} [...]|| +
____
Add the {value} to a number option, or append the {value} to a string option.
When the option is a comma separated list, a comma is added, unless the value
was empty. If the option is a list of flags, superfluous flags are removed.
When adding a flag that was already present the option value doesn't change.
____
|:set^=|
||:se[t] {option}^={value} [...]|| +
____
Multiply the {value} to a number option, or prepend the {value} to a string
option. When the option is a comma separated list, a comma is added, unless the
value was empty.
____
|:set-=|
||:se[t] {option}-={value} [...]|| +
____
Subtract the {value} from a number option, or remove the {value} from a string
option, if it is there. If the {value} is not found in a string option, there
is no error or warning. When the option is a comma separated list, a comma is
deleted, unless the option becomes empty. When the option is a list of flags,
{value} must be exactly as they appear in the option. Remove flags one by one
to avoid problems.
____
|:setlocal| |:setl|
||:setl[ocal]|| +
||:setl[ocal] all|| +
||:setl[ocal] {option}?|| +
||:setl[ocal] {option}|| +
||:setl[ocal] no[a]{option}[a]|| +
||:setl[ocal] inv[a]{option}[a]|| +
||:setl[ocal] {option}&|| +
||:setl[ocal] all&|| +
||:setl[ocal] {option}={value}|| +
||:setl[ocal] {option}+={value}|| +
||:setl[ocal] {option}^={value}|| +
||:setl[ocal] {option}-={value}|| +
____
The same as [c]:set[c] command, but operates on current tab options
only. See [c]:set[c] for details.
____
|:setglobal| |:setg|
||:setg[lobal]|| +
||:setg[lobal] all|| +
||:setg[lobal] {option}?|| +
||:setg[lobal] {option}|| +
||:setg[lobal] no[a]{option}[a]|| +
||:setg[lobal] inv[a]{option}[a]|| +
||:setg[lobal] {option}&|| +
||:setg[lobal] all&|| +
||:setg[lobal] {option}={value}|| +
||:setg[lobal] {option}+={value}|| +
||:setg[lobal] {option}^={value}|| +
||:setg[lobal] {option}-={value}|| +
____
The same as [c]:set[c] command, but operates on global options only.
See [c]:set[c] for details.
____
|expand-environment-var| |expand-env| |:set_env| +
Environment variables are expanded for path options like 'cdpath' and
'runtimepath'. The variable notation is _$VAR_ (terminated by a non-word
character) or _$\\{VAR}_. _%VAR%_ is also supported on Windows.
section:Setting{nbsp}Firefox{nbsp}options[firefox-options,preferences]
Firefox options can be viewed and set with the following commands:
|:prefs| |:preferences|
||:pref[erences]||
________________________________________________________________________________
Show the Firefox preferences dialog. You can change the browser preferences
from this dialog. Be aware that not all Firefox preferences work, because
Vimperator overrides some key bindings and changes Firefox's GUI.
________________________________________________________________________________
|:prefs!| |:preferences!|
||:pref[erences]!||
________________________________________________________________________________
Opens about:config in the current tab where you can change advanced Firefox
preferences.
________________________________________________________________________________
|:set!| |:set-!|
||:se[t]! {preference}={value}|| +
________________________________________________________________________________
Change any Firefox {preference} (those in the about:config window). You can also
reset/delete those preferences with [c]:set! {preference}&[c].
________________________________________________________________________________
|overridden-preferences| +
Vimperator sets several Firefox preferences at startup. If this is undesirable,
they can be changed to a different value in your RC file using
[c]:set! {preference}={value}[c]
The following preferences are set:
* browser.startup.page
* dom.popup_allowed_events
* accessibility.typeaheadfind.autostart
* accessibility.typeaheadfind
// TODO: others?
section:List{nbsp}of{nbsp}options[list-options]
|\'act'| |\'activate'|
||'activate' 'act'|| stringlist (default: "homepage,quickmark,tabopen,paste")
____
Define when tabs are automatically activated. Available items:
`-----------`--------------------------------
*homepage* [m]gH[m] mapping
*quickmark* [m]go[m] and [m]gn[m] mappings
*tabopen* [c]:tabopen[!][c] command
*paste* [m]P[m] and [m]gP[m] mappings
---------------------------------------------
____
|$CDPATH|
|\'cd'| |\'cdpath'|
||'cdpath' 'cd'|| string (default: equivalent to _$CDPATH_ or ",,")
____
List of directories searched when executing the [c]:cd[c] command. This is
only used for relative paths, if an absolute path is specified then the option
is ignored.
____
|\'cpt'| |\'complete'|
||'complete' 'cpt'|| charlist (default: sfl)
____
Items which are completed at the [c]:[tab]open[c] prompt. Available items:
`---`--------------------------------------------------------------------------------
*s* Search engines and keyword URLs
*f* Local files
*l* Firefox location bar entries (bookmarks and history sorted in an intelligent way)
*b* Bookmarks
*S* Suggest engines
-------------------------------------------------------------------------------------
The order is important, so [c]:set complete=bs[c] would list bookmarks first,
and then any available quick searches.
____
|\'ds'| |\'defsearch'|
||'defsearch' 'ds'|| string (default: "google")
____
Sets the default search engine. The default search engine name is used in the
[c]:[tab]open [arg][c] command if [a][arg][a] neither looks like a URL or like
a specified search engine/keyword.
This means, it you set 'defsearch' to "youtube", then [c]:open arnold
schwarzenegger[c] will be exactly the same as [c]:open youtube arnold
schwarzenegger[c]. Therefore, you need to add a keyword or search engine
"youtube" first.
If 'defsearch' is empty, then Firefox will always attempt to open the
raw [a][arg][a].
____
|\'editor'| |i_<C-i>|
||'editor'|| string (default: "gvim -f")
____
Set the external text editor.
Sets the editor to run when [m]<C-i>[m] is pressed in INSERT and TEXTAREA
modes.
Warning: Vimperator will not behave correctly if the editor forks its own
process, such as with gvim without the -f argument.
____
|\'noex'| |\'noexrc'| |\'ex'| |\'exrc'|
||'exrc' 'ex'|| boolean (default: off)
____
Allow reading of an RC file in the current directory. This file is sourced in
addition to, and after, your default RC file.
____
|\'eht'| |\'extendedhinttags'|
||'extendedhinttags' 'eht'|| string
____
(default: +++//*[@onclick or @onmouseover or @onmousedown or @onmouseup or
@oncommand or @class='lk' or @role='link'] | //input[not(@type='hidden')] | //a
| //area | //iframe | //textarea | //button | //select |
//xhtml:input[not(@type='hidden')] | //xhtml:a | //xhtml:area | //xhtml:iframe
| //xhtml:textarea | //xhtml:button | //xhtml:select+++)
The XPath string of hintable elements activated by [m];[m].
____
|\'noeb'| |\'noerrorbells'| |\'eb'| |\'errorbells'|
||'errorbells' 'eb'|| boolean (default: off)
____
Ring the bell when an error message is displayed.
____
|\'ei'| |\'eventignore'|
||'eventignore'|| stringlist (default: "")
____
A list of autocommand event names which should be ignored. If the list contains
the value "all" then all events are ignored.
____
|\'nofc'| |\'nofocuscontent'| |\'fc'| |\'focuscontent'|
||'focuscontent' 'fc'|| boolean (default: off)
____
Focus the content after a page has loaded. This is useful, if you always
want to stay in Normal mode when browsing between web sites. When "on", it
blurs any textbox which often is automatically focused on page load.
If you usually like 'focuscontent' but sometimes you'd like to focus the
first input field, you can use [m]gi[m] to jump to it.
____
|\'nofs'| |\'nofullscreen'| |\'fs'| |\'fullscreen'|
||'fullscreen' 'fs'|| boolean (default: off)
____
Show the current window fullscreen. Also hide certain GUI elements like the
statusline.
____
|\'go'| |\'guioptions'|
||'guioptions' 'go'|| charlist (default: "")
____
Show or hide certain GUI elements like the menu or toolbar. Supported characters:
`---`-----------
*m* Menubar
*T* Toolbar
*B* Bookmark bar
*n* Tab number
*N* Tab number over image
*b* Bottom scrollbar
*r* Right scrollbar
*l* Left scrollbar
----------------
You can also hide the tab bar with [c]:set showtabline=0[c].
____
|\'hf'| |\'helpfile'|
||'helpfile' 'hf'|| string (default: "intro.html")
____
Name of the main help file. This is the tail component of the chrome URL as
displayed in the status line when viewing the page.
____
|\'hm'| |\'hintmatching'|
||'hintmatching' 'hm'|| string (default: contains)
____
Change the hint matching algorithm during Hints mode. Possible values:
`--------------------`-------------------------------------------------------------------------------------------------------------------------------
*contains* The typed characters are split on whitespace, and these character groups have to match anywhere inside the text of the link.
*wordstartswith* The typed characters are matched with the beginning of the first word (see 'wordseparators') in the link as long as possible. If no matches occur in the current word, then the matching is continued at the beginning of the next word. The words are worked through in the order they appear in the link. If the typed characters contain spaces, then the characters are split on whitespace. These character groups are then matched with the beginning of the words, beginning at the first one and continuing with the following words in the order they appear in the link.
*firstletters* Behaves like wordstartswith, but non-matching words aren't overleaped.
*custom* Delegate to a custom function: liberator.plugins.customHintMatcher(hintString)
-----------------------------------------------------------------------------------------------------------------------------------------------------
____
|\'fh'| |\'followhints'|
||'followhints' 'fh'|| number (default: 0)
____
Change the behaviour of [m]<Return>[m] in Hints mode. Possible values:
`---------`----------------------------------------------------------
*0* Follow the first hint as soon as typed text uniquely identifies it.
Follow the selected hint on [m]<Return>[m].
*1* Follow the selected hint on [m]<Return>[m].
*2* Follow the selected hint on [m]<Return>[m] only if it's been [m]<Tab>[m]-selected.
---------------------------------------------------------------------
____
|\'ht'| |\'hinttags'|
||'hinttags' 'ht'|| string
____
(default: +++//*[@onclick or @onmouseover or @onmousedown or @onmouseup or
@oncommand or @class='lk' or @role='link'] | //input[not(@type='hidden')] | //a
| //area | //iframe | //textarea | //button | //select |
//xhtml:input[not(@type='hidden')] | //xhtml:a | //xhtml:area | //xhtml:iframe
| //xhtml:textarea | //xhtml:button | //xhtml:select+++)
XPath string of hintable elements activated by [m]f[m] and [m]F[m]
____
|\'hto'| |\'hinttimeout'|
||'hinttimeout' 'hto'|| number (default: 0)
____
Timeout before automatically following a non-unique numerical hint. Set to 0
(the default) to only follow numeric hints after pressing [m]<Return>[m] or
when the hint is unique.
____
|\'hi'| |\'history'|
||'history' 'hi'|| number (default: 500)
____
Number of Ex commands and search patterns to store in the command-line history.
____
|\'nohls'| |\'nohlsearch'| |\'hls'| |\'hlsearch'|
||'hlsearch' 'hls'|| boolean (default: off)
____
Highlight previous search pattern matches
____
|\'noic'| |\'noignorecase'| |\'ic'| |\'ignorecase'|
||'ignorecase' 'ic'|| boolean (default: on)
____
Ignore case in search patterns.
____
|\'nois'| |\'noincsearch'| |\'is'| |\'incsearch'|
||'incsearch' 'is'|| boolean (default: on)
____
Show where the search pattern matches as it is typed.
Note: Incremental searching currently only works in the forward direction.
____
|\'noim'| |\'noinsertmode'| |\'im'| |\'insertmode'|
||'insertmode' 'im'|| boolean (default: on)
____
Use Insert mode as the default for text areas.
Makes Vimperator work in a way that Insert mode is the default mode for text areas.
Useful if you want to use Vimperator as a modeless editor, keeping the known Firefox interface for editing text areas.
____
|\'ls'| |\'laststatus'|
||'laststatus' 'ls'|| number (default: 2)
____
Determines when the last window will have a status line. Possible values:
`---`---------------------------------
*0* Never
*1* Only if there are multiple windows
*2* Always
--------------------------------------
Note: laststatus=1 not implemented yet.
____
|\'nolks'| |\'nolinksearch'| |\'lks'| |\'linksearch'|
||'linksearch' 'lks'|| boolean (default: off)
____
Limit the search to hyperlink text.
This includes (X)HTML elements with an "href" atrribute and XLink "simple" links.
____
|\'nolpl'| |\'lpl'| |\'noloadplugins'| |\'loadplugins'|
||'loadplugins' 'lpl'|| boolean (default on)
____
Load plugin scripts when starting up. When on, yet unloaded plugins are
automatically loaded after the vimperatorrc file has been sourced. To
load plugins earlier, use the [c]:loadplugins[c] command within the
vimperatorrc.
____
|\'msgs'| |\'messages'|
||'messages' 'msgs'|| number (default: 100)
____
Number of messages to store in the message history.
____
|\'nomore'| |\'more'|
||'more'|| boolean (default: on)
____
Pause the message list window when more than one screen of listings is displayed
____
|\'nextpattern'|
||'nextpattern'|| stringlist
____
(default: \bnext,^>$,^(>>|»)$,^(>|»),(>|»)$,\bmore\b)
Patterns to use when guessing the \'next' page in a document sequence. Each
pattern, in order, is matched against all links in the page with the first
match being used. The patterns are case insensitive regular expressions and the
link elements are those defined by 'hinttags'.
____
|\'newtab'|
||'newtab'|| stringlist (default: "")
____
Define which Ex commands output the result in a new tab automatically. You can
also use [c]:tab command[c] to manually output a command in a new tab.
The possible values:
`------------`---------------------------------------------
*all* All commands
*addons* [c]:addo[ns][c] command
*downloads* [c]:downl[oads][c] command
*help* [c]:h[elp][c] command
*javascript* [c]:javascript![c] or [c]:js![c] command
*prefs* [c]:pref[erences]![c] or [c]:prefs![c] command
-----------------------------------------------------------
____
|\'noonline'| |\'online'|
||'online'|| boolean (default on)
____
Show and set the \'work offline' behavior.
____
|\'pageinfo' \'pa'|
||'pageinfo' 'pa'||
charlist (default: gfm)
____
Desired info on [c]:pa[geinfo][c]. Available items:
.--------`----------------
*g* General info
*f* Feeds
*m* Meta tags
--------------------------
The order matters.
____
|\'pps'| |\'popups'|
||'popups' 'pps'|| number (default: 1)
____
Define where to show requested popup windows.
Does not apply to windows which are opened by middle clicking a link,
they always open in a new tab. Possible values:
.---`------------------------------------------------------------------------------------------------
*0* Force to open in the current tab (Warning: this can stop some web sites from working correctly!)
*1* Always open in a new tab
*2* Open in a new window if it has a specific requested size (default in Firefox)
*3* Always open in a new window
*4* Open in the same tab unless it has a specific requested size
-----------------------------------------------------------------------------------------------------
Note: This option does not change the popup blocker of Firefox in any way.
____
|\'nopreload'| |\'preload'|
||'preload' 'nopreload'|| boolean (default: on)
____
Speed up first time history/bookmark completion
History access can be quite slow for a large history.
Vimperator maintains a cache to speed it up significantly on subsequent access.
In order to also speed up first time access, it is cached at startup, if this option is set (recommended).
____
|\'previouspattern'|
||'previouspattern'|| stringlist
____
(default: \bprev|previous\b,^<$,^(<<|«)$,^(<|«),(<|«)$)
Patterns to use when guessing the \'previous' page in a document sequence. Each
pattern, in order, is matched against all links in the page with the first
match being used. The patterns are case insensitive regular expressions and the
link elements are those defined by 'hinttags'.
____
|$VIMPERATOR_RUNTIME|
|\'rtp'| |\'runtimepath'|
||'runtimepath' 'rtp'|| stringlist
____
(default: _$VIMPERATOR_RUNTIME_ or Unix, Mac: "\~/.vimperator", Windows: "\~/vimperator")
List of directories searched for runtime files: +
colors/ +
macros/ +
plugin/ +
Example: [c]:set runtimepath=\~/myvimperator,\~/.vimperator[c] +
This will search for plugins in both "\~/myvimperator/plugin" and
"\~/.vimperator/plugin"
On startup, if the environment variable _$VIMPERATOR_RUNTIME_ does not
exist, Vimperator will set it to match this value.
____
|\'scr'| |\'scroll'|
||'scroll' 'scr'|| number (default: 0)
____
Number of lines to scroll with [m]<C-u>[m] and [m]<C-d>[m] commands.
The number of lines scrolled defaults to half the window size.
When a [count] is specified to the [m]<C-u>[m] or [m]<C-d>[m] commands this is
used to set the value of 'scroll' and also used for the current command. The
value can be reset to half the window height with [c]:set scroll=0[c].
____
|\'shell'| |\'sh'|
||'shell' 'sh'|| string (default: _$SHELL_ or "sh", Win32: "cmd.exe")
____
Shell to use for executing [c]:![c] and [c]:run[c] commands.
____
|\'shellcmdflag'| |\'shcf'|
||'shellcmdflag' 'shcf'|| string (default: "-c", Win32: "/c")
____
Flag passed to shell when executing [c]:![c] and [c]:run[c] commands.
E.g. "bash -c gvim"
____
|\'nosmd'| |\'noshowmode'| |\'smd'| |\'showmode'|
||'showmode' 'smd'|| boolean (default: on)
____
Show the current mode in the command line.
____
|\'ssli'| |\'showstatuslinks'|
||'showstatuslinks' 'ssli'|| number (default: 1)
____
Show the destination of the link under the cursor in the status bar.
Also links which are focused by keyboard commands like [m]<Tab>[m] are shown. Possible values:
.---`--------------------------------------
*0* Don't show link destination
*1* Show the link in the status line
*2* Show the link in the command line
-------------------------------------------
____
|\'stal'| |\'showtabline'|
||'showtabline' 'stal'|| number (default: 2)
____
Control when to show the tab bar of opened web pages. Possible values:
.---`--------------------------------------
*0* Never show tab bar
*1* Show tab bar only if more than one tab is open
*2* Always show tab bar
-------------------------------------------
____
|\'noscs'| |\'nosmartcase'| |\'scs'| |\'smartcase'|
||'smartcase' 'scs'|| boolean (default: on)
____
Override the 'ignorecase' option if the pattern contains uppercase characters.
This is only used if the 'ignorecase' option is set.
____
|\'suggestengines'|
||'suggestengines' || stringlist (default: "google")
____
Set the search engines which can be used for completion suggestions.
Add "S" to the 'complete' option if you want to use this feature.
Warning: This feature could make tab-completion slower because it needs to
wait for changes, so use it only if you have a fast internet connection.
____
|\'titlestring'|
||'titlestring'|| string (default: "Vimperator")
____
Change the title of the browser window.
Vimperator changes the browser title from "Title of web page - Mozilla Firefox" to
"Title of web page - Vimperator". +
If you don't like that, you can restore it with:
[c]:set titlestring=Mozilla\ Firefox[c].
____
|\'noum'| |\'nousermode'| |\'um'| |\'usermode'|
||'usermode' 'um'|| boolean (default: off)
____
Show current website with a minimal style sheet to make it easily accessible.
Note: this is a local option for now, a global value may be supported in the
future.
____
|\'urlseparator'|
||'urlseparator'|| string (default: ",\s")
____
Set the separator regexp used to separate multiple URL args. Multiple arguments
can be specified for [c]:open[c], and similar commands, using this regexp as
the separator. Using whitespace alone is not generally useful since it is often
contained in a single argument. E.g. [c]:open linus torvalds[c] should perform
a single search for the key words "linus" and "torvalds"
____
|\'verbose', \'vbs'|
||'verbose' 'vbs'|| number (default: 1)
____
Define which info messages are displayed.
When bigger than zero, Vimperator will give messages about what it is doing.
These can be viewed at any time with the [c]:messages[c] command. The highest
value is 15, being the most verbose mode.
TODO: list levels and associated messages
____
|\'novb'| |\'novisualbell'| |\'vb'| |\'visualbell'|
||'visualbell' 'vb'|| boolean (default: off)
____
Use visual bell instead of beeping on errors. The visual bell style is
controlled by [c]:hi Bell[c].
____
|\'wildcase'| |\'wic'|
||'wildcase' 'wic'|| string (default: "smart")
____
Defines how completions are matched with regard to character case.
`---------------`------------------------
"smart" Case is significant when capital letters are typed
"match" Case is always significant
"ignore" Case is never significant
-----------------------------------------
____
|\'wildignore'| |\'wig'|
||'wildignore' 'wig'|| stringlist (default: "")
____
List of file patterns to ignore when completing files. E.g. to ignore object
files and Vim swap files [c]:set wildignore=".*\.o,\..*\.s[a-z]\\{2}"[c]
Note: Unlike Vim each pattern is a regexp rather than a glob.
____
|\'wim'| |\'wildmode'|
||'wildmode' 'wim'|| stringlist (default: "list:full")
____
Defines how command-line completion works.
It is a comma-separated list of parts, where each part specifies
what to do for each consecutive use of the completion key.
The first part specifies the behavior for the first use of the completion key,
the second part for the second use, etc.
These are the possible values for each part:
`---------------`------------------------
"" Complete only the first match.
"full" Complete the next full match. After the last, the original string is used.
"longest" Complete till the longest common string.
"list" When more than one match, list all matches.
"list:full" When more than one match, list all matches and complete the first match.
"list:longest" When more than one match, list all matches and complete till the longest common string. \
When there is only a single match, it is fully completed regardless of the case.
-----------------------------------------
____
|\'wop'| |\'wildoptions'|
||'wildoptions' 'wop'|| stringlist (default: "")
____
A list of words that change how command-line completion is done.
Possible words:
`--------`-------------------------------
*auto* Automatically show completions while you are typing.
*sort* Always sort the completion list, overriding the 'complete' option.
-----------------------------------------
____
|\'wsp'| |\'wordseparators'| +
||'wordseparators' 'wsp'|| string
____
(default: [\.,!\?:;/\\"\^\$%&?\(\)\[\]\\{\\}<>#\\*\+\\|=~ _\\-])
A regexp which defines the word separators which are used for the
'hintmatching' types "wordstartswith" and "firstletters" to split the words in
the text of a link.
____
// vim: set filetype=asciidoc:

View File

@@ -0,0 +1,4 @@
<!ENTITY auditortest1.helloworld.label "Do HelloWorld">
<!ENTITY auditortest1.helloworld.accesskey "H">
<!ENTITY auditortest1.pane.label "This is a Display Pane">
<!ENTITY auditortest1.pane.button "Learn More">

View File

@@ -0,0 +1 @@
helloMessage=Hello World!

70
xulmus/locale/en-US/pattern.txt Executable file
View File

@@ -0,0 +1,70 @@
HEADER
|text-search-commands| +
Vimperator provides a Vim-like interface to Firefox's standard text search
functionality. There is no support for using regular expressions in search
commands as Firefox does not provide native regexp support. It is unlikely that
this will ever be available.
|/| +
||/{pattern}[/]<CR>|| +
________________________________________________________________________________
Search forward for the first occurrence of {pattern}.
If "\c" appears anywhere in the pattern the whole pattern is handled as though
'ignorecase' is on. "\C" forces case-sensitive matching for the whole pattern. +
If "\l" appears in the pattern only the text of links is searched for a
match as though 'linksearch' is on. "\L" forces the entire page to be searched
for a match.
________________________________________________________________________________
|?| +
||?{pattern}[?]<CR>|| +
________________________________________________________________________________
Search backwards for {pattern}.
{pattern} can use the same modifiers as for [m]/[m]. +
Note: incremental searching currently only works in the forward direction.
________________________________________________________________________________
|n| +
||n||
________________________________________________________________________________
Find next. Repeat the last search 1 time (until count is supported).
________________________________________________________________________________
|N| +
||N||
________________________________________________________________________________
Find previous. Repeat the last search 1 time (until count is supported) in the
opposite direction.
________________________________________________________________________________
|\*| +
||\*||
________________________________________________________________________________
Search forward for the next word under the cursor.
________________________________________________________________________________
|\#| +
||\#||
________________________________________________________________________________
Search backward for the previous word under the cursor.
________________________________________________________________________________
|:noh| |:nohlsearch| +
||:noh[lsearch]||
________________________________________________________________________________
Remove the search highlighting. The document highlighting is turned back on
when another search command is used or the 'hlsearch' option is set.
________________________________________________________________________________
// vim: set filetype=asciidoc:

34
xulmus/locale/en-US/print.txt Executable file
View File

@@ -0,0 +1,34 @@
HEADER
|printing| +
|:ha| |:hardcopy| +
||:ha[rdcopy][!]||
________________________________________________________________________________
Print current document. Open a GUI dialog where you can select the printer,
number of copies, orientation, etc. When used with [!], the dialog is skipped
and the default printer used.
________________________________________________________________________________
||:ha[rdcopy][!] >{filename}|| +
________________________________________________________________________________
As above, but write the output to {filename}.
Note: Not available on Windows.
________________________________________________________________________________
section:Firefox{nbsp}printing{nbsp}dialogs[firefox-print-dialogs]
The "Print Preview" and "Page Setup" dialogs can be opened via the [c]:dialog[c]
command
\{nbsp}[c]:dialog printpreview[c]
and
\{nbsp}[c]:dialog printsetup[c]
respectively.
// vim: set filetype=asciidoc:

145
xulmus/locale/en-US/repeat.txt Executable file
View File

@@ -0,0 +1,145 @@
HEADER
|repeat| +
Vimperator can repeat a number of commands and record macros.
section:Macros[macros,complex-repeat]
|q|
||q{0-9a-zA-Z}|| +
____________________________________________________________________________
Record a key sequence into a macro.
Available macros are {0-9a-zA-Z} (uppercase to append).
Type [m]q[m] to stop recording.
____________________________________________________________________________
|:macros|
||:mac[ros] [a][pat][a]|| +
________________________________________________________________________________
List recorded macros matching the optional regular expression [a][pat][a]. If
no regexp is given, list all macros.
________________________________________________________________________________
|:delmac| |:delmacros|
||:delmac[ros] {args}|| +
||:delmac[ros]!||
________________________________________________________________________________
Delete recorded macros matching the regular expression {args}. If [!] is given
all macros are deleted.
________________________________________________________________________________
|@| |:play|
||:pl[ay] {arg}|| +
||[count]@{arg}||
____________________________________________________________________________
Plays the contents of macro with name {arg} [count] times. The [m]@[m] mapping
only accepts {0-9a-z} as {arg}.
____________________________________________________________________________
|@@|
||[count]@@||
____________________________________________________________________________
Replay the last executed macro [count] times.
____________________________________________________________________________
|.|
||[count].||
____________________________________________________________________________
Repeat the last keyboard mapping [count] times. Note that, unlike in Vim, this
does not apply solely to editing commands, mainly because Vimperator doesn't
have them.
____________________________________________________________________________
section:Using{nbsp}scripts[using-scripts]
|:so| |:source|
||:so[urce][!] {file}|| +
________________________________________________________________________________
Read Ex commands, JavaScript, or CSS from {file}. You can either source files
which mostly contain Ex commands like [c]map < gt[c] and put JavaScript code
within a:
--------------------------------------------------------------------------------
js <<EOF
hello = function () {
alert("Hello world");
}
EOF
--------------------------------------------------------------------------------
Or you can alternatively source a file which ends in _.js_. These files are
automatically sourced as pure JavaScript files.
Note: In both cases you must add functions to the global window object like
shown above, functions written as:
--------------------------------------------------------------------------------
function hello2() {
alert("Hello world");
}
--------------------------------------------------------------------------------
are only available within the scope of the script.
The _.vimperatorrc_ file in your home directory and any files in
_\~/.vimperator/plugin/_ are always sourced at startup. \~ is supported as a
shortcut for the _$HOME_ directory. If [!] is specified, errors are not
printed.
________________________________________________________________________________
|:lpl| |:loadplugins|
||:loadplugins|| +
________________________________________________________________________________
Load all unloaded plugins immediately. Because plugins are automatically
loaded after vimperatorrc is sourced, this command must be placed early
in the vimperatorrc file if vimperatorrc also includes commands that are
implemented by plugins. Additionally, this command allows for sourcing
new plugins without restarting Vimperator.
________________________________________________________________________________
|:ru| |:runtime|
||:runt[ime][!] {file} ...|| +
________________________________________________________________________________
Source the specified file from each directory in 'runtimepath'. Example: +
[c]:runtime plugin/foobar.vimp[c] +
Only the first found file is sourced. When [!] is given, all found files are
sourced.
________________________________________________________________________________
|:scrip| |:scriptnames|
||:scrip[tnames]|| +
________________________________________________________________________________
List all sourced script names, in the order they were first sourced.
________________________________________________________________________________
|:fini| |:finish|
||:fini[sh]|| +
________________________________________________________________________________
Stop sourcing a script file. This can only be called from within a Vimperator
script file.
________________________________________________________________________________
section:Profiling[profile,profiling]
|:time|
||:[count]time[!] {code|:command}|| +
________________________________________________________________________________
Profile a piece of code or a command. Run {code} [count] times (default 1)
and returns the elapsed time. {code} is always passed to JavaScript's eval(),
which might be slow, so take the results with a grain of salt.
If {code} starts with a [c]:[c], it is executed as a Vimperator command.
Use the special version with [!] if you just want to run any command multiple
times without showing profiling statistics.
________________________________________________________________________________
// vim: set filetype=asciidoc:

View File

@@ -0,0 +1,60 @@
HEADER
Vimperator does not yet read any command-line options. When it does, they will
be documented here.
section:Initialization[initialization,startup]
At startup, Vimperator completes the following tasks in order.
1. Vimperator can perform user initialization commands. When
one of the following is successfully located, it is executed, and no
further locations are tried.
a. |$VIMPERATOR_INIT|
_$VIMPERATOR_INIT_ -- May contain a single Ex command (e.g.,
"[c]:source {file}[c]").
b. [a]\~/_vimperatorrc[a] -- Windows only. If this file exists, its contents
are executed.
c. [a]\~/.vimperatorrc[a] -- If this file exists, its contents are executed.
2. If 'exrc' is set, then any RC file in the current directory is also sourced.
3. All directories in 'runtimepath' are searched for a "plugin"
subdirectory and all yet unloaded plugins are loaded. For each plugin
directory, all *.\{js,vimp} files (including those in further
subdirectories) are sourced alphabetically. No plugins will be sourced
if 'noloadplugins' is set. Any particular plugin will not be loaded if
it has already been loaded (e.g., by an earlier [c]:loadplugins[c]
command).
The user's ~ (i.e., "home") directory is determined as follows:
* On Unix and Mac, the environment variable _$HOME_ is used.
* On Windows, Vimperator checks for the existence of _%HOME%_, then
_%USERPROFILE%_, and then _%HOMEDRIVE%%HOMEPATH%_. It uses the first one
it finds.
section:Saving{nbsp}settings[save-settings]
|:mkv| |:mkvimperatorrc|
||:mkv[imperatorrc][!] [a][file][a]|| +
________________________________________________________________________________
Write current key mappings and changed options to [a][file][a]. If no
[a][file][a] is specified then _~/.vimperatorrc_ is written unless this file
already exists. The special version [c]:mkvimperatorrc![c] will overwrite
[a][file][a] if it exists.
Warning: this differs from Vim's behavior which defaults to writing the file
in the current directory.
________________________________________________________________________________
section:Restarting[restarting]
|:res| |:restart| +
||:res[tart]||
________________________________________________________________________________
Force the browser to restart. Useful when installing extensions.
________________________________________________________________________________
// vim: set filetype=asciidoc:

131
xulmus/locale/en-US/styling.txt Executable file
View File

@@ -0,0 +1,131 @@
HEADER
|styling| +
Vimperator allows you to style both the browser and any web pages you view. All
styling is specified via CSS. Although you may style any user interface element
via the [c]:style[c] command, most Vimperator elements can be styled with the
[c]:highlight[c] command, for convenience.
|E185| |:colo| |:colorscheme| +
||:colo[rscheme] {name}|| +
________________________________________________________________________________
Load a color scheme. {name} is found by searching the 'runtimepath' for the
first file matching colors/{name}.vimp.
The ColorScheme autocommand is triggered after the color scheme has been
sourced.
________________________________________________________________________________
|:hi| |:highlight| +
||:hi[ghlight][!] [-append] {group}[{selector}] [{css}]|| +
________________________________________________________________________________
Highlight {group} with {css}. Normally, {css} is checked for
valid syntax before it's applied. Once you're certain it's
valid, [!] will override the check, to speed Vimperator startup.
{selector} can be any valid CSS selector, such as [c]:hover[c], and
if provided will restrict the match to matching elements.
Valid groups are:
`--------------------`-----------------------------------
*Bell* Vimperator's visual bell
*Boolean* A JavaScript Boolean object
*CmdLine* The command line
*CmdOutput*
*CompDesc* The description column of the completion list
*CompGroup*
*CompIcon* The favicon of a completion row
*CompItem* A row of completion list
*CompItem[selected]* A selected row of completion list
*CompLess* The indicator shown when completions may be scrolled up
*CompLess::after* The character of indicator shown when completions may be scrolled up
*CompMore* The indicator shown when completions may be scrolled down
*CompMore::after* The character of indicator shown when completions may be scrolled down
*CompMsg*
*CompResult* The result column of the completion list
*CompTitle* Completion row titles
*ErrorMsg* Error messages
*Filter* The matching text in a completion list
*FrameIndicator* The indicator shown when a new frame is selected
*Function* A JavaScript Function object
*Gradient*
*GradientLeft*
*GradientRight*
*Hint* A hint indicator. See [c]:help hints[c]
*HintActive* The hint element of link which will be followed by <Enter>
*HintElem* The hintable element
*HintImage* The indicator which floats above hinted images
*Indicator*
*InfoMsg* Information messages
*Keyword* A bookmark keyword for a URL
*LineNr* The line number of an error
*Message*
*ModeMsg* The mode indicator in the command line
*MoreMsg* The indicator that there is more text to view
*NonText*
*Normal* Normal text in the command line
*Null* A JavaScript Null object
*Number* A JavaScript Number object
*Object* A JavaScript Object
*Preview*
*Question* A prompt for a decision
*Search* Highlighted search results in a web page
*StatusLine* The status bar
*StatusLineBroken* The status bar for a broken web page
*StatusLineSecure* The status bar for a secure web page
*String* A JavaScript String object
*TabClose* The close button of a browser tab
*TabIcon* The icon of a browser tab
*TabIconNumber* The number of a browser tab, over its icon
*TabNumber* The number of a browser tab, next to its icon
*TabText* The text of a browser tab
*Tag* A bookmark tag for a URL
*Title* The title of a listing, including [c]:pageinfo[c], [c]:jumps[c]
*URL* A URL
*WarningMsg* A warning message
-------------------------------------------------------
Every invocation completely replaces the styling of any previous invocation,
unless *-append* (short option: *-a*) is provided, in which case {css} is
appended to its current value. If {css} is not provided, any styles matching
{group} are listed.
________________________________________________________________________________
|:highlight-clear| +
||:hi[light] clear [{group}[{selector}]]|| +
________________________________________________________________________________
Reset the highlighting for {group} to its default value. If
{group} is not given, reset all highlighting groups.
________________________________________________________________________________
|:sty| |:style| +
||:sty[le][!] [-name={name}] [-append] {filter} [{css}]|| +
________________________________________________________________________________
Add CSS styles to the browser or to web pages. {filter} is a comma
separated list of URLs to match. URLs ending with *\** are matched as
prefixes, URLs not containing any *:* or */* characters are
matched as domains. If {name} (short option: [c]-n[c]) is provided, any
existing style with the same name is overridden, and the style may later
be deleted using {name}. If *-append* (short option: *-a*) is provided
along with *-name*, {css} and {filter} are appended to its current
value.
If {css} isn't provided, matching styles are listed.
________________________________________________________________________________
|:dels| |:delstyle| +
||:dels[tyle] [-name={name}] [-index={index}] [{filter}] [{css}]|| +
________________________________________________________________________________
Delete any matching styles. If {filter} is provided, only matching elements of
the filter are disabled. For instance, a filter [c]mozilla.org[c], given a
style for [c]www.google.com,mozilla.org[c], will result in a style for
[c]www.google.com[c]. The available options are:
* [c]-name[c]: The name provided to [c]:style[c] (short option:
*-n*)
* [c]-index[c]: For unnamed styles, the index listed by [c]:style[c]
(short option: *-i*)
________________________________________________________________________________
// vim: set filetype=asciidoc:

218
xulmus/locale/en-US/tabs.txt Executable file
View File

@@ -0,0 +1,218 @@
HEADER
|tabs| +
Tabs are used to be able to view many web pages at the same time. Each tab
contains exactly one buffer -- multiple buffers per tab are not supported. As a
result many buffer and tab commands are interchangeable.
section:Listing{nbsp}tabs[listing-tabs]
|B| |:tabs| |:ls| |:files| |:buffers|
||:buffers [a][filter][a]|| +
||B||
________________________________________________________________________________
Show a list of buffers (=tabs) matching [a][filter][a]. Without [a][filter][a]
list all tabs.
________________________________________________________________________________
section:Opening{nbsp}tabs[opening-tabs]
|:tab| +
||:tab {cmd}||
________________________________________________________________________________
Execute {cmd} and tell it to output in a new tab. Works only for commands that
support it, currently:
* [c]:tab help[c]
* [c]:tab prefs[!][c]
* [c]:tab addons[c]
* [c]:tab downloads[c]
________________________________________________________________________________
|:tabd| |:tabduplicate|
||:[count]tab[duplicate]|| +
________________________________________________________________________________
Duplicate the current tab and switch to the duplicate. If [count] is given,
duplicate the tab [count] times.
________________________________________________________________________________
//TODO: should the tab commands be moved back here?
See help::open[browsing.html#opening] for other ways to open new tabs.
section:Changing{nbsp}tabs[changing-tabs]
|gb| +
||[count]gb||
________________________________________________________________________________
Repeat last [c]:buffer[!][c] command. This is useful to quickly jump between
buffers which have a similar URL or title.
________________________________________________________________________________
|gB| +
||[count]gB||
________________________________________________________________________________
Repeat last [c]:buffer[!][c] command in reverse direction. Just like [m]gb[m]
but in the other direction.
________________________________________________________________________________
|gt| +
||[count]gt||
________________________________________________________________________________
Go to the next tab. Cycles to the first tab, when the last is selected. +
If [count] is specified go to the [count]th tab.
________________________________________________________________________________
|<C-PageDown>| |<C-Tab>| |<C-n>| +
||[count]<C-n>||
________________________________________________________________________________
Go to the next tab. Cycles to the first tab, when the last is selected. +
If [count] is specified go to the [count]th next tab.
________________________________________________________________________________
|<C-PageUp>| |<C-S-Tab>| |<C-p>| |gT| +
||[count]gT||
________________________________________________________________________________
Go {count} pages back. Wraps around from the first tab to the last tab. +
If [count] is specified go back [count] tabs.
________________________________________________________________________________
|<C-6>| |<C-^>| +
||[count]<C-^>||
________________________________________________________________________________
Select the alternate tab or the [count]th tab. The alternate tab is the last
selected tab. This provides a quick method of toggling between two tabs.
________________________________________________________________________________
|b| |:b| |:buffer|
||:[count]b[uffer][!] [a][url|index][a]|| +
||[count]b||
________________________________________________________________________________
Go to the specified buffer from the buffer list. Argument can be either the
buffer index or the full URL. If [count] is given, go to the [count]th buffer.
If argument is neither a full URL nor an index but uniquely identifies a
buffer, it is selected. With [!] the next buffer matching the argument is
selected, even if it cannot be identified uniquely. Use [m]b[m] as a
shortcut to open this prompt.
If argument is [a]\#[a], the alternate buffer will be selected (see [m]<C-^>[m]).
If no argument is given the current buffer remains current.
________________________________________________________________________________
|g^| |g0| |:bf| |:bfirst| |:br| |:brewind| |:tabfir| |:tabfirst| |:tabr| |:tabrewind|
||:tabr[ewind]|| +
||:tabfir[st]|| +
||:br[ewind]|| +
||:bf[irst]|| +
||g0|| +
||g^||
________________________________________________________________________________
Switch to the first tab.
________________________________________________________________________________
|g$| |:bl| |:blast| |:tabl| |:tablast|
||:tabl[ast]|| +
||:bl[ast]|| +
||g$||
________________________________________________________________________________
Switch to the last tab.
________________________________________________________________________________
|:tabde| |:tabdetach| +
||:tabde[tach]||
________________________________________________________________________________
Detach the current tab, and open it in its own window.
________________________________________________________________________________
|:tabm| |:tabmove|
||:tabm[ove] [a][N][a]|| +
||:tabm[ove][!] [a]+N[a] | [a]-N[a]|| +
________________________________________________________________________________
Move the current tab to a position after tab [a]N[a]. When [a]N[a] is 0, the
current tab is made the first one. Without [a]N[a] the current tab is made the
last one. [a]N[a] can also be prefixed with "+" or "-" to indicate a relative
movement. If [!] is specified the movement wraps around the start or end of the
tab list.
________________________________________________________________________________
|:bn| |:bnext| |:tn| |:tnext| |:tabn| |:tabnext|
||:[count]tabn[ext] [count]|| +
||:[count]tn[ext] [count]|| +
||:[count]bn[ext] [count]|| +
________________________________________________________________________________
Switch to the next or [count]th tab. Cycles to the first tab when the last is
selected and [count] is not specified.
________________________________________________________________________________
|:tabo| |:tabonly|
||:tabo[nly]||
________________________________________________________________________________
Close all other tabs.
________________________________________________________________________________
|:bN| |:bNext| |:bp| |:bprevious| |:tN| |:tNext| |:tabN| |:tabNext| |:tp| |:tprevious| |:tabp| |:tabprevious| +
||:[count]tabp[revious] [count]|| +
||:[count]tp[revious] [count]|| +
||:[count]tabN[ext] [count]|| +
||:[count]bp[revious] [count]|| +
||:[count]bN[ext] [count]|| +
________________________________________________________________________________
Switch to the previous tab or go [count] tabs back. Wraps around from the
first tab to the last tab.
________________________________________________________________________________
section:Closing{nbsp}tabs[closing-tabs]
|d| |:tabc| |:tabclose| |:bun| |:bunload| |:bw| |:bwipeout| |:bd| |:bdelete|
||:[count]bd[elete][!] [a][arg][a]|| +
||[count]d||
________________________________________________________________________________
Delete current buffer (=tab). If [count] is specified then [count] tabs are
removed. Afterwards, the tab to the right of the deleted tab(s) is selected.
When used with [a][arg][a], remove all tabs which contain [a][arg][a] in the
hostname. [!] forces this command to also search for [a][arg][a] in the full
URL and also the title of the tab. Use with care.
________________________________________________________________________________
|D|
||[count]D||
________________________________________________________________________________
Like [m]d[m] but selects the tab to the left of the deleted tab.
________________________________________________________________________________
|u| |:u| |:undo|
||:[count]u[ndo] [a][url][a]|| +
||[count]u||
________________________________________________________________________________
Undo closing of a tab. If a count is given, don't undo the last but the
[count]th last closed tab. With [a][url][a] restores the tab matching the URL.
________________________________________________________________________________
|:undoa| |:undoall| +
||:undoa[ll]||
________________________________________________________________________________
Undo closing of all closed tabs. Firefox stores up to 10 closed tabs, even
after a browser restart.
________________________________________________________________________________
// vim: set filetype=asciidoc:

253
xulmus/locale/en-US/tutorial.txt Executable file
View File

@@ -0,0 +1,253 @@
HEADER
// Initial revision: Sun Jun 8 10:07:05 UTC 2008 (penryu)
+++<div style="text-align: center;">+++
*This is a quickstart tutorial to help get new users up and running in
Vimperator. It is not intended as a full reference explaining all features.*
+++</div>+++
section:Quick-start{nbsp}tutorial[tutorial]
If you've started using Vimperator from scratch (i.e., without any
customization), you should be looking at this help page in a relatively
bare-looking window. The menubar, navigation bar, and bookmark bars are hidden.
In case you missed the notice in the help:Introduction[intro.html], you can
regain these by issuing the command
\{nbsp}[c]:set go+=mTB<CR>[c]
where [m]<CR>[m] represents pressing the <Enter> or <Return> key.
If you're a veteran Vim user, this may look familiar. It should.
However, in this author's opinion, the best way to get familiar with
Vimperator is to leave these disabled for now. (The above action can be
reversed with [c]:set go=<CR>[c]) You can look at the entry for
[o]guioptions[o] in help:options[options.html] for more information on this.
section:Vimperator's{nbsp}modal{nbsp}interface[modal]
Vimperator's power, like Vim's, comes from it's modal interface. Keys have
different meanings depending on which mode the browser is in. Vimperator has
several modes, but the 2 most important are ``Normal'' mode and
``Command-line'' mode.
When Vimperator starts, it is in Normal mode by default. This is probably where
you will spend the majority of your time.
The other core mode of Vimperator, Command-line mode, can be entered from
Normal mode by typing a \':' (colon). You will frequently see Vimperator
commands start with a \':', indicating that what follows is a command.
To return to Normal mode from Command-line mode, type [m]<Esc>[m]. Pressing
[m]<Esc>[m] will also return you to Normal mode from most other modes in
Vimperator.
section:Getting{nbsp}help[getting-help]
Vim is a great editor but it's not much of a web browser. So even seasoned Vim
users will probably have to look at Vimperator documentation sooner or later.
Most of the documentation for Vimperator's features are easily found using the
[c]:help[c] command. For example, you can find help on the [c]:help[c] command
by typing
\{nbsp}[c]:help :help<CR>[c]
Similarly, help on configurable options is available with [c]:help
'{option_name}'[c]. (Note the single quotes around the option name as in Vim.)
Information on all available options is, predictably, [c]:help options[c].
and you can find out about the [m]gt[m] and [m]gT[m] mapping with
\{nbsp}[c]:help gt<CR>[c] +
\{nbsp}[c]:help gT<CR>[c]
Finally, in addition to the help system itself, [c]:exusage[c], [c]:viusage[c]
and [c]:optionusage[c] are useful quick-reference commands.
section:Mouseless[living-mouseless]
*-- or how I learned to stop worrying and love the 80+ buttons I already have.*
The efficiency of Vimperator, as with the legendary editor it was inspired by,
relies on the user being able to keep his fingers on the keyboard where they
can do the most good. While there are some areas where the mouse is clearly
superior at, such as GUI design or some games, Vimperator acts on the
assumption that a web browser doesn't have to be one of those.
Here are some areas where the mouse is typically considered indisposable, and
how Vimperator challenges this preconception.
section:Scrolling[keyboard-scrolling]
Scrolling the browser window is done with simple keystrokes:
* [m]j[m]/[m]k[m] --
scroll window down/up by one line, respectively
* [m]h[m]/[m]l[m] --
scroll window left/right
* [m]<Space>[m]/[m]<C-b>[m] --
scroll down/up by one page
* [m]<C-d>[m]/[m]<C-u>[m] --
scroll down/up by 1/2 page
Your standard buttons ([m]<Up>[m]/[m]<Down>[m]/[m]<PgUp>[m]/[m]<PgDn>[m]) will
also work as expected.
section:History{nbsp}and{nbsp}tabs[history-navigation,tab-navigation]
History navigation (e.g., ``Back'', ``Forward'') are done similarly to
scrolling.
* [m]<C-o>[m]/[m]<C-i>[m] --
move Back/Forward in the current window/tab's history, respectively
Move between tabs using these keystrokes which may also be familiar to tabbing
Vimmers.
* [m]gt[m]/[m]<C-n>[m] --
go to the next tab
* [m]gT[m]/[m]<C-p>[m] --
go to the previous tab
* [m]g0[m]/[m]g$[m] --
go to the first/last tab
* [m]d[m] --
close the active tab (delete the buffer)
To open a web page in a new tab, use the [c]:tabopen {url}[c]. To open a URL in
the current tab, use [c]:open[c]. The Normal mode mappings [m]t[m] and [m]o[m],
respectively, map to these commands, so the following pairs of sequences are
equivalent:
\{nbsp}[c]:open my.webmail.com<CR>[c] +
\{nbsp}[m]omy.webmail.com<CR>[m]
\{nbsp}[c]:tabopen vimperator.org<CR>[c] +
\{nbsp}[m]tvimperator.org<CR>[m]
section:Some{nbsp}hints{nbsp}about{nbsp}surfing...[hints-tutorial]
So now you can navigate around in Vimperator. But wait... how do you *open* a
page or tab linked in a web page? How do you ``click'' on all those links
without your tailed friend?
The answer is ``hints''. Activating hints displays a number next to every link
Vimperator can find. To follow the link, simply type the number corresponding
to the hint, a white number inside a red square by default.
For text links, there's an additional shortcut; you can type some text
contained in the link and Vimperator will search all the links it can find and
only hint the matching links, further narrowing down the list. If the text you
type uniquely identifies any given link, Vimperator will follow that link
immediately without any further user input.
Whichever way you choose to indicate your target link, once Vimperator has
highlighted the link you want, simply hit <Enter> to open it.
The most common hint mode is called help:QuickHint{nbsp}mode[various.html,f].
To activate QuickHint mode, press either [m]f[m] or [m]F[m]. The lower-case
[m]f[m] will open the resulting link in the current tab, while the upper-case
[m]F[m] will open it in a new tab.
To test it, try this link: http://vimperator.org/[Vimperator Homepage].
Activate QuickHint mode with [m]f[m] or [m]F[m] to highlight all currently
visible links. Then start typing the text of the link. The link should be
uniquely identified soon, and Vimperator will open it. Once you're done,
remember to use [m]<C-o>[m] (``History Back'') or [m]d[m] (``Delete Buffer'')
to return here, depending on which key you used to activate QuickHint mode.
section:Common{nbsp}issues[common-issues]
Say you get half-way done typing in a new URL, only to remember that you've
already got that page open in the previous tab. Your command line might look
something like this:
\{nbsp}[c]:open my.partial.url/fooba[c]
You can exit the command line and access the already loaded page with the
following:
\{nbsp}[m]<Esc>gT[m]
section:Saving{nbsp}for{nbsp}posterity{nbsp}-{nbsp}vimperatorrc[vimperatorrc]
Once you get Vimperator set up with your desired options, maps, and commands,
you'll probably want them to be available the next time you open Vimperator.
Continuing the Vim theme, this is done with a vimperatorrc file.
To save your current settings and allow them to be loaded automatically
next time you start Vimperator, issue the [c]:mkv[c] command.
This will create the file *_$HOME_/.vimperatorrc* containing your settings.
It is a simple text file, just like a vimrc file and can be easily
edited to suit your preferences.
section:Find{nbsp}the{nbsp}exit{nbsp}nearest{nbsp}you[quitting-without-menus]
Vimperator supports all of Vim's classic methods of exiting.
* [c]:xall[c] -- command to quit and save the current browsing
session for next time; the default.
* [c]:qall[c] -- command to quit _without_ saving the session
* [m]ZZ[m] -- Normal mode mapping equivalent to [c]:xall[c]
* [m]ZQ[m] -- Normal mode mapping equivalent to [c]:qall[c]
section:Where{nbsp}did{nbsp}Firefox{nbsp}go?[whither-firefox]
You might feel pretty disoriented now. Don't worry. This is still Firefox
underneath. Here are some ways Vimperator allows Firefox to shine through. See
the [c]:help[c] for these commands and mappings for more information on how to
make the best use of them.
* [c]:dialog[c] --
To access some of Firefox's many dialog windows, you can use the
[c]:dialog[c] command. See [c]:help :dialog[c].
* [c]:bmarks[c] --
Vimperator provides a new interface to bookmarks, but they're still your
standard Firefox bookmarks under the hood. [c]:bmark[c] will add a new
bookmark, while [c]:bmarks[c] will list the bookmarks currently defined.
* [c]:history[c] --
It's exactly what it sounds like. This command will display a colorized,
scrollable and clickable list of the locations in Vimperator's history.
* [c]:emenu[c] --
Access the Firefox menus through the Vimperator command line.
Feel free to explore at this point. If you use the [c]:tabopen[c] command,
remember to use the [m]gt[m]/[m]gT[m] mappings to get back to this page. If
using the [c]:open[c] command, use the history keys (e.g., [m]H[m]) to return.
If you get hopelessly lost, just type [c]:help<CR>[c] and click the
``Tutorial'' link to return.
// TODO: other sections?
section:Get{nbsp}me{nbsp}out{nbsp}of{nbsp}here![removal]
If you've given it a fair shot and determined ... TODO
The Vimperator way to do this is with the command [c]:addons[c]. Issuing this
command brings up the Firefox Add-ons dialog window; you can then remove it as
normal, selecting Vimperator from the list and clicking (yes, clicking)
*Uninstall*.
Alternatively, you can do this the old-fashioned way: re-enable the menubar,
as above, with [c]:set go+=m[c], and select *Add-ons* from the *Tools* menu.
section:I'm{nbsp}interested...but{nbsp}lost![support]
Vimperator has an energetic and growing user base. If you've run into a problem
that you can't seem to solve with Vimperator, or if you think you might have
found a bug, please let us know! There is support available on the
http://vimperator.cutup.org/index.php?title=Main_Page[wiki], or in the
#vimperator IRC channel on http://freenode.net/[freenode].
If you have any feature requests or (even better) offers to help, we'd love to
hear from you as well. Developers work on Vimperator whenever possible, but we
are neither infinite nor omnipotent; please bear with us. If you can't wait for
us to get around to it, rest assured patches are welcome! See the
help:Developer[developer.html] page for more information.
// vim: set filetype=asciidoc:

111
xulmus/locale/en-US/various.txt Executable file
View File

@@ -0,0 +1,111 @@
HEADER
section:Various{nbsp}commands[various]
|:beep| +
||:beep||
________________________________________________________________________________
Play a system beep.
________________________________________________________________________________
|<C-l>| |CTRL-L| |:redr| |:redraw| +
||:redr[aw]||
____
Redraws the screen. Useful to update the screen halfway executing a script or function.
____
|:norm| |:normal|
||:norm[al][!] {commands}|| +
________________________________________________________________________________
Execute Normal mode commands {commands}. This makes it possible to execute
Normal mode commands typed on the command line. {commands} is executed like it
is typed. If the [!] is given, mappings will not be used. {commands} should be
a complete command. {commands} cannot start with a space. Put 1 space before
it, 1 space is one space.
________________________________________________________________________________
|:run| |:!| +
||:!{cmd}||
________________________________________________________________________________
Run a command. Runs {cmd} through system() and displays its output. Any \'!' in
{cmd} is replaced with the previous external command. But not when there is a
backslash before the \'!', then that backslash is removed.
Warning: Input redirection (< foo) not done, also do not run commands which
require stdin or it will hang Firefox!
________________________________________________________________________________
|:ve| |:version| +
||:ve[rsion][!]||
________________________________________________________________________________
Show version information. You can show the Firefox version page with
[c]:version![c].
________________________________________________________________________________
section:Online{nbsp}help[online-help]
|<F1>| |:help| |:h| |help|
||:h[elp] [a][subject][a]|| +
||<F1>||
________________________________________________________________________________
Open help window. The default page, as specified by 'helpfile' is shown unless
[a][subject][a] is specified. If you need help for a specific topic, try
[c]:help overview[c].
____________________________________________________________________________
|:exu| |:exusage| +
||:exu[sage][!]||
________________________________________________________________________________
Show help on Ex commands. If [!] is given then the help is listed in the
command output window.
________________________________________________________________________________
|:optionu| |:optionusage| +
||:optionu[sage][!]||
________________________________________________________________________________
Show help on options. If [!] is given then the help is listed in the command
output window.
________________________________________________________________________________
|:viu| |:viusage| +
||:viu[sage][!]||
________________________________________________________________________________
Show help on Normal mode commands. If [!] is given then the help is listed in
the command output window.
________________________________________________________________________________
|42| +
What is the meaning of life, the universe and everything?
Douglas Adams, the only person who knew what this question really was about is
now dead, unfortunately. So now you might wonder what the meaning of death
is...
section:Uncategorized{nbsp}help[uncategorized]
|<C-[>| |<Esc>| +
||<Esc>||
________________________________________________________________________________
Focus content. Exits Command-line or Hints mode and returns to Normal
mode. Also focuses the web page in case a form field has focus and eats
our key presses.
________________________________________________________________________________
|<Insert>| |i| +
||i||
________________________________________________________________________________
Start caret mode. This mode resembles the Vim's Normal mode where you see a
text cursor and can move around. If you want to select text in this mode, press
[m]v[m] to start its Visual mode.
________________________________________________________________________________
// vim: set filetype=asciidoc:

349
xulmus/locale/en-US/xhtml11.css Executable file
View File

@@ -0,0 +1,349 @@
/* keep the mozdev header */
/* @import url(http://www.mozdev.org/skin/color/mozdev2k.css); */
/*
CSS stylesheet for XHTML produced by DocBook XSL stylesheets.
Tested with XSL stylesheets 1.61.2, 1.67.2
*/
span.strong {
font-weight: bold;
}
a {
color: #4A708B;
text-decoration: none;
}
body blockquote {
margin-top: .75em;
line-height: 1.5;
margin-bottom: .75em;
}
html body {
/*margin: 1em 5% 1em 5%;*/
margin: auto;
padding-left: 25px;
padding-right: 25px;
line-height: 1.2;
font-family: -moz-fixed;
max-width: 800px;
}
body div {
margin: 0;
}
h1, h2, h3, h4, h5, h6,
div.toc p b,
div.list-of-figures p b,
div.list-of-tables p b,
div.abstract p.title
{
color: #527bbd;
}
div.toc p:first-child,
div.list-of-figures p:first-child,
div.list-of-tables p:first-child,
div.example p.title
{
margin-bottom: 0.1em;
}
body h1 {
margin: .0em 0 0 -4%;
line-height: 1.3;
border-bottom: 1px solid silver;
}
body h2 {
/* necessary, because we put h2 into tables */
margin-top: 20px !important;
margin-bottom: 0px !important;
line-height: 1.3;
/*border-bottom: 1px solid silver;*/
}
body h3 {
margin: .8em 0 0 -3%;
line-height: 1.3;
}
body h4 {
margin: .8em 0 0 -3%;
line-height: 1.3;
}
body h5 {
margin: .8em 0 0 -2%;
line-height: 1.3;
}
body h6 {
margin: .8em 0 0 -1%;
line-height: 1.3;
}
body hr {
border: none; /* Broken on IE6 */
}
div.footnotes hr {
border: 1px solid silver;
}
div.navheader th, div.navheader td, div.navfooter td {
font-size: 0.9em;
font-weight: bold;
color: #527bbd;
}
div.navheader img, div.navfooter img {
border-style: none;
}
div.navheader a, div.navfooter a {
font-weight: normal;
}
div.navfooter hr {
border: 1px solid silver;
}
body td {
line-height: 1.2
}
body th {
line-height: 1.2;
}
ol {
line-height: 1.2;
}
ul, body dir, body menu {
line-height: 1.2;
}
html {
margin: 0;
padding: 0;
}
body h1, body h2, body h3, body h4, body h5, body h6 {
margin-left: 0
}
body pre {
margin: 0.5em 10% 0.5em 1em;
line-height: 1.2;
color: navy;
}
tt.literal, code.literal {
color: navy;
}
.programlisting, .screen, .listingblock {
border: 1px solid silver;
background: #f4f4f4;
margin: 0.5em 10% 0.5em 0;
padding: 0.5em 1em;
}
div.sidebar {
background: #ffffee;
margin: 1.0em 10% 0.5em 0;
padding: 0.5em 1em;
border: 1px solid silver;
}
div.sidebar * { padding: 0; }
div.sidebar div { margin: 0; }
div.sidebar p.title {
margin-top: 0.5em;
margin-bottom: 0.2em;
}
div.bibliomixed {
margin: 0.5em 5% 0.5em 1em;
}
#footer {
margin: 15px;
text-align: center;
color: gray;
}
div.glossary dt {
font-weight: bold;
}
div.glossary dd p {
margin-top: 0.2em;
}
dl {
margin: .8em 0;
line-height: 1.2;
}
dt {
margin-top: 0.5em;
}
dt span.term {
font-style: italic;
}
div.variablelist dd p {
margin-top: 0;
}
div.itemizedlist li, div.orderedlist li {
margin-left: -0.8em;
margin-top: 0.5em;
}
ul, ol {
list-style-position: outside;
}
div.sidebar ul, div.sidebar ol {
margin-left: 2.8em;
}
div.itemizedlist p.title,
div.orderedlist p.title,
div.variablelist p.title
{
margin-bottom: -0.8em;
}
div.revhistory table {
border-collapse: collapse;
border: none;
}
div.revhistory th {
border: none;
color: #527bbd;
}
div.revhistory td {
border: 1px solid silver;
}
/* Keep TOC and index lines close together. */
div.toc dl, div.toc dt,
div.list-of-figures dl, div.list-of-figures dt,
div.list-of-tables dl, div.list-of-tables dt,
div.indexdiv dl, div.indexdiv dt
{
line-height: normal;
margin-top: 0;
margin-bottom: 0;
}
/*
Table styling does not work because of overriding attributes in
generated HTML.
*/
div.table table,
div.informaltable table
{
margin-left: 0;
margin-right: 5%;
margin-bottom: 0.8em;
}
div.informaltable table
{
margin-top: 0.4em
}
div.table thead,
div.table tfoot,
div.table tbody,
div.informaltable thead,
div.informaltable tfoot,
div.informaltable tbody
{
/* No effect in IE6. */
border-top: 2px solid #527bbd;
border-bottom: 2px solid #527bbd;
}
div.table thead, div.table tfoot,
div.informaltable thead, div.informaltable tfoot
{
font-weight: bold;
}
div.mediaobject img {
border: 1px solid silver;
margin-bottom: 0.8em;
}
div.figure p.title,
div.table p.title
{
margin-top: 1em;
margin-bottom: 0.4em;
}
@media print {
div.navheader, div.navfooter { display: none; }
}
/* my additions */
span.tag, span.hiddentag {
font-weight: bold;
color: rgb(255, 0, 255); /* magenta */
padding-left: 15px;
float: right;
}
/* inside a table cell means this tag is part of a section */
td span.tag {
padding-top: 25px !important;
}
div.key {
color: rgb(255, 0, 255); /* magenta */
min-width: 120px; /* with 20px padding actually 140px */
/*padding-bottom: 5px;*/
padding-right: 20px;
float: left;
}
span.warning {
font-weight: bold;
color: red;
}
span.info {
font-weight: bold;
color: blue;
}
fieldset.paypal {
border: none;
}
.argument {
color: #6A97D4;
}
.command {
font-weight: bold;
color: #632610;
white-space: nowrap;
}
.mapping {
font-weight: bold;
color: #102663;
}
.option {
font-weight: bold;
color: #106326;
}
.option, .mapping, .command {
text-decoration: none;
}
.option:hover, .mapping:hover, .command:hover {
text-decoration: underline;
}
.quoteblock {
margin-left: 140px;
padding-bottom: 10px;
}

BIN
xulmus/skin/icon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

21
xulmus/vimperatorrc.example Executable file
View File

@@ -0,0 +1,21 @@
" TODO: add some useful examples
" I don't like beeps
set visualbell
" autoignore mode on certain pages
:autocmd PageLoad .* :js modes.passAllKeys = /gmail\.com/.test(buffer.URL)
" embedded javascript is possible
" You can even add new functions which are then available in the :js command
javascript <<EOF
hello = function(name)
{
alert("Hello world: " + name);
}
EOF
echo "vimperatorrc sourced"
" vim: ft=vimperator: