// -- download manager link handler --------------------------------------- var dmHandler = { path: '/home/logan/bin/mozilla-cwget', proc: null, uri: Components.classes['@mozilla.org/network/standard-url;1'] .createInstance(Components.interfaces.nsIURL), opts: 'toolbar=0,status=0,scrollbars=1,height=640,width=640', init: function() { var path = Components.classes['@mozilla.org/file/local;1'] .createInstance(Components.interfaces.nsILocalFile); path.initWithPath(dmHandler.path); dmHandler.proc = Components.classes['@mozilla.org/process/util;1'] .createInstance(Components.interfaces.nsIProcess); dmHandler.proc.init(path); window.addEventListener('click', function(event) { if (event.button == 0 && event.ctrlKey) { var node = event.originalTarget; var i = 0; while (node && node.nodeName != 'A' && i++ < 5) node = node.parentNode; if (node.nodeName == 'A' && node.href) { dmHandler.uri.spec = node.href; if (dmHandler.uri.fileExtension) { if (/^(nfo|txt)$/i.test(dmHandler.uri.fileExtension)) window.open('view-source:' + node.href, 'Source Viewer', dmHandler.opts); else try { dmHandler.proc.run(false, [ node.href ], 1); } catch (e) { alert(e); } event.stopPropagation(); event.preventDefault(); } } } }, true); } }; dmHandler.init();