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

Lots of rangefinder and Gecko 2 tabbing fixes.

This commit is contained in:
Kris Maglione
2010-08-28 18:02:03 -04:00
parent e3a2df403d
commit 4e40abe6b0
30 changed files with 856 additions and 883 deletions

View File

@@ -1,9 +1,11 @@
2009-XX-XX:
* Use only visible tabs for tab numbering, gt/gn/gN, etc.
* Group tabs in :buffer completions by panorama groups
* Replaced 'focuscontent' with 'strictfocus'
* Replaced previous incremental search implementation
* gf now toggles between source and content view.
'|' key binding has been removed.
* :open now only opens files begining with / or ./
* :open now only opens files begining with /, ./, or ~/
* Page zoom information is now shown in the status bar
* Added ZO, ZI, ZM, and ZR as aliases for zO, zI, zM, and zR
* Add basic plugin authorship documentation

View File

@@ -13,8 +13,26 @@ const Config = Module("config", ConfigBase, {
name: "Pentadactyl",
hostApplication: "Firefox",
/*** optional options, there are checked for existence and a fallback provided ***/
features: ["bookmarks", "hints", "history", "marks", "quickmarks", "sanitizer", "session", "tabs", "tabs_undo", "windows"],
get visualbellWindow() getBrowser().mPanelContainer,
styleableChrome: ["chrome://browser/content/browser.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 navigation to a new location",
PageLoadPre: "Triggered after a page load is initiated",
PageLoad: "Triggered when a page gets (re)loaded/opened",
PrivateMode: "Triggered when private mode is activated or deactivated",
Sanitize: "Triggered when a sanitizeable item is cleared",
ShellCmdPost: "Triggered after executing a shell command with :!cmd",
Enter: "Triggered after Firefox starts",
LeavePre: "Triggered before exiting Firefox, just before destroying each module",
Leave: "Triggered before exiting Firefox",
},
defaults: {
complete: "slf",
guioptions: "rb",
@@ -22,30 +40,6 @@ const Config = Module("config", ConfigBase, {
titlestring: "Pentadactyl"
},
guioptions: {
m: ["Menubar", ["toolbar-menubar"]],
T: ["Toolbar", ["nav-bar"]],
B: ["Bookmark bar", ["PersonalToolbar"]]
},
get visualbellWindow() getBrowser().mPanelContainer,
styleableChrome: ["chrome://browser/content/browser.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 navigation to a new location"],
["PageLoadPre", "Triggered after a page load is initiated"],
["PageLoad", "Triggered when a page gets (re)loaded/opened"],
["PrivateMode", "Triggered when private mode is activated or deactivated"],
["Sanitize", "Triggered when a sanitizeable item is cleared"],
["ShellCmdPost", "Triggered after executing a shell command with :!cmd"],
["PentadactylEnter", "Triggered after Firefox starts"],
["PentadactylLeavePre","Triggered before exiting Firefox, just before destroying each module"],
["PentadactylLeave", "Triggered before exiting Firefox"]],
dialogs: {
about: ["About Firefox",
function () { window.openDialog("chrome://browser/content/aboutDialog.xul", "_blank", "chrome,dialog,modal,centerscreen"); }],
@@ -99,10 +93,34 @@ const Config = Module("config", ConfigBase, {
function () { buffer.viewSelectionSource(); }]
},
features: [
"bookmarks", "hints", "history", "marks", "quickmarks", "sanitizer",
"session", "tabs", "tabs_undo", "windows"
],
guioptions: {
m: ["Menubar", ["toolbar-menubar"]],
T: ["Toolbar", ["nav-bar"]],
B: ["Bookmark bar", ["PersonalToolbar"]]
},
hasTabbrowser: true,
ignoreKeys: {},
removeTab: function (tab) {
if (config.tabbrowser.mTabs.length > 1)
config.tabbrowser.removeTab(tab);
else {
if (buffer.URL != "about:blank" || window.getWebNavigation().sessionHistory.count > 0) {
dactyl.open("about:blank", dactyl.NEW_BACKGROUND_TAB);
config.tabbrowser.removeTab(tab);
}
else
dactyl.beep();
}
},
scripts: [
"browser.js",
"bookmarks.js",
@@ -114,7 +132,6 @@ const Config = Module("config", ConfigBase, {
get tempFile() {
let prefix = this.name.toLowerCase();
try {
prefix += "-" + window.content.document.location.hostname;
}

View File

@@ -6,6 +6,8 @@
<!ENTITY dactyl.name "pentadactyl">
<!ENTITY dactyl.idname "PENTADACTYL">
<!ENTITY dactyl.appname "Pentadactyl">
<!ENTITY dactyl.apphome "http://dactyl.googlecode.com/">
<!ENTITY dactyl.maillist "pentadactyl@googlegroups.com">
<!ENTITY dactyl.host "&brandShortName;">
<!ENTITY dactyl.hostbin "firefox">
<!ENTITY dactyl.statusBefore "statusbar-display">

View File

@@ -19,9 +19,9 @@
<dt>PrivateMode</dt> <dd>Triggered when private mode is activated or deactivated</dd>
<dt>Sanitize</dt> <dd>Triggered when privata data are sanitized</dd>
<dt>ShellCmdPost</dt> <dd>Triggered after executing a shell command with <ex>:!</ex><a>cmd</a></dd>
<dt>&dactyl.appname;Enter</dt> <dd>Triggered after &dactyl.host; starts</dd>
<dt>&dactyl.appname;LeavePre</dt><dd>Triggered before exiting &dactyl.host;, just before destroying each module</dd>
<dt>&dactyl.appname;Leave</dt> <dd>Triggered before exiting &dactyl.host;</dd>
<dt>Enter</dt> <dd>Triggered after &dactyl.host; starts</dd>
<dt>LeavePre</dt> <dd>Triggered before exiting &dactyl.host;, just before destroying each module</dd>
<dt>Leave</dt> <dd>Triggered before exiting &dactyl.host;</dd>
</dl>
<dl tag="autocommand-args" replace="autocommand-args">

View File

@@ -14,49 +14,29 @@
<link topic="http://vimperator.org">&dactyl.appname;</link> is a free browser add-on for &dactyl.host;,
which makes it look and behave like the
<link topic="http://www.vim.org">Vim</link>
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.
text editor.
<warning tag="warning">
To provide the most authentic Vim experience, the &dactyl.host; menubar and toolbar are hidden.
To provide the most authentic Vim experience, the &dactyl.host;
menubar and toolbar are hidden.
<p>
If you really need them, type: <ex>:set guioptions+=mT</ex> to
get them back.
</p>
<p>
If you don't like &dactyl.appname; at all, you can uninstall it
by typing <ex>:extdelete &dactyl.appname;</ex> or disable it
with <ex>:extdisable &dactyl.appname;</ex>
</p>
<p>
If you like it but can't remember the shortcuts, then type
<key name="F1"/> or <ex>:help</ex> to get this help window back.
</p>
</warning>
<p>If you really need them, type: <ex>:set guioptions+=mT</ex> to get them back.</p>
<p>
If you don't like &dactyl.appname; at all, you can uninstall it by typing
<ex>:extdelete &dactyl.appname;</ex> or <ex>:extdisable &dactyl.appname;</ex> to disable it.
</p>
<p>
If you like it but can't remember the shortcuts, then press
<key name="F1"/> or <ex>:help</ex> to get this help window back.
</p>
<tags>author donaton sponsor</tags>
<strut/>
<p>
&dactyl.appname; was initially written by
<link topic="mailto:stubenschrott@vimperator.org">Martin
Stubenschrott</link> but has found many other
<link topic="http://vimperator.org/trac/wiki/&dactyl.appname;/Authors">contributors</link>
in the meanwhile. If you appreciate the work on &dactyl.appname; and want to
encourage us working on it more, you can send us greetings, patches, or
donations (thanks a lot to
<link topic="http://vimperator.org/trac/wiki/&dactyl.appname;/Donors">these
people</link>
who already did):
</p>
<pan><handle/></pan>
<p>
If you prefer getting some nice products for your money, you can also support
us by buying some cool
<link topic="http://www.zazzle.com/maxauthority*">merchandise</link> like
t-shirts or mugs. Of course, as we believe in free, open source software, only
support us financially if you really like &dactyl.appname; and the money doesn't hurt
— otherwise just use it, recommend it, and like it :)
</p>
<h2 tag="overview">Help topics</h2>
<ol>
@@ -156,10 +136,11 @@ web browser, as key bindings differ according to which mode you are in.
</ol>
<p>
You can also jump directly to the help of a specific command with <ex>:help o</ex>
or <ex>:help :set</ex>.
You can also jump directly to the help of a specific command via the <ex>:help</ex> command.
</p>
<example><ex>:help :help</ex></example>
<h2 tag="features">Features</h2>
<ul>
@@ -188,15 +169,14 @@ or <ex>:help :set</ex>.
<h2 tag="contact">Contact</h2>
<p>
Please send comments/bug reports/patches to the mailing list, where we will
properly answer any questions. You can also join the
<link topic="irc://irc.freenode.net/pentadactyl">#pentadactyl</link> IRC channel
on <link target="http://www.freenode.net/">Freenode</link> or check the
<link topic="http://vimperator.org/trac/wiki/&dactyl.appname;/Wiki">Wiki</link> for
<link topic="http://vimperator.org/trac/wiki/&dactyl.appname;/FAQ">
frequently asked questions (FAQ)
</link>. Make sure, you have read the TODO file first, as we are aware of many
things which can be improved when we find time for it or receive patches.
Please send comments, questions, or patches to the
<link topic="mailto:&dactyl.maillist;">mailing list</link>,
where we will do our best to answer any questions. You can also
check the
<link topic="http://code.google.com/p/dactyl/wiki">wiki</link> for
<link topic="http://code.google.com/p/dactyl/wiki/FAQ">FAQ</link>.
Issue reports can be entered in the
<link topic="http://code.google.com/p/dactyl/issues/list">issue tracker</link>.
</p>
</document>

View File

@@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="chrome://dactyl/content/help.xsl"?>
<!DOCTYPE overlay SYSTEM "chrome://dactyl/content/dactyl.dtd">
<overlay
xmlns="http://vimperator.org/namespaces/liberator"
xmlns:html="http://www.w3.org/1999/xhtml">
<item insertbefore=":set">
<tags>:seg :way</tags>
<spec>:se[a]</spec>
<description>
<p>Show all options that differ from their default value.</p>
</description>
</item>
<item insertafter=":set-default">
<tags>:sturm :drang</tags>
<spec>:und</spec>
<description>
<p>Show all options that differ from their default value.</p>
</description>
</item>
</overlay>
<!-- vim:se sts=4 sw=4 et: -->

View File

@@ -122,20 +122,24 @@
Scrolling the browser window is done with simple keystrokes:
</p>
<ul>
<li><k>j</k>/<k>k</k>
<dl>
<dt><k>j</k>/<k>k</k></dt>
<dd>
scroll window down/up by one line, respectively
</li>
<li><k>h</k>/<k>l</k>
</dd>
<dt><k>h</k>/<k>l</k></dt>
<dd>
scroll window left/right
</li>
<li><k name="Space"/>/<k name="C-b"/>
</dd>
<dt><k name="Space"/>/<k name="C-b"/></dt>
<dd>
scroll down/up by one page
</li>
<li><k name="C-d"/>/<k name="C-u"/>
</dd>
<dt><k name="C-d"/>/<k name="C-u"/></dt>
<dd>
scroll down/up by 1/2 page
</li>
</ul>
</dd>
</dl>
<p>
Your standard buttons (<k name="Up"/>/<k name="Down"/>/<k name="PgUp"/>/<k name="PgDn"/>) will
@@ -149,31 +153,36 @@
scrolling.
</p>
<ul>
<li><k name="C-o"/>/<k name="C-i"/>
<dl>
<dt><k name="C-o"/>/<k name="C-i"/></dt>
<dd>
move Back/Forward in the current window/tab's history, respectively
</li>
</ul>
</dd>
</dl>
<p>
Move between tabs using these keystrokes which may also be familiar to tabbing
Vimmers.
</p>
<ul>
<li><k>gt</k>/<k name="C-n"/>
<dl>
<dt><k>gt</k>/<k name="C-n"/></dt>
<dd>
go to the next tab
</li>
<li><k>gT</k>/<k name="C-p"/>
</dd>
<dt><k>gT</k>/<k name="C-p"/></dt>
<dd>
go to the previous tab
</li>
<li><k>g0</k>/<k>g$</k>
</dd>
<dt><k>g0</k>/<k>g$</k></dt>
<dd>
go to the first/last tab
</li>
<li><k>d</k>
</dd>
<dt><k>d</k></dt>
<dd>
close the active tab (delete the buffer)
</li>
</ul>
</dd>
</dl>
<p>
To open a web page in a new tab, use the <ex>:tabopen <a>url</a></ex>. To open a URL in
@@ -186,8 +195,8 @@
<ex>:open my.webmail.com<key name="CR"/></ex>
<k>o</k>my.webmail.com<key name="CR"/>
<ex>:tabopen vimperator.org<key name="CR"/></ex>
<k>t</k>vimperator.org<key name="CR"/>
<ex>:tabopen google.com<key name="CR"/></ex>
<k>t</k>google.com<key name="CR"/>
</code>
<h2 tag="hints-tutorial">Some hints about surfing…</h2>
@@ -225,7 +234,7 @@
</p>
<p>
To test it, try this link: <link target="http://vimperator.org/">&dactyl.appname; Homepage</link>.
To test it, try this link: <link target="&dactyl.apphome;">&dactyl.appname; Homepage</link>.
Activate QuickHint mode with <k>f</k> or <k>F</k> to highlight all currently
visible links. Then start typing the text of the link. The link should be
uniquely identified soon, and &dactyl.appname; will open it. Once you're done,
@@ -250,7 +259,7 @@
<code><k name="Esc"/></code>
<h2 tag="pentadactylrc">Saving for posterity - pentadactylrc</h2>
<h2 tag="pentadactylrc">Saving for posteritypentadactylrc</h2>
<p>
Once you get &dactyl.appname; set up with your desired options, maps, and commands,
@@ -275,17 +284,24 @@
&dactyl.appname; supports all of Vim's classic methods of exiting.
</p>
<ul>
<li><ex>:xall</ex> command to quit and save the current browsing
session for next time; the default.
</li>
<li><ex>:qall</ex> command to quit <em>without</em> saving the session
</li>
<li><k>ZZ</k> Normal mode mapping equivalent to <ex>:xall</ex>
</li>
<li><k>ZQ</k> Normal mode mapping equivalent to <ex>:qall</ex>
</li>
</ul>
<dl>
<dt><ex>:xall</ex></dt>
<dd>
command to quit and save the current browsing session for next time; the default.
</dd>
<dt><ex>:qall</ex></dt>
<dd>
command to quit <em>without</em> saving the session
</dd>
<dt><k>ZZ</k></dt>
<dd>
Normal mode mapping equivalent to <ex>:xall</ex>
</dd>
<dt><k>ZQ</k></dt>
<dd>
Normal mode mapping equivalent to <ex>:qall</ex>
</dd>
</dl>
<h2 tag="whither-&dactyl.host;">Where did &dactyl.host; go?</h2>
@@ -296,24 +312,28 @@
make the best use of them.
</p>
<ul>
<li><ex>:dialog</ex>
<dl>
<dt><ex>:dialog</ex></dt>
<dd>
To access some of &dactyl.host;'s many dialog windows, you can use the
<ex>:dialog</ex> command. See <ex>:help :dialog</ex>.
</li>
<li><ex>:bmarks</ex>
</dd>
<dt><ex>:bmarks</ex></dt>
<dd>
&dactyl.appname; provides a new interface to bookmarks, but they're still your
standard &dactyl.host; bookmarks under the hood. <ex>:bmark</ex> will add a new
bookmark, while <ex>:bmarks</ex> will list the bookmarks currently defined.
</li>
<li><ex>:history</ex>
</dd>
<dt><ex>:history</ex></dt>
<dd>
It's exactly what it sounds like. This command will display a colorized,
scrollable and clickable list of the locations in &dactyl.appname;'s history.
</li>
<li><ex>:emenu</ex>
</dd>
<dt><ex>:emenu</ex></dt>
<dd>
Access the &dactyl.host; menus through the &dactyl.appname; command line.
</li>
</ul>
</dd>
</dl>
<p>
Feel free to explore at this point. If you use the <ex>:tabopen</ex> command,