Und wenn ihr jetzt noch kurz das Script von Mitleser hier testen könntet
Das gleiche in grün...
Meine Skript-Version:
JavaScript
// bmcount testa neu D TEST! für Mira
// basiert auf Sript von BrokenHeart
// https://www.camp-firefox.de/forum/thema/136572-nur-die-anzeige-der-ordner-lesezeichenanzahl-in-einer-anderen-farbe-darstellen/?postID=1269879#post1269879
// funktioniert in Nightly 139
(function() {
if (!window.gBrowser)
return;
setTimeout(function() {
setFunction();
},50);
//Custom icons in profile/chrome/icons folder
let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));
let icon1 = "Ordner.png"
let icon2 = "Stern.svg"
let cs_font_size = 12
let cs_font_weight = 600
let cs_font_color = "rgb(144,238,144)"
function setFunction() {
const css =`
#bmContent {
font-family: "Courier New", monospace !important;
font-size: ${cs_font_size}px !important;
font-weight: ${cs_font_weight} !important;
display: flex !important;
height: 16px !important;
margin-inline: auto -1px !important;
}
#bmContent::before {
content: attr(data-value1) " /";
background: url("${ProfilePath}/${icon1}") no-repeat 8px 0;
color: ${cs_font_color};
align-items: center;
display: inline-flex;
justify-content: flex-end;
width: 23px;
padding: 4px 0 0 10px;
margin-inline: 20px 2px;
}
#bmContent::after {
content: attr(data-value2);
background: url("${ProfilePath}/${icon2}") no-repeat right 0;
background-size: 16px 16px;
color: ${cs_font_color};
align-items: center;
display: flex;
justify-content: flex-end;
width: 23px;
padding: 4px 17px 0 0;
/* border: 1px solid red; */
}
/* ::before oder ::after ausblenden, wenn der Zähler 0 anzeigen würde */
#bmContent[data-value1="0"]::before,
#bmContent[data-value2="0"]::after {
display: none !important;
}
`;
const sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
const uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css));
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
let bmbMenu = document.getElementById('bookmarks-menu-button');
let bookMenu = document.getElementById('bookmarksMenu');
let persToolBar = document.getElementById('PersonalToolbar');
if(bmbMenu)
bmbMenu.addEventListener('popupshowing', onPopupShowing );
if(bookMenu)
bookMenu.addEventListener('popupshowing', onPopupShowing );
if(persToolBar)
persToolBar.addEventListener('popupshowing', onPopupShowing );
}
function onPopupShowing(aEvent) {
let popup = aEvent.originalTarget;
for (let item of popup.children) {
if (item.localName != 'menu' || item.id?.startsWith('history'))
continue;
setTimeout(() => {
let itemPopup = item.menupopup;
itemPopup.hidden = true;
itemPopup.collapsed = true;
itemPopup.openPopup();
itemPopup.hidePopup();
let menuitemCount = 0;
let menuCount = 0;
for (let subitem of itemPopup.children) {
if (subitem.classList.contains('bookmark-item') && !subitem.disabled && !subitem.hidden) {
if (subitem.localName == 'menuitem') {
menuitemCount++;
} else if (subitem.localName == 'menu') {
menuCount++;
}
}
}
itemPopup.hidden = false;
itemPopup.collapsed = false;
let bmCounta = item.childNodes[1];
bmCounta.innerHTML = ""
let bmContent = document.createElement("bmContent");
bmContent.id = "bmContent";
bmCounta.appendChild(bmContent);
let strCountOut1 = menuCount;
bmContent.setAttribute('data-value1', strCountOut1);
let strCountOut2 = menuitemCount;
bmContent.setAttribute('data-value2', strCountOut2);
}, 100);
}
}
})();
Alles anzeigen