Unerwünschte Einträge kann ich mit CSS ausblenden, das ist kein Problem.
Die Toolbox, die du eingebaut hast, funktioniert prima.
Den Neustart-Eintrag habe ich auskommentiert, weil RestartFirefox einen Eintrag im Appmenu erzeugt.
Um den UserScriptLoader-Button in der ersten Spalte unterzubringen, habe ich dein Script erweitert.
// CTR-Firefox-Menü anpassen 1
(function () {
if (location != 'chrome://browser/content/browser.xul') return;
// var menuitem = document.createElement('menuitem');
// menuitem.id = 'appmenu_restart';
// menuitem.setAttribute('label', 'Neu starten');
// menuitem.setAttribute('oncommand', 'Application.restart()');
// var refitem = document.getElementById('sync-setup-appmenu');
// refitem.parentElement.insertBefore(menuitem, refitem.nextSibling);
var pane1 = document.getElementById('appmenuPrimaryPane');
var pane2 = document.getElementById('appmenuSecondaryPane');
var spacer = document.createElement('spacer');
spacer.setAttribute('flex', '1');
pane2.appendChild(spacer);
var hboxPane1 = document.createElement('hbox');
var hboxPane2 = document.createElement('hbox');
pane1.appendChild(hboxPane1);
// pane1.insertBefore(hboxPane1, document.getElementById('usercssloader-menu').nextSibling);
pane2.appendChild(hboxPane2);
var menuButtonsPane1 = ['UserScriptLoader-icon'];
var menuButtonsPane2 = ['print-button','test-button'];
setTimeout(function() {
for (var id of menuButtonsPane1) {
var button = document.getElementById(id);
if (!button) {
window.CustomizableUI.addWidgetToArea(id,'nav-bar');
button = document.getElementById(id);
};
hboxPane1.appendChild(button);
};
for (var id of menuButtonsPane2) {
var button = document.getElementById(id);
if (!button) {
window.CustomizableUI.addWidgetToArea(id,'nav-bar');
button = document.getElementById(id);
};
hboxPane2.appendChild(button);
};
}, 0);
}) ();
Alles anzeigen
Funktioniert einwandfrei. Nur wenn ich die Box nicht am Ende der Spalte, sondern unter dem UserCSSLoader einfügen will (Zeile 25), wird die Box nicht angezeigt. Was ist da falsch?
Der UserCSSLoader wird normalerweise auch am Ende der Spalte angezeigt. Das habe ich im Script geändert, so dass er unter den Web-Entwickler-Tools angezeigt wird.
Ist es möglich, das stattdessen im neuen Script zu bewerkstelligen? Also nicht jedes Script ändern, um den Platz für die Anzeige zu definieren, sondern im CTR-Appmenu-Script?
Das betrifft besonders Einträge, die von Add-ons kommen. Lassen die sich auch verschieben?
So wird das Sitzungsmanager-Menü von TabMixPlus
unten in der ersten Spalte angezeigt, ich möchte es am Anfang der zweiten Spalte haben.
Und wie kriege ich Menüs aus der Menüleiste ins CTR-Menü, wie es in Personal Menu möglich war. Ich hatte das Datei- und das Extras-Menü im PM-Menü.