...hast du im Script Zeile 11 den ID: 'aboutprofiles-button',
und in Zeile 20 eine andere ID: 'profileschange-button',
muss das nicht gleich sein?
Danke für den Hinweis.
Nein, war ein Flüchtigkeitsfehler.
...hast du im Script Zeile 11 den ID: 'aboutprofiles-button',
und in Zeile 20 eine andere ID: 'profileschange-button',
muss das nicht gleich sein?
Danke für den Hinweis.
Nein, war ein Flüchtigkeitsfehler.
Sorry, aber ich hab nicht verstanden, was es mit dem profilmanager an in sich geht..
Nochmals sorry.
Alles gut.
Sinéad O’Connor (✝56)
![]()
Depressionen sind sowas von Scheiße.
Möge sie nun ihren Frieden gefunden haben.
Es gibt eine keine Änderung, was den Aufruf zum Profilmanager betrifft!
Ist diese Änderung nur für @Horstmann oder für alle?
Lies doch mal das Skript!
Was hat sich denn verändert?
Und was war mit dem Aufruf des Profilmanagers?
Aber ich mache es kurz, natürlich für alle, aber besonders für jene,
die nicht ein weiteres Profil direkt aufrufen wollen.
Und noch bin ich am Austesten, wenn Du so willst, ist das Skript noch eine Beta.
Funktioniert, ist aber noch nicht perfekt.
-p "Name". Nicht -p "Ordner", für Ordner wäre es eh -profile
https://wiki.mozilla.org/Firefox/CommandLineOptions
Namen und Ordner stehen in der profiles.ini.
HA ![]()
Danke .DeJaVu für diesen Link!
@Horstmann
Es gibt eine keine Änderung, was den Aufruf zum Profilmanager betrifft!
// JavaScript Document
// QuickProfilesChangesButton.uc.js
// Source file https://www.camp-firefox.de/forum/thema/136664/?postID=1231647#post1231647
// Version 1.03 from July 26, 2023
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
try {
CustomizableUI.createWidget({
id: 'aboutprofiles-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
let currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); // Profilpfad zum Ordner des Symbols
let buttonicon = "user-group_2.svg"; // Name & Dateiendung des anzuzeigenden Symbols. Hier "XXX.xxx" das eigene Symbol inkl. Dateiendung eintragen
toolbaritem.onclick = event => onClick(event);
var props = {
id: 'profileschange-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Profil zusätzlich starten',
accesskey: '',
tooltiptext: 'Quicklink: Profile Changer',
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) +'");',
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
function onClick(event) {
if (event.button != 0){
return;
}
let file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
// let arguments = ["-no-remote", "-P", "Standard-Benutzer"]; // Profil wird ausgewählt Hier "XXX" das gewünschte Profil eintragen, z.B. Test
let arguments = ["-no-remote", "-P"]; // Wer lieber den Profilmanager aufrufen möchte,nutzt diese Zeile!
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
Mein ja nur, sonst bist du doch auch fix dabei
thisLink.href = thisLink.href.replace('action\=firstNew','action=lastPost');
ist jetzt kein Ding.
Das ist ja ganz nett, aber funktioniert nur innerhalb des Firefox.
Aber man muss dem Ganzen ja auch eine URL übergeben.
Wie das aus den Lesezeichen funktionieren soll, ich habe keine Ahnung.
Und ganz ehrlich, das will ich gar nicht und (ge)brauchen tu ich eine solche Funktion auch nicht.
Aber witzig wäre das ganze schon.
Und wo bleibt dein Script?
![]()
Welches Skript?
Du Schelm!
Willst mich wohl auf den Arm nehmen. ![]()
...Zeile 38 geändert: let arguments = ["-no-remote", "-P", "q5t5vq58.default"]; // Profil wird ausgewählt Hier "XXX" das gewünschte Profil eintragen, z.B. Test
Jetzt sollte es gehen. Danke.
Schlach die Axt! NEIN!
Wenn Dein Hauptprofil default-release heißt und das zu öffnete Testprofil default,
musst Du da auch nur default eintragen ![]()
Friede, Freude, Eierkuchen!
Wer "seine" Links so ändern möchte, dass er immer zum letzten Beitrag spring,
hängt ?action=lastPost an.
Wer auf dem Laufenden bleiben möchte und nur zum letzten nicht gelesenen Beitrag springen möchte,
hängt ?action=firstNew an.
Und nun wieder Friede, Freude, Eierkuchen.
Keine Ahnung, warum das bei mir passiert ist. Das Script das ich oben gepostet habe, zeigt mir auch kein Icon mehr an.
Bitte, bitte nutze doch das neueste Skript!
Dann ließ Dir bitte ganz genau durch, was Du ändern musst!
Schau Dir Zeile 17 an, ändere dort den Eintrag, auf den Namen, den Dein Symbol hat!
Achte auf die Dateiendung.
Dann kontroliere Zeile 16!!
Wenn Dein Symbol nicht in ..../chrome/icons liegt, musst Du auch DAS anpassen!
Und dann kommen wir noch zur Zeile 40 ![]()
Auch hier musst Du was ändern, denn das Profil, das Du starten möchtest,
wird mit Sicherheit nicht Standard-Benutzer heißen!
Ändere den Profilnamen! Wahrscheinlich lautet der default-release,
wenn Dein Hauptprofil einfach default heißt.
UND ACHTUNG ![]()
Bevor Du irgendwas machst, ließ Dir den Text hier noch ein zweites Mal durch
und ändere NUR das, was ich Dir vorgegeben habe
![]()
Ach so, ok, in der nächsten Ausgabe werde ich das ändern.
Das Quicklink: kommt dann weg.
...Für die Änderung musst Du doch nur Zeile 45 deaktivieren und dafür die Zeile 44 aktivieren. Mehr ist es nicht.
Die Änderungsoption hatte ich genau so probiert (bzw. andersrum
, untere Zeile aktivieren, die darüber //aus), und nochmal mit der neuen Version: das passiert hier bei mir (das Zusatz-Testprofil war dabei geschlossen, also kein 2ter Öffnungsversuch des Profils) ->
Vermutlich wieder ein Mac spezifisches Problem...
Sorry, mein Fehler!
Es muss lauten:
Für die Änderung musst Du doch nur Zeile 45 deaktivieren und dafür die Zeile 46 aktivieren. Mehr ist es nicht
Und dann sollte eigentlich das Profilauswahlfenster des Firefox erscheinen.
So wie hier zusehen.
ABER ![]()
Natürlich muss man da auch ein anderes Profil auswählen!
Denn das gleiche Profil kann man natürlich nicht zweimal starten. ![]()
Apropos letzte Version und der Überschrift dieses Fadens, wie bekomme ich den Button des Scripts ins Menü Hilfe?
Habe jetzt mal die Überschrift geändert! Sorry, wie das ganze dann ins Hilfemenü integriert werden kann, versuche ich in einem neuen Thread zu klären.
...
Einen Vorschlag hätte ich - die Button ID vielleicht umbenennen und das Label/Tooltip - es ist ja kein aboutprofiles mehr
, und der Text im Anpassenfenster ist nicht korrekt mit dem Quicklinkdingens; natürlich nur visuelle Kleinigkeiten.
Die Auswahlfensteroption im neusten Script funktioniert bei mir nicht, oder ich mach was falsch - aber das würde ich eh nicht haben wollen, zu umständlich und man kann sich das Startprofil wegklicken.
...
Button ID habe ich geänder!
Lable & Tooltip auch.
Aber was meinst Du mit "... Text im Anpassenfenster ..."?
Für die Änderung musst Du doch nur Zeile 45 deaktivieren und dafür die Zeile 46 aktivieren. Mehr ist es nicht.
Und nun die vorerst letzte Version mit kleinen Ergänzungen und Verbesserungen.
// JavaScript Document
// QuickProfilesChangesButton.uc.js
// Source file https://www.camp-firefox.de/forum/thema/136664/?postID=1231581#post1231590
// Version 1.02 from July 26, 2023
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
try {
CustomizableUI.createWidget({
id: 'aboutprofiles-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
let currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); // Profilpfad zum Ordner des Symbols
let buttonicon = "user-group_2.svg"; // Name & Dateiendung des anzuzeigenden Symbols. Hier "XXX.xxx" das eigene Symbol inkl. Dateiendung eintragen
toolbaritem.onclick = event => onClick(event);
var props = {
id: 'profileschange-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Profil zusätzlich starten',
accesskey: '',
tooltiptext: 'Quicklink: Profile Changer',
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) +'");',
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
function onClick(event) {
if (event.button != 0){
return;
}
let file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
let arguments = ["-no-remote", "-P", "Standard-Benutzer"]; // Profil wird ausgewählt Hier "XXX" das gewünschte Profil eintragen, z.B. Test
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
// process.run(false, ["-no-remote"], 1); // Wer lieber das Auswahlfenster von Firefox haben möchte,nutzt diese Zeile!
}
})();
Alles anzeigen
Wäre es praktisch, einen Link zu erstellen, der immer zur letzten Seite eines Themas führt. Damit ich den Link in meinen Favoriten nicht aktualisieren muss, wenn sich die Anzahl der Seiten geändert hat.
Du musst doch nur ?action=firstNew hinten drann hängen!
Z.B. So lautet die "Adresse" zu Sörens Post =>
https://www.camp-firefox.de/forum/thema/136694-link-in-den-favoriten-immer-zur-letzten-seite-des-themas/?postID=1231538#post1231538
Wenn Du das nun so abänderst, dann kommst Du immer zum letzten Beitrag in diesem Thread!
https://www.camp-firefox.de/forum/thema/136694-link-in-den-favoriten-immer-zur-letzten-seite-des-themas/?action=firstNew
Der Button funktioniert hier genau ein mal und das war es dann in der Sitzung, ich muss Fx dann erst neu starten, damit der Button wieder funktioniert.
Du solltest die letzte Version nutzen!
Da ist auch dieses Verhalten behoben.
Hier noch einmal die z.Z. aktuelle Version!
// JavaScript Document
// QuickProfilesChangesButton.uc.js
// Source file https://www.camp-firefox.de/forum/thema/136664/?postID=1231529#post1231529
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
try {
CustomizableUI.createWidget({
id: 'aboutprofiles-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
let currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); // Profilpfad zum Ordner des Symbols
let buttonicon = "user-group_2.svg"; // Name & Dateiendung des anzuzeigenden Symbols. Hier "XXX.xxx" das eigene Symbol inkl. Dateiendung eintragen
toolbaritem.onclick = event => onClick(event);
var props = {
id: 'aboutprofiles-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Quicklink: about:profile',
accesskey: '',
tooltiptext: 'Quicklink:\nabout:profiles',
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) +'");',
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
function onClick(event) {
if (event.button != 0){
return;
}
let file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
let arguments = ["-no-remote", "-P", "Standard-Benutzer"]; // Profil wird ausgewählt Hier "XXX" das gewünschte Profil eintragen, z.B. Test
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
// process.run(false, ["-no-remote"], 1); // Wer lieber das Auswahlfenster von Firefox haben möchte,nutzt diese Zeile!
}
})();
Alles anzeigen
Ich verliere hier langsam den Überblick.
Immer die zuletzt von mir gepostete Version ist die Aktuelle!
Soll ich die Version(en) mit Nummern versehen?
Hie das "neue" und überarbeitete Skript.
Man beachte auch die Möglichkeit, durch eine kleine Änderung,
per Skript das Auswahlfenster des Firefox aufrufen zu können.
// JavaScript Document
// QuickProfilesChangesButton.uc.js
// Source file https://www.camp-firefox.de/forum/thema/136664/?postID=1231529#post1231529
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml') return;
try {
CustomizableUI.createWidget({
id: 'aboutprofiles-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
let currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); // Profilpfad zum Ordner des Symbols
let buttonicon = "user-group_2.svg"; // Name & Dateiendung des anzuzeigenden Symbols. Hier "XXX.xxx" das eigene Symbol inkl. Dateiendung eintragen
toolbaritem.onclick = event => onClick(event);
var props = {
id: 'aboutprofiles-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'Quicklink: about:profile',
accesskey: '',
tooltiptext: 'Quicklink:\nabout:profiles',
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) +'");',
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
function onClick(event) {
if (event.button != 0){
return;
}
let file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
let arguments = ["-no-remote", "-P", "Standard-Benutzer"]; // Profil wird ausgewählt Hier "XXX" das gewünschte Profil eintragen, z.B. Test
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
// process.run(false, ["-no-remote"], 1); // Wer lieber das Auswahlfenster von Firefox haben möchte,nutzt diese Zeile!
}
})();
Alles anzeigen
OK, nun ist alles geklärt.
Das QuickProfilesChangesButton.us.js Skript scheint zu funktionieren.
Es ist z.Z. so, dass wenn die zweite Instanz geöffnet ist
und der Button in der Ersten ein weiteres Mal betätigt wird,
es eine Fehlermeldung gibt.
Das lässt sich wohl nicht so ohne weiteres ändern.
Man kann dieses Verhalten zwar unterdrücken, das hätte aber zur Folge,
dass man kein weiteres Mal die zweite Instanz öffnen könnte,
ohne vorher die erste Instanz neu zu starten.
Wäre nicht so der Bringer, finde ich.
Und wie hast Du die "Verknüpfungen" all der portablen Browser in Deine Leiste, welche denn, bekommen?
Wie jede andere Verknüpfung auch
. Im Ordner der Portable eine Verknüpfung der *.exe erstellen, Kontextmenü aufrufen und dort dann drauf klicken. In der Taskleiste ist die Verknüpfung dann frei verschiebbar.
Ah, Du "sprichst" also von der Taskleiste.
Und ich dachte schon, von einer besonderen Leise im Firefox, da ja auch immer von einem Skript die Rede war.
Über welches Skript "sprecht" Ihr denn?
Und wie hast Du, FuchsFan, die "Verknüpfungen" all der portablen Browser in Deine Leiste, welche denn, bekommen?
Und kann man für diesen Teil der Diskussion nicht einen neuen Thread aufmachen,
ist ja doch irgendwie ein neues Thema.
ich kann mit diesem Satz so gar nichts anfangen.
Ich denke, er möchte einen Button haben, um damit dann den startupCache öffnen zu können.
Nunja, das hatte ich mir auch gedacht, aber ...
Kann man eine Frage nicht auch als solche formulieren?
Das ist in anderen Sprachen doch auch so.
Aber gut, ich lasse das mal so stehen und hoffe für lenny, dass Du sein Problem lösen konntest,
sofern "wir" mit "unserer" Vermutung richtig lagen.
Ließ Dir doch bitte Deinen Beitrag noch einmal durch!
Frage Dich, was willst Du?
Wolltest Du "uns" nur etwas mitteilen, oder brauchst Du Hilfe?
Denn ganz ehrlich, ich kann mit diesem Satz so gar nichts anfangen.