mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2026-02-18 22:55:45 +01:00
Compare commits
1 Commits
pentadacty
...
dactyl-mas
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
42e7c2c512 |
50
README.md
50
README.md
@@ -1,50 +0,0 @@
|
|||||||
Pentadactyl for Pale Moon
|
|
||||||
=========================
|
|
||||||
|
|
||||||
This is a port of one of the best XUL-based Firefox extensions, targeting [Pale Moon](https://www.palemoon.org/) 27. The goal of this project is to make Pentadactyl compatible with Pale Moon, while staying as close to the upstream as possible.
|
|
||||||
|
|
||||||
Install
|
|
||||||
-------
|
|
||||||
|
|
||||||
You can find the latest XPI file for download [here](https://github.com/madand/pentadactyl-pm/releases/latest). For older versions see the [Releases](https://github.com/madand/pentadactyl-pm/releases) page.
|
|
||||||
|
|
||||||
Development
|
|
||||||
-----------
|
|
||||||
|
|
||||||
### Build XPI from sources ###
|
|
||||||
|
|
||||||
``` shell
|
|
||||||
git clone --depth 1000 https://github.com/madand/pentadactyl-pm.git
|
|
||||||
cd pentadactyl-pm/
|
|
||||||
make -C pentadactyl xpi
|
|
||||||
```
|
|
||||||
|
|
||||||
This resulting XPI will be placed in the `downloads/` folder.
|
|
||||||
|
|
||||||
#### Build dependencies ####
|
|
||||||
|
|
||||||
* zip
|
|
||||||
* gmake
|
|
||||||
* Standard POSIX commands: awk, echo, sed, sh
|
|
||||||
|
|
||||||
While most developers use a Unix-like operating system, you can also build Pentadactyl on Windows with the help of MinGW's MSYS, Cygwin, or SFU.
|
|
||||||
|
|
||||||
### Install without XPI ###
|
|
||||||
|
|
||||||
As creating and installing a new XPI file after each update is cumbersome, most developers run Pentadactyl directly from their working copies. This is achieved with [Firefox extension proxy file][1], which is a plain text file named after the extension ID and its contents is just a path to the extension source directory.
|
|
||||||
|
|
||||||
Assuming you use the `default` profile, the following command will create the proxy file:
|
|
||||||
|
|
||||||
``` shell
|
|
||||||
cd /path/to/cloned/pentadactyl-pm/
|
|
||||||
# On clean profile, ensure that 'extensions' directory exists inside of the profile directory.
|
|
||||||
echo "$(pwd)/pentadactyl" >~/'.moonchild productions/pale moon'/*.default/extensions/pentadactyl@addons.palemoon.org
|
|
||||||
```
|
|
||||||
|
|
||||||
Once you installed Pentadactyl via the proxy file, restart the browser. Afterwards, you can use `:rehash` command to reload the extension without further browser restarts. Moreover, you can bind it to a key chord in your `~/.pentadactylrc`:
|
|
||||||
|
|
||||||
``` viml
|
|
||||||
nmap -ex <C-r> :rehash
|
|
||||||
```
|
|
||||||
|
|
||||||
[1]: https://developer.mozilla.org/en-US/Add-ons/Setting_up_extension_development_environment#Firefox_extension_proxy_file
|
|
||||||
@@ -17,12 +17,18 @@ var Browser = Module("browser", XPCOM(Ci.nsISupportsWeakReference, ModuleBase),
|
|||||||
this.progressListener);
|
this.progressListener);
|
||||||
util.addObserver(this);
|
util.addObserver(this);
|
||||||
|
|
||||||
|
this._unoverlay = overlay.overlayObject(FullZoom, {
|
||||||
|
get siteSpecific() { return false; },
|
||||||
|
set siteSpecific(val) {}
|
||||||
|
});
|
||||||
|
|
||||||
config.tabbrowser.addTabsProgressListener(this.tabsProgressListener);
|
config.tabbrowser.addTabsProgressListener(this.tabsProgressListener);
|
||||||
},
|
},
|
||||||
|
|
||||||
destroy: function () {
|
destroy: function () {
|
||||||
this.cleanupProgressListener();
|
this.cleanupProgressListener();
|
||||||
this.observe.unregister();
|
this.observe.unregister();
|
||||||
|
this._unoverlay();
|
||||||
config.tabbrowser.removeTabsProgressListener(this.tabsProgressListener);
|
config.tabbrowser.removeTabsProgressListener(this.tabsProgressListener);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -49,10 +49,10 @@ var MOW = Module("mow", {
|
|||||||
events.listen(window, this, "windowEvents");
|
events.listen(window, this, "windowEvents");
|
||||||
|
|
||||||
modules.mow = this;
|
modules.mow = this;
|
||||||
let fontSize = DOM(document.documentElement).style.fontSize;
|
//let fontSize = DOM(document.documentElement).style.fontSize;
|
||||||
styles.system.add("font-size", "dactyl://content/buffer.xhtml",
|
styles.system.add("font-size", "dactyl://content/buffer.xhtml",
|
||||||
"body { font-size: " + fontSize + "; } \
|
// "body { font-size: " + fontSize + "; } \
|
||||||
html|html > xul|scrollbar { visibility: collapse !important; }",
|
"html|html > xul|scrollbar { visibility: collapse !important; }",
|
||||||
true);
|
true);
|
||||||
|
|
||||||
overlay.overlayWindow(window, {
|
overlay.overlayWindow(window, {
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ var StatusLine = Module("statusline", {
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
config.tabbrowser.getStatusPanel().hidden = true;
|
||||||
|
|
||||||
if (this.statusBar.localName == "toolbar") {
|
if (this.statusBar.localName == "toolbar") {
|
||||||
styles.system.add("addon-bar", config.styleableChrome, String.raw`
|
styles.system.add("addon-bar", config.styleableChrome, String.raw`
|
||||||
#status-bar, #dactyl-status-bar { margin-top: 0 !important; }
|
#status-bar, #dactyl-status-bar { margin-top: 0 !important; }
|
||||||
|
|||||||
@@ -64,7 +64,8 @@ var Config = Module("config", ConfigBase, {
|
|||||||
},
|
},
|
||||||
|
|
||||||
get toolbars() {
|
get toolbars() {
|
||||||
return Array.from(DOM.XPath("//*[@toolbarname]", window.document));
|
let navbar = window.document.getElementById("nav-bar");
|
||||||
|
return window.getTogglableToolbars().concat(navbar);
|
||||||
},
|
},
|
||||||
|
|
||||||
removeTab: function removeTab(tab) {
|
removeTab: function removeTab(tab) {
|
||||||
|
|||||||
@@ -2,20 +2,20 @@
|
|||||||
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
|
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
|
||||||
<Description about="urn:mozilla:install-manifest"
|
<Description about="urn:mozilla:install-manifest"
|
||||||
em:id="pentadactyl@addons.palemoon.org"
|
em:id="pentadactyl@dactyl.googlecode.com"
|
||||||
em:type="2"
|
em:type="2"
|
||||||
em:name="Pentadactyl"
|
em:name="Pentadactyl"
|
||||||
em:version="1.2pre-pm-2"
|
em:version="1.2pre"
|
||||||
em:description="Pale Moon for Vim and Links addicts"
|
em:description="Firefox for Vim and Links addicts"
|
||||||
em:homepageURL="http://5digits.org/pentadactyl"
|
em:homepageURL="http://5digits.org/pentadactyl"
|
||||||
em:bootstrap="true"
|
em:bootstrap="true"
|
||||||
|
em:multiprocessCompatible="false"
|
||||||
em:strictCompatibility="true">
|
em:strictCompatibility="true">
|
||||||
|
|
||||||
<em:creator>Kris Maglione, Doug Kearns</em:creator>
|
<em:creator>Kris Maglione, Doug Kearns</em:creator>
|
||||||
<em:developer>Kris Maglione</em:developer>
|
<em:developer>Kris Maglione</em:developer>
|
||||||
<em:developer>Doug Kearns</em:developer>
|
<em:developer>Doug Kearns</em:developer>
|
||||||
|
|
||||||
<em:contributor>Andriy Kmit' (Андрій Кміть)</em:contributor>
|
|
||||||
<em:contributor>anekos</em:contributor>
|
<em:contributor>anekos</em:contributor>
|
||||||
<em:contributor>teramako</em:contributor>
|
<em:contributor>teramako</em:contributor>
|
||||||
<em:contributor>Viktor Kojouharov (Виктор Кожухаров)</em:contributor>
|
<em:contributor>Viktor Kojouharov (Виктор Кожухаров)</em:contributor>
|
||||||
@@ -31,9 +31,9 @@
|
|||||||
|
|
||||||
<em:targetApplication>
|
<em:targetApplication>
|
||||||
<Description
|
<Description
|
||||||
em:id="{8de7fcbb-c55c-4fbe-bfc5-fc555c87dbc4}"
|
em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
|
||||||
em:minVersion="27.0"
|
em:minVersion="38.0"
|
||||||
em:maxVersion="50.*"/>
|
em:maxVersion="51.*"/>
|
||||||
</em:targetApplication>
|
</em:targetApplication>
|
||||||
</Description>
|
</Description>
|
||||||
</RDF>
|
</RDF>
|
||||||
|
|||||||
Reference in New Issue
Block a user