mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-19 06:10:18 +01:00
Fix crappy add-on manager icons.
This commit is contained in:
@@ -40,7 +40,7 @@ CHROME = $(MANGLE)/
|
||||
JAR = $(CHROME)$(NAME).jar
|
||||
|
||||
XPI_BASES = $(JAR_BASES) $(TOP)/..
|
||||
XPI_FILES = bootstrap.js TODO AUTHORS Donors NEWS LICENSE.txt
|
||||
XPI_FILES = icon.png icon64.png bootstrap.js TODO AUTHORS Donors NEWS LICENSE.txt
|
||||
XPI_DIRS = components $(MANGLE) defaults
|
||||
XPI_TEXTS = js jsm $(JAR_TEXTS)
|
||||
XPI_BINS = $(JAR_BINS)
|
||||
|
||||
@@ -16,6 +16,16 @@ var XUL = Namespace("xul", "http://www.mozilla.org/keymaster/gatekeeper/there.is
|
||||
var NS = Namespace("dactyl", "http://vimperator.org/namespaces/liberator");
|
||||
default xml namespace = XHTML;
|
||||
|
||||
function BooleanAttribute(attr) ({
|
||||
get: function (elem) elem.getAttribute(attr) == "true",
|
||||
set: function (elem, val) {
|
||||
if (val === "false" || !val)
|
||||
elem.removeAttribute(attr);
|
||||
else
|
||||
elem.setAttribute(attr, true);
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* @class
|
||||
*
|
||||
@@ -73,7 +83,11 @@ var DOM = Class("DOM", {
|
||||
attrHooks: array.toObject([
|
||||
["", {
|
||||
href: { get: function (elem) elem.href || elem.getAttribute("href") },
|
||||
src: { get: function (elem) elem.src || elem.getAttribute("src") }
|
||||
src: { get: function (elem) elem.src || elem.getAttribute("src") },
|
||||
collapsed: BooleanAttribute("collapsed"),
|
||||
disabled: BooleanAttribute("disabled"),
|
||||
hidden: BooleanAttribute("hidden"),
|
||||
readonly: BooleanAttribute("readonly")
|
||||
}]
|
||||
]),
|
||||
|
||||
@@ -140,6 +154,10 @@ var DOM = Class("DOM", {
|
||||
return this.map(function (elem) elem.querySelectorAll(val));
|
||||
},
|
||||
|
||||
findAnon: function findAnon(attr, val) {
|
||||
return this.map(function (elem) elem.ownerDocument.getAnonymousElementByAttribute(elem, attr, val));
|
||||
},
|
||||
|
||||
filter: function filter(val, self) {
|
||||
let res = this.Empty();
|
||||
|
||||
@@ -507,7 +525,7 @@ var DOM = Class("DOM", {
|
||||
return this.each(function (elem) {
|
||||
for (let [k, v] in Iterator(key))
|
||||
if (Set.has(hooks, k) && hooks[k].set)
|
||||
hooks[k].set.call(this, elem, v);
|
||||
hooks[k].set.call(this, elem, v, k);
|
||||
else if (v == null)
|
||||
elem.removeAttributeNS(ns, k);
|
||||
else
|
||||
@@ -518,7 +536,7 @@ var DOM = Class("DOM", {
|
||||
return null;
|
||||
|
||||
if (Set.has(hooks, key) && hooks[key].get)
|
||||
return hooks[key].get.call(this, this[0]);
|
||||
return hooks[key].get.call(this, this[0], key);
|
||||
|
||||
if (!this[0].hasAttributeNS(ns, key))
|
||||
return null;
|
||||
@@ -526,6 +544,7 @@ var DOM = Class("DOM", {
|
||||
return this[0].getAttributeNS(ns, key);
|
||||
},
|
||||
|
||||
|
||||
css: update(function css(key, val) {
|
||||
if (val !== undefined)
|
||||
key = array.toObject([[key, val]]);
|
||||
@@ -811,9 +830,10 @@ var DOM = Class("DOM", {
|
||||
|
||||
types: Class.Memoize(function () iter(
|
||||
{
|
||||
Mouse: "click mousedown mouseout mouseover mouseup",
|
||||
Mouse: "click mousedown mouseout mouseover mouseup " +
|
||||
"popupshowing popupshown popuphiding popuphidden",
|
||||
Key: "keydown keypress keyup",
|
||||
"": "change dactyl-input input submit " +
|
||||
"": "change command dactyl-input input submit " +
|
||||
"load unload pageshow pagehide DOMContentLoaded"
|
||||
}
|
||||
).map(function ([k, v]) v.split(" ").map(function (v) [v, k]))
|
||||
|
||||
@@ -21,14 +21,14 @@ defineModule("io", {
|
||||
* @instance io
|
||||
*/
|
||||
var IO = Module("io", {
|
||||
init: function () {
|
||||
init: function init() {
|
||||
this._processDir = services.directory.get("CurWorkD", Ci.nsIFile);
|
||||
this._cwd = this._processDir.path;
|
||||
this._oldcwd = null;
|
||||
this.config = config;
|
||||
},
|
||||
|
||||
Local: function (dactyl, modules, window) let ({ io, plugins } = modules) ({
|
||||
Local: function Local(dactyl, modules, window) let ({ io, plugins } = modules) ({
|
||||
|
||||
init: function init() {
|
||||
this.config = modules.config;
|
||||
@@ -292,7 +292,7 @@ var IO = Module("io", {
|
||||
* @default $HOME.
|
||||
* @returns {nsIFile} The RC file or null if none is found.
|
||||
*/
|
||||
getRCFile: function (dir, always) {
|
||||
getRCFile: function getRCFile(dir, always) {
|
||||
dir = this.File(dir || "~");
|
||||
|
||||
let rcFile1 = dir.child("." + config.name + "rc");
|
||||
@@ -316,7 +316,7 @@ var IO = Module("io", {
|
||||
*
|
||||
* @returns {File}
|
||||
*/
|
||||
createTempFile: function () {
|
||||
createTempFile: function createTempFile() {
|
||||
let file = services.directory.get("TmpD", Ci.nsIFile);
|
||||
file.append(this.config.tempFile);
|
||||
file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, octal(600));
|
||||
@@ -337,6 +337,9 @@ var IO = Module("io", {
|
||||
isJarURL: function isJarURL(url) {
|
||||
try {
|
||||
let uri = util.newURI(util.fixURI(url));
|
||||
if (uri instanceof Ci.nsIJARURI)
|
||||
return uri;
|
||||
|
||||
let channel = services.io.newChannelFromURI(uri);
|
||||
channel.cancel(Cr.NS_BINDING_ABORTED);
|
||||
if (channel instanceof Ci.nsIJARChannel)
|
||||
@@ -373,7 +376,7 @@ var IO = Module("io", {
|
||||
}
|
||||
},
|
||||
|
||||
readHeredoc: function (end) {
|
||||
readHeredoc: function readHeredoc(end) {
|
||||
return "";
|
||||
},
|
||||
|
||||
@@ -387,8 +390,9 @@ var IO = Module("io", {
|
||||
* name and searched for in turn.
|
||||
*
|
||||
* @param {string} bin The name of the executable to find.
|
||||
* @returns {File|null}
|
||||
*/
|
||||
pathSearch: function (bin) {
|
||||
pathSearch: function pathSearch(bin) {
|
||||
if (bin instanceof File || File.isAbsolutePath(bin))
|
||||
return this.File(bin);
|
||||
|
||||
@@ -426,7 +430,7 @@ var IO = Module("io", {
|
||||
* @param {File|string} program The program to run.
|
||||
* @param {[string]} args An array of arguments to pass to *program*.
|
||||
*/
|
||||
run: function (program, args, blocking, self) {
|
||||
run: function run(program, args, blocking, self) {
|
||||
args = args || [];
|
||||
|
||||
let file = this.pathSearch(program);
|
||||
@@ -474,7 +478,7 @@ var IO = Module("io", {
|
||||
* the command completes. @optional
|
||||
* @returns {object|null}
|
||||
*/
|
||||
system: function (command, input, callback) {
|
||||
system: function system(command, input, callback) {
|
||||
util.dactyl.echomsg(_("io.callingShell", command), 4);
|
||||
|
||||
let { shellEscape } = util.closure;
|
||||
@@ -533,7 +537,7 @@ var IO = Module("io", {
|
||||
* @returns {boolean} false if temp files couldn't be created,
|
||||
* otherwise, the return value of *func*.
|
||||
*/
|
||||
withTempFiles: function (func, self, checked) {
|
||||
withTempFiles: function withTempFiles(func, self, checked) {
|
||||
let args = array(util.range(0, func.length)).map(this.closure.createTempFile).array;
|
||||
try {
|
||||
if (!args.every(util.identity))
|
||||
@@ -566,7 +570,7 @@ var IO = Module("io", {
|
||||
*/
|
||||
PATH_SEP: deprecated("File.PATH_SEP", { get: function PATH_SEP() File.PATH_SEP })
|
||||
}, {
|
||||
commands: function (dactyl, modules, window) {
|
||||
commands: function init_commands(dactyl, modules, window) {
|
||||
const { commands, completion, io } = modules;
|
||||
|
||||
commands.add(["cd", "chd[ir]"],
|
||||
@@ -858,7 +862,7 @@ unlet s:cpo_save
|
||||
literal: 0
|
||||
});
|
||||
},
|
||||
completion: function (dactyl, modules, window) {
|
||||
completion: function init_completion(dactyl, modules, window) {
|
||||
const { completion, io } = modules;
|
||||
|
||||
completion.charset = function (context) {
|
||||
@@ -1006,7 +1010,7 @@ unlet s:cpo_save
|
||||
completion.file(context, full);
|
||||
});
|
||||
},
|
||||
javascript: function (dactyl, modules, window) {
|
||||
javascript: function init_javascript(dactyl, modules, window) {
|
||||
modules.JavaScript.setCompleter([File, File.expandPath],
|
||||
[function (context, obj, args) {
|
||||
context.quote[2] = "";
|
||||
@@ -1025,7 +1029,7 @@ unlet s:cpo_save
|
||||
input: true
|
||||
});
|
||||
},
|
||||
options: function (dactyl, modules, window) {
|
||||
options: function init_options(dactyl, modules, window) {
|
||||
const { completion, options } = modules;
|
||||
|
||||
var shell, shellcmdflag;
|
||||
|
||||
@@ -460,9 +460,9 @@ var Overlay = Module("Overlay", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReferen
|
||||
if (doc.readyState === "complete")
|
||||
load();
|
||||
else
|
||||
doc.addEventListener("load", util.wrapCallback(function onLoad(event) {
|
||||
if (event.originalTarget === event.target) {
|
||||
doc.removeEventListener("load", onLoad.wrapper, true);
|
||||
window.addEventListener("load", util.wrapCallback(function onLoad(event) {
|
||||
if (event.originalTarget === doc) {
|
||||
window.removeEventListener("load", onLoad.wrapper, true);
|
||||
load(event);
|
||||
}
|
||||
}), true);
|
||||
|
||||
@@ -104,7 +104,7 @@ ProtocolBase.prototype = {
|
||||
| Ci.nsIProtocolHandler.URI_IS_LOCAL_RESOURCE,
|
||||
|
||||
newURI: function newURI(spec, charset, baseURI) {
|
||||
if (baseURI && baseURI.host === "data")
|
||||
if (baseURI && (!(baseURI instanceof Ci.nsIURL) || baseURI.host === "data"))
|
||||
baseURI = null;
|
||||
return services.URL(services.URL.URLTYPE_AUTHORITY,
|
||||
this.defaultPort, spec, charset, baseURI);
|
||||
|
||||
@@ -275,7 +275,7 @@ var Template = Module("Template", {
|
||||
|
||||
// if "processStrings" is true, any passed strings will be surrounded by " and
|
||||
// any line breaks are displayed as \n
|
||||
highlight: function highlight(arg, processStrings, clip) {
|
||||
highlight: function highlight(arg, processStrings, clip, bw) {
|
||||
XML.ignoreWhitespace = false; XML.prettyPrinting = false;
|
||||
// some objects like window.JSON or getBrowsers()._browsers need the try/catch
|
||||
try {
|
||||
@@ -302,7 +302,8 @@ var Template = Module("Template", {
|
||||
return <span highlight="Null">{arg}</span>;
|
||||
case "object":
|
||||
if (arg instanceof Ci.nsIDOMElement)
|
||||
return util.objectToString(arg, true);
|
||||
return util.objectToString(arg, !bw);
|
||||
|
||||
// for java packages value.toString() would crash so badly
|
||||
// that we cannot even try/catch it
|
||||
if (/^\[JavaPackage.*\]$/.test(arg))
|
||||
|
||||
@@ -624,6 +624,9 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
|
||||
if (uri instanceof Ci.nsIFileURL)
|
||||
return File(uri.file);
|
||||
|
||||
if (uri instanceof Ci.nsIFile)
|
||||
return File(uri);
|
||||
|
||||
let channel = services.io.newChannelFromURI(uri);
|
||||
channel.cancel(Cr.NS_BINDING_ABORTED);
|
||||
if (channel instanceof Ci.nsIFileChannel)
|
||||
@@ -902,7 +905,7 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
|
||||
}
|
||||
}
|
||||
|
||||
value = template.highlight(value, true, 150);
|
||||
value = template.highlight(value, true, 150, !color);
|
||||
let key = <span highlight="Key">{i}</span>;
|
||||
if (!isNaN(i))
|
||||
i = parseInt(i);
|
||||
@@ -1137,7 +1140,7 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
|
||||
* along with a stack trace and other relevant information. The
|
||||
* error is appended to {@see #errors}.
|
||||
*/
|
||||
reportError: function (error) {
|
||||
reportError: function reportError(error) {
|
||||
if (error.noTrace)
|
||||
return;
|
||||
|
||||
|
||||
BIN
pentadactyl/icon.png
Normal file
BIN
pentadactyl/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 731 B |
BIN
pentadactyl/icon64.png
Normal file
BIN
pentadactyl/icon64.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
@@ -8,7 +8,6 @@
|
||||
em:version="1.0b8pre"
|
||||
em:description="Firefox for Vim and Links addicts"
|
||||
em:homepageURL="http://dactyl.sourceforge.net/pentadactyl"
|
||||
em:iconURL="resource://dactyl-local-skin/icon.png"
|
||||
em:bootstrap="true">
|
||||
|
||||
<em:creator>Kris Maglione, Doug Kearns</em:creator>
|
||||
|
||||
Reference in New Issue
Block a user