Skip to content

Instantly share code, notes, and snippets.

View darkowlzz's full-sized avatar

Sunny darkowlzz

  • ‏‏‏‏‎ ‎
View GitHub Profile
@darkowlzz
darkowlzz / delayedEventListener.js
Last active August 29, 2015 14:00
a delayed event listener
// Call eventlistener callback after a short delay
delayedEventListener(node, event, callback, useCapture) {
node.addEventListener(event, function handler(evt) {
node.removeEventListener(event, handler, useCapture); // remove the listener, not necessary
timer.setTimeout(function() {
try {
callback.call(self, evt); // call the main callback
}
catch(err) { }
}, someTime); // any amount of time to delay
@darkowlzz
darkowlzz / gist:132cbed31d20af6b4b9e
Last active August 29, 2015 14:00
addEventListener syntax
// Syntax of a event listener
target.addEventListener(type, listener[, useCapture]);
@darkowlzz
darkowlzz / BADviewPanel.js
Last active August 29, 2015 14:00
Snippet of BADviewPanel.js
// ViewPanel class
function ViewPanel(content, script) {
this.panel = Panel({
width: sp.prefs['width'],
height: sp.prefs['height'],
contentURL: data.url(content),
contentScriptFile: data.url(script)
});
// listeners on the prefs change
@darkowlzz
darkowlzz / BAD2viewPanel.js
Last active August 29, 2015 14:00
Snippet of BAD2viewPanel.js
// ViewPanel class
function ViewPanel(content, script) {
this.panel = Panel({
width: sp.prefs['width'],
height: sp.prefs['height'],
contentURL: data.url(content),
contentScriptFile: data.url(script)
});
// Moved inside the class, better than fighting with closures again
@darkowlzz
darkowlzz / viewPanel.js
Last active August 29, 2015 14:00
Snippet of viewPanel.js
// ViewPanel class
function ViewPanel(content, script) {
this.panel = Panel({
width: sp.prefs['width'],
height: sp.prefs['height'],
contentURL: data.url(content),
contentScriptFile: data.url(script)
});
// Using arrow functions to resolve scope issues
@darkowlzz
darkowlzz / loaderOptions.js
Last active August 29, 2015 14:01
Show the various loader options.
const { id, name, prefixURI, rootURI, metadata,
version, loadReason, preferencesBranch } = require('@loader/options');
console.log('id: ' + id +
'\nname: ' + name +
'\nprefixURI: ' + prefixURI +
'\nrootURI: ' + rootURI +
'\nmetadata: ' + JSON.stringify(metadata) +
'\nversion: ' + version +
'\nloadReason: ' + loadReason +
@darkowlzz
darkowlzz / output.txt
Last active August 29, 2015 14:01
Output of some @loader/options
id: jid1-ddYLv0ZiWhMetw@jetpack
name: theGreatestAddon
prefixURI: resource://jid1-ddylv0ziwhmetw-at-jetpack/
rootURI: jar:file:///var/folders/m5/53z6crb100z72tmcb_rldn280000gn/T/tmpcZX_yD.mozrunner/extensions/jid1-ddYLv0ZiWhMetw@jetpack.xpi!/
metadata: {"description":"a basic add-on","license":"MPL 2.0","main":"main","name":"theGreatestAddon","version":"0.1","permissions":{}}
version: 0.1
loadReason: install
preferencesBranch: jid1-ddYLv0ZiWhMetw@jetpack
@darkowlzz
darkowlzz / detailsSelf.js
Created May 5, 2014 17:50
add-on details using self
const { uri, id, preferencesBranch, name,
loadReason, version, packed, isPrivate } = require('sdk/self');
console.log('\nuri: ' + uri +
'\nid: ' + id +
'\npreferencesBranch: ' + preferencesBranch +
'\nname: ' + name +
'\nloadReason: ' + loadReason +
'\nversion: ' + version +
'\npacked: ' + packed +
@darkowlzz
darkowlzz / selfOutput.txt
Created May 5, 2014 17:56
Result of using `self` for add-on details.
uri: addon:jid1-ddYLv0ZiWhMetw@jetpack
id: jid1-ddYLv0ZiWhMetw@jetpack
preferencesBranch: jid1-ddYLv0ZiWhMetw@jetpack
name: theGreatestAddon
loadReason: install
version: 0.1
packed: true
isPrivateBrowsingSupported: false
@darkowlzz
darkowlzz / asyncCopy.js
Created May 5, 2014 19:09
Copy string to a file asynchronously.
const { Cc, Ci, Cu, components } = require('chrome');
Cu.import('resource://gre/modules/NetUtil.jsm');
// Create a file to write
let file = Cc['@mozilla.org/file/local;1'].
createInstance(Ci.nsILocalFile);
file.initWithPath('/Users/sunny/Desktop');
file.append('test-file.txt');
file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0666);