MozillaZine

Keyconfig extension: Firefox

From MozillaZine Knowledge Base

Contents

Firefox Functions

Open Location

Menu: File -> Open Location

user_pref("keyconfig.main.xxx_key__Open Location", "!][][][gBrowser.loadURI('http://www.mozilla.org/');");

Extensions

Menu: Tools -> Extensions

user_pref("keyconfig.main.xxx_key__Extensions", "!][][][BrowserOpenExtensions('extensions');");

Themes

Menu: Tools -> Themes

user_pref("keyconfig.main.xxx_key__Themes", "!][][][BrowserOpenExtensions('themes');");

Bookmarks Manager

Menu: Bookmarks -> Manage Bookmarks

user_pref("keyconfig.main.xxx_key__Manage Bookmarks", "!][][][toOpenWindowByType('bookmarks:manager', 'chrome://browser/content/bookmarks/bookmarksManager.xul');");

Next Tab

user_pref("keyconfig.main.xxx_key__Next Tab", "!][][][gBrowser.mTabContainer.advanceSelectedTab(1);");

Previous Tab

user_pref("keyconfig.main.xxx_key__Previous Tab", "!][][][gBrowser.mTabContainer.advanceSelectedTab(-1);");

Reload All Tabs

user_pref("keyconfig.main.xxx_key__Reload All Tabs", "!][][][gBrowser.reloadAllTabs();");

Close Tab and Focus to the left Tab

user_pref("keyconfig.main.xxx_key__Close Tab & Focus to the left", "!][][][var tab = gBrowser.mCurrentTab; if(tab.previousSibling) gBrowser.mTabContainer.selectedIndex--; gBrowser.removeTab(tab);");

Close Tab and Focus to the right Tab

user_pref("keyconfig.main.xxx_key__Close Tab & Focus to the right", "!][][][var tab = gBrowser.mCurrentTab; if(tab.nextSibling) gBrowser.mTabContainer.selectedIndex++; gBrowser.removeTab(tab);");

Close current Tab

var tab = gBrowser.mCurrentTab; gBrowser.removeTab(tab);

Bookmark Keyword

Opens the bookmark with the specified keyword. Replace the string KEYWORD with your bookmark's keyword.

user_pref("keyconfig.main.xxx_key__Keyword 1", "!][][][if(window.loadURI) loadURI(getShortcutOrURI('KEYWORD',{}));");

Back Menu

Similar to the menu that appears when right-clicking the Back Button. If the menu is too low, decrease the 25 in the following line; if it is too high, increase it.

user_pref("keyconfig.main.xxx_key__Back Menu", '!][][][var elm = document.getElementById("back-button"); var x = elm.boxObject.x; var y = elm.boxObject.y + elm.boxObject.height + 25; document.getElementById("backMenu").showPopup(elm, x, y, "popup", null, null);');

Forward Menu

Similar to the menu that appears when right-clicking the Forward Button. If the menu is too low, decrease the 25 in the following line; if it is too high, increase it.

user_pref("keyconfig.main.xxx_key__Forward Menu", '!][][][var elm = document.getElementById("forward-button"); var x = elm.boxObject.x; var y = elm.boxObject.y + elm.boxObject.height + 25; document.getElementById("forwardMenu").showPopup(elm, x, y, "popup", null, null);');

Focus Content

Activate the selected content, as if you clicked on it. You need this, for example, if you want to scroll with the cursor keys and nothing happens.

user_pref("keyconfig.main.xxx_key__Focus Content", "!][][][_content.focus();");

Paste and Go

Paste URL from clipboard and automatically load the URL in current tab.

user_pref("keyconfig.main.xxx_key__Paste and Go", "!][][][var paste = readFromClipboard();\nif(!paste) return;\nloadURI(paste);][chrome://browser/content/browser.xul");

Paste to New Tab and Go

Paste URL from clipboard and automatically load the URL in a new tab.

user_pref("keyconfig.main.xxx_key__Paste to New Tab and Go", "!][][][var paste = readFromClipboard();\nif(!paste) return;\ngBrowser.selectedTab = gBrowser.addTab(paste);][chrome://browser/content/browser.xul");

Scroll Page Down

user_pref("keyconfig.main.xxx_key__Page Down", "!][][][goDoCommand('cmd_scrollPageDown');");

Scroll Page Up

user_pref("keyconfig.main.xxx_key__Page Up", "!][][][goDoCommand('cmd_scrollPageUp');");

Scroll to the Bottom

user_pref("keyconfig.main.xxx_key__Scroll Bottom", "!][][][goDoCommand('cmd_scrollBottom');");

Scroll to the Top

user_pref("keyconfig.main.xxx_key__Scroll Top", "!][][][goDoCommand('cmd_scrollTop);");

Scroll Line Down

user_pref("keyconfig.main.xxx_key__Scroll Line Down", "!][][][goDoCommand('cmd_scrollLineDown);");

Scroll Line Up

user_pref("keyconfig.main.xxx_key__Scroll Line Up", "!][][][goDoCommand('cmd_scrollLineUp);");

Toggle Show/Hide Password

user_pref("keyconfig.main.xxx_key__Toggle Show/Hide Password", "!][][][var passw = content.document.evaluate('//input[@type=\"password\"]',\n content.document, null, 6, null);\nif(passw.snapshotLength) {\n for(var i = 0; i < passw.snapshotLength; i++) {\n passw.snapshotItem(i).type = 'text';\n passw.snapshotItem(i).setAttribute('showPassword', true);\n }\n} else {\n passw = content.document.evaluate('//input[@showPassword=\"true\"]',\n content.document, null, 6, null);\n if(!passw.snapshotLength) return;\n for(var i = 0; i < passw.snapshotLength; i++) {\n passw.snapshotItem(i).type = 'password';\n passw.snapshotItem(i).removeAttribute('showPassword');\n }\n}][chrome://browser/content/browser.xul");

View Source in Current Tab

user_pref("keyconfig.main.xxx_key__View Source in Current Tab", "!][][][var sourceURL = 'view-source:' + content.document.location.href;\nloadURI(sourceURL);][chrome://browser/content/browser.xul");

View Source in New Tab

user_pref("keyconfig.main.xxx_key__View Source in New Tab", "!][][][var sourceURL = 'view-source:' + content.document.location.href;\ngBrowser.selectedTab = gBrowser.addTab(sourceURL);][chrome://browser/content/browser.xul");

View Source in Sidebar

user_pref("keyconfig.main.xxx_key__View Source in Sidebar", "!][][][var url = 'content.document.location.href;\nopenWebPanel(url, 'view-source:' + url);][chrome://browser/content/browser.xul");

Wrap Long Lines

Based on Jesse Ruderman's Force Wrap bookmarklet

user_pref("keyconfig.main.xxx_key__Wrap Long Lines", "!][][][var thisDoc = content.document;\n\nfunction F(n) {\n var u, r, c, x;\n if(n.nodeType == 3) {\n u = n.data.search(/\\S{45}/);\n if(u >= 0) {\n r = n.splitText(u + 45);\n n.parentNode.insertBefore(thisDoc.createElement('WBR'), r);\n }\n } else if(n.tagName != 'STYLE' && n.tagName != 'SCRIPT' && n.tagName != 'PRE') {\n for (c = 0; x = n.childNodes[c]; ++c) {\n F(x);\n }\n }\n}\n\nF(thisDoc.body);\nthisDoc.body.parentNode.insertBefore(thisDoc.body, thisDoc.body);][chrome://browser/content/browser.xul");

Zap Images

Based on Jesse Ruderman's Zap Images bookmarklet

user_pref("keyconfig.main.xxx_key__Wrap Long Lines", "!][][][var thisDoc = content.document;\n\nfunction F(n) {\n var u, r, c, x;\n if(n.nodeType == 3) {\n u = n.data.search(/\\S{45}/);\n if(u >= 0) {\n r = n.splitText(u + 45);\n n.parentNode.insertBefore(thisDoc.createElement('WBR'), r);\n }\n } else if(n.tagName != 'STYLE' && n.tagName != 'SCRIPT' && n.tagName != 'PRE') {\n for (c = 0; x = n.childNodes[c]; ++c) {\n F(x);\n }\n }\n}\n\nF(thisDoc.body);\nthisDoc.body.parentNode.insertBefore(thisDoc.body, thisDoc.body);][chrome://browser/content/browser.xul");