External Applications mit meinen Wünschen
-
Spiderman-21 -
30. Dezember 2012 um 13:49 -
Erledigt
-
-
Habe mal das Script "Restartfirefoxbutton" entfernt und es klappt immer noch nicht. Dachte, das würde sich beissen.
Aber diese Frage ist noch offen:
Was meinst Du denn mit den Zeichen ( args: ) ? Muss das rein oder nicht ?
Ich habe das Script mit beiden Möglichkeiten ( mit und ohne args: ) probiert; beides öffnet FreeCommander nicht! -
So sieht hier z.B. der Eintrag für mein e-mail Programm von T-online aus:
{name: 'T-Online', path: 'C:\\Programme\\T-Online\\T-Online_Software_6\\eMail\\Mail.exe'},
-
Das verstehe ich ja, Andreas, aber laut GitHub steht am Ende der Zeile args: ['%u'].
Öffnet sich denn bei Dir T-online dann?
-
-
Probiere das später mal aus. Habe leider einen Termin. Danke für die Hilfe.
-
Spiderman-21: Installiere spaßeshalber die Erweiterung UserChromeJS.xpi noch einmal in das gleiche Profil. vielleicht wirkt sich die Änderung dann aus.
-
Also bei mir funktioniert es:
[attachment=0]userchromescript.png[/attachment]
So sieht bei mir die Zeile aus:
Code{name: 'FreeCommander', path: 'D:\\Programme\\FreeCommander\\FreeCommander.exe', args: ['%u']},
Ich habe lediglich das Programm auf D: anstatt C:
Grüße
milupoEdit: wie es aussieht, musst du auf das Symbol oben doppelt klicken, damit sich das Programm öffnet.
-
milupo: Vielen Dank für Deine Mühen.
Ich habe den Script noch einmal hier kopiert.
Code
Alles anzeigen// ==UserScript== // @name externalApplications.uc.js // @namespace ithinc#mozine.cn // @description External Applications // @include main // @compatibility Firefox 3.5.x // @author ithinc // @version 20091212.0.0.1 Initial release // ==/UserScript== /* :::: External Applications :::: */ var gExternalApplications = { type: 'menu', //'menu' or 'button' insertafter: 'menubar-items', apps: [ {name: 'Notepad', path: '/WINDOWS/system32/notepad.exe'}, {name: 'Calculator', path: '.\\.\\..\\..\\WINDOWS\\system32\\calc.exe'}, {name: 'Command Prompt', path: 'C:\\WINDOWS\\system32\\cmd.exe'}, {name: 'separator'}, {name: 'FreeCommander', path: 'C:\\Programme\\FreeCommander\\FreeCommander.exe', args: ['%u']}, ], init: function() { for (var i=0; i<this.apps.length; i++) { if (!this.apps[i].path) continue; if (!this.apps[i].args) this.apps[i].args = []; this.apps[i].path = this.apps[i].path.replace(/\//g, '\\'); var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('CurProcD', Ci.nsIFile).path; if (/^(\\)/.test(this.apps[i].path)) { this.apps[i].path = ffdir.substr(0,2) + this.apps[i].path; } else if (/^(\.)/.test(this.apps[i].path)) { this.apps[i].path = ffdir + '\\' + this.apps[i].path; } } if (this.type == 'menu') { var mainmenu = document.getElementById('main-menubar'); var menu = mainmenu.appendChild(document.createElement('menu')); menu.setAttribute('label', 'Start'); menu.setAttribute('accesskey', 'a'); var menupopup = menu.appendChild(document.createElement('menupopup')); for (var i=0; i<this.apps.length; i++) { menupopup.appendChild(this.createMenuitem(this.apps[i])); } } else { var menubarItems = document.getElementById(this.insertafter); var toolbaritem = menubarItems.parentNode.insertBefore(document.createElement('toolbaritem'), menubarItems.nextSibling); toolbaritem.setAttribute("class", "chromeclass-toolbar-additional"); toolbaritem.setAttribute("orient", "horizontal"); for (var i=0; i<this.apps.length; i++) { toolbaritem.appendChild(this.createButton(this.apps[i])); } } }, exec: function(path, args) { for (var i=0; i<args.length; i++) { args[i] = args[i].replace(/%u/g, gBrowser.currentURI.spec); } var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile); file.initWithPath(path); if (!file.exists()) { throw 'File Not Found: ' + path; } if (!file.isExecutable() || args.length==0) { file.launch(); } else { var process = Cc['@mozilla.org/process/util;1'].getService(Ci.nsIProcess); process.init(file); process.run(false, args, args.length); } }, createButton: function(app) { if (app.name == 'separator') return document.createElement('toolbarseparator'); var item = document.createElement('toolbarbutton'); item.setAttribute('class', 'toolbarbutton-1 chromeclass-toolbar-additional'); item.setAttribute('label', app.name); item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16'); item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);'); item.setAttribute('tooltiptext', app.name); item.path = app.path; item.args = app.args; return item; }, createMenuitem: function(app) { if (app.name == 'separator') return document.createElement('menuseparator'); var item = document.createElement('menuitem'); item.setAttribute('class', 'menuitem-iconic'); item.setAttribute('label', app.name); item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16'); item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);'); item.path = app.path; item.args = app.args; return item; } }; gExternalApplications.init();
Die Erweiterung UserChromeJS.xpi (version 1.4) habe ich mal deinstalliert und dann neu installiert.
Leider brachten diese Lösungen keinen Erfolg.Aber es ist für mich merkwürdig, dass ich im Script noch was ändern wollte; nämlich auf "Button" geändert, nach einem Neustart war nichts festzustellen.
Hier mal meine Erweiterungen etc., falls das was bringt.
Code
Alles anzeigenLetzte Aktualisierung: Sun, 30 Dec 2012 16:49:43 GMT User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:17.0) Gecko/20100101 Firefox/17.0 Erweiterungen (aktiviert: 21, deaktiviert: 0): Adblock Plus 2.2.1 Add-on Compatibility Reporter 2.0 BBCodeXtra 0.3.2 CheckPlaces 2.6.2 DOM Inspector 2.0.13 Download Statusbar 0.9.10 Greasemonkey 1.5 InfoLister 0.10.4a3 Inspect Context 1.00 LCD Clock 0.4.2 Linkification 1.3.8 Menu Editor 1.2.7 Multirow Bookmarks Toolbar Plus 1.2 PDF Download 3.0.0.2 Silvermel and Charamel XT 1.5.4 Status-4-Evar 2012.07.08.17 Stylish 1.3.1 Tab Mix Plus 0.4.0.4pre.121222b Toolbar Buttons 1.0 userChromeJS 1.4 Vacuum Places Improved 1.2 Themes (12): Blue Christmas Tree 1337634534 [ausgewählt] Charamel 1.5.4 Default 17.0.1 F-16 Orange 1264895711 Fire-kNup 1260925626 LavaFox V2 2.0.7 lucky Bamboo 1280300569 Silvermel 1.5.4 Star Wars - Death Star Thats No Moon 1269550432 Typhoon RAF 1265411965 U. S. A. 1260925626 Plugins (13): Adobe Acrobat Cooliris embedded in a tab Google Earth Plugin Google Update iTunes Application Detector Java Deployment Toolkit 7.0.100.18 Microsoft® Windows Media Player Firefox Plugin QuickTime Plug-in 7.7.3 Shockwave Flash Shockwave for Director Silverlight Plug-In VLC Web Plugin Windows Presentation Foundation
:arrow: In der Einstellung Menu kann ich leider nicht doppelklicken, daher wollte ich auf Button ändern, was aber nix brachte. :-??
Lösungen ???? :-??
-
Zitat von Spiderman-21
version 1.4
Schreibfehler? Ansonsten teste bitte mal 1.5
http://userchromejs.mozdev.org/ -
Zitat von Spiderman-21
nämlich auf "Button" geändert
Wo genau hast du das geändert? Und wenn, teste es bitte mal mit button, also kleinem b.[Blockierte Grafik: http://www7.pic-upload.de/thumb/30.12.12/s48ztgbpbzm7.jpg]
-
Hi, Andreas.
Die Änderung habe ich nun mit kleinem "b" gemacht und nun kann ich die Anwendungen auch oben in der Leiste sehen.
Auch ein Doppelklick auf FreeCommander öffnet nicht das Programm.Nun sind wir aber schon einen kleinen Schritt weiter, denn die Buttons sind in der Leiste sichtbar. :klasse:
:arrow: Aber trotzdem verzweifele ich langsam, aber sicher! :-??
-
-
Habe das mal mit CCleaner getestet und wieder auf Menu umgestellt. CCleaner taucht nicht unter Start auf. :-??
Code
Alles anzeigen// ==UserScript== // @name externalApplications.uc.js // @namespace ithinc#mozine.cn // @description External Applications // @include main // @compatibility Firefox 3.5.x // @author ithinc // @version 20091212.0.0.1 Initial release // ==/UserScript== /* :::: External Applications :::: */ var gExternalApplications = { type: 'menu', //'menu' or 'button' insertafter: 'menubar-items', apps: [ {name: 'Notepad', path: '/WINDOWS/system32/notepad.exe'}, {name: 'Calculator', path: '.\\.\\..\\..\\WINDOWS\\system32\\calc.exe'}, {name: 'Command Prompt', path: 'C:\\WINDOWS\\system32\\cmd.exe'}, {name: 'separator'}, {name: 'CCleaner', path: 'C:\\Programme\\CCleaner\\CCleaner.exe', args: ['%u']}, ], init: function() { for (var i=0; i<this.apps.length; i++) { if (!this.apps[i].path) continue; if (!this.apps[i].args) this.apps[i].args = []; this.apps[i].path = this.apps[i].path.replace(/\//g, '\\'); var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('CurProcD', Ci.nsIFile).path; if (/^(\\)/.test(this.apps[i].path)) { this.apps[i].path = ffdir.substr(0,2) + this.apps[i].path; } else if (/^(\.)/.test(this.apps[i].path)) { this.apps[i].path = ffdir + '\\' + this.apps[i].path; } } if (this.type == 'menu') { var mainmenu = document.getElementById('main-menubar'); var menu = mainmenu.appendChild(document.createElement('menu')); menu.setAttribute('label', 'Start'); menu.setAttribute('accesskey', 'a'); var menupopup = menu.appendChild(document.createElement('menupopup')); for (var i=0; i<this.apps.length; i++) { menupopup.appendChild(this.createMenuitem(this.apps[i])); } } else { var menubarItems = document.getElementById(this.insertafter); var toolbaritem = menubarItems.parentNode.insertBefore(document.createElement('toolbaritem'), menubarItems.nextSibling); toolbaritem.setAttribute("class", "chromeclass-toolbar-additional"); toolbaritem.setAttribute("orient", "horizontal"); for (var i=0; i<this.apps.length; i++) { toolbaritem.appendChild(this.createButton(this.apps[i])); } } }, exec: function(path, args) { for (var i=0; i<args.length; i++) { args[i] = args[i].replace(/%u/g, gBrowser.currentURI.spec); } var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile); file.initWithPath(path); if (!file.exists()) { throw 'File Not Found: ' + path; } if (!file.isExecutable() || args.length==0) { file.launch(); } else { var process = Cc['@mozilla.org/process/util;1'].getService(Ci.nsIProcess); process.init(file); process.run(false, args, args.length); } }, createButton: function(app) { if (app.name == 'separator') return document.createElement('toolbarseparator'); var item = document.createElement('toolbarbutton'); item.setAttribute('class', 'toolbarbutton-1 chromeclass-toolbar-additional'); item.setAttribute('label', app.name); item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16'); item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);'); item.setAttribute('tooltiptext', app.name); item.path = app.path; item.args = app.args; return item; }, createMenuitem: function(app) { if (app.name == 'separator') return document.createElement('menuseparator'); var item = document.createElement('menuitem'); item.setAttribute('class', 'menuitem-iconic'); item.setAttribute('label', app.name); item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16'); item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);'); item.path = app.path; item.args = app.args; return item; } }; gExternalApplications.init();
:arrow: Die neue Version userChromeJs 1.5 hatte ich vorher auch neu installiert.
Aber sei doch mal ehrlich, ist doch sehr merkwürdig. Vllt. sollte ich das mal in einem ganz neuen Profil testen, aber das dauert heute abend wahrscheinlich zu lange.
-
Mit diesem Eintrag
erreiche ich hier:
[Blockierte Grafik: http://www7.pic-upload.de/thumb/30.12.12/5t4yo3679gii.jpg]
-
Zitat von Spiderman-21
taucht nicht unter Start auf
[Blockierte Grafik: http://www10.pic-upload.de/thumb/30.12.12/4yeicgl414yr.jpg]
-
-
-
Hallo Spiderman-21:
Nimm mal den Code (als Buttons, siehe Codezeile 14). Ich habe jetzt überall die args-Parameter weggelassen und die Pfade alle der Normalform angepasst (außer der doppelten Schrägstriche). Bei mir funktioniert alles jetzt blendend. Vorher erschienen bei mir Notepad, calc.exe und cmd.exe überhaupt nicht, der IE erschien, brachte aber immer einen Syntaxfehler. Der ist jetzt weg - wahrscheinlich, weil ich args: weggelassen habe. Jetzt erscheint er mit leerer Seite - wie es sich gehört. Und der FreeCommander macht auch keine Probleme. Die Programme öffnen sich auch jetzt ohne Probleme, wenn ich sie vorher wieder geschlossen hatte. Vorher konnte ich nur einmal öffnen, dann ging nichts mehr.
Code
Alles anzeigen// ==UserScript== // @name externalApplications.uc.js // @namespace ithinc#mozine.cn // @description External Applications // @include main // @compatibility Firefox 3.5.x // @author ithinc // @version 20091212.0.0.1 Initial release // ==/UserScript== /* :::: External Applications :::: */ var gExternalApplications = { type: 'button', //'menu' or 'button' insertafter: 'menubar-items', apps: [ {name: 'Notepad', path: 'C:\\WINDOWS\\system32\\notepad.exe'}, {name: 'Calculator', path: 'C:\\WINDOWS\\system32\\calc.exe'}, {name: 'Command Prompt', path: 'C:\\WINDOWS\\system32\\cmd.exe'}, {name: 'separator'}, {name: 'FreeCommander', path: 'C:\\Programme\\FreeCommander\\FreeCommander.exe'}, ], init: function() { for (var i=0; i<this.apps.length; i++) { if (!this.apps[i].path) continue; if (!this.apps[i].args) this.apps[i].args = []; this.apps[i].path = this.apps[i].path.replace(/\//g, '\\'); var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('CurProcD', Ci.nsIFile).path; if (/^(\\)/.test(this.apps[i].path)) { this.apps[i].path = ffdir.substr(0,2) + this.apps[i].path; } else if (/^(\.)/.test(this.apps[i].path)) { this.apps[i].path = ffdir + '\\' + this.apps[i].path; } } if (this.type == 'menu') { var mainmenu = document.getElementById('main-menubar'); var menu = mainmenu.appendChild(document.createElement('menu')); menu.setAttribute('label', 'Start'); menu.setAttribute('accesskey', 'a'); var menupopup = menu.appendChild(document.createElement('menupopup')); for (var i=0; i<this.apps.length; i++) { menupopup.appendChild(this.createMenuitem(this.apps[i])); } } else { var menubarItems = document.getElementById(this.insertafter); var toolbaritem = menubarItems.parentNode.insertBefore(document.createElement('toolbaritem'), menubarItems.nextSibling); toolbaritem.setAttribute("class", "chromeclass-toolbar-additional"); toolbaritem.setAttribute("orient", "horizontal"); for (var i=0; i<this.apps.length; i++) { toolbaritem.appendChild(this.createButton(this.apps[i])); } } }, exec: function(path, args) { for (var i=0; i<args.length; i++) { args[i] = args[i].replace(/%u/g, gBrowser.currentURI.spec); } var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile); file.initWithPath(path); if (!file.exists()) { throw 'File Not Found: ' + path; } if (!file.isExecutable() || args.length==0) { file.launch(); } else { var process = Cc['@mozilla.org/process/util;1'].getService(Ci.nsIProcess); process.init(file); process.run(false, args, args.length); } }, createButton: function(app) { if (app.name == 'separator') return document.createElement('toolbarseparator'); var item = document.createElement('toolbarbutton'); item.setAttribute('class', 'toolbarbutton-1 chromeclass-toolbar-additional'); item.setAttribute('label', app.name); item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16'); item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);'); item.setAttribute('tooltiptext', app.name); item.path = app.path; item.args = app.args; return item; }, createMenuitem: function(app) { if (app.name == 'separator') return document.createElement('menuseparator'); var item = document.createElement('menuitem'); item.setAttribute('class', 'menuitem-iconic'); item.setAttribute('label', app.name); item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16'); item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);'); item.path = app.path; item.args = app.args; return item; } }; gExternalApplications.init();
-
Spiderman-21 ...
dein Script erbringt hier:
[Blockierte Grafik: http://www10.pic-upload.de/thumb/30.12.12/vt9murlwz89.jpg]
und alles funktioniert!
Also liegt der Fehler woanders bei dir!
-