Danke, @ all.
Alles anzeigenSuper, dankeschön !!
Nur 2 Dinge:
Der Dateipfad für Mac User, einfach die entsprechende Zeile austauschen:
Benutzt auf High Sierra, FX im Standard Installationsordner.
Und ein kleiner Haken: wenn man das zusätzliche Profil schon offen hat, und den Button versehentlich nochmal drückt, gibt es eine Fehlermeldung.
Wenn man den normalen Button in about:profiles mehrfach drückt, gibt es kein Problem, es geht nur ein neues Fenster auf im zusätzlichen Profil.
Danke für die Ergänzung, damit auch Mac User was von dem Skript haben.
Was die Fehlermeldung angeht, ja ist bei Windows auch so.
Das hat wohl damit zu tun, dass ich ja von hinten erst durchs Auge und dann erst ins Knie ....
Also, es ist die Aufrufmethode!
Kann man wunderbar nachstellen, wenn man eine Verknüpfung, mit den entsprechenden Parametern, auf dem
Desktop anlegt. Auch da kommt die gleiche Fehlermeldung.
Bitte Testen
Nun sollte nichts mehr passieren, wenn der Button ein zweites Mal betätigt wird.
// JavaScript Document
// QuickProfilesChangesButton.uc.js
// Source file https://www.camp-firefox.de/forum/thema/136664/?postID=1231402#post1231402
(function() {
let profilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')) // Profilpfad zum Ordner des Symbols
let buttonIcon = "XXX.xxx" // Name & Dateiendung des anzuzeigenden Symbols. Hier "XXX.xxx" das eigene Symbol inkl. Dateiendung eintragen
let instanceStarted = false; // Variable, um den Status der Instanz zu verfolgen
if (!window.gBrowser) return;
CustomizableUI.createWidget({
id: 'aboutprofiles-button',
defaultArea: CustomizableUI.AREA_NAVBAR,
label: 'Quicklink: about:profile',
tooltiptext: 'Quicklink:\nabout:profiles',
onCommand: onCommand,
onCreated: function(button) {
button.style.listStyleImage = "url('" + profilePath + buttonIcon + "')";
}
});
function onCommand() {
// Prüfen, ob die Instanz bereits gestartet wurde
if (instanceStarted) {
console.log('Instanz wurde bereits gestartet. Der Aufruf wird abgebrochen.');
return;
}
instanceStarted = true; // Markieren, dass die Instanz gestartet wurde
let file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
var arguments = ["-no-remote", "-P", "Standard-Benutzer"] // Profil wird ausgewählt
file.initWithPath("C:\\Program Files\\Mozilla Firefox\\firefox.exe"); // Pfad zur Firefox-Installation
// file.initWithPath("/Applications/Firefox.app/Contents/MacOS/firefox"); // Pfad zur Firefox-Installation, Dateipfad für Mac User
let process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
process.init(file);
process.run(false, arguments, arguments.length); // Profil wird bestätigt
}
})();
Alles anzeigen