Beiträge von Dharkness
-
-
Code dazu, zack-zack!
Aber bitte doch.
JavaScript
Alles anzeigen// BookmarkCount.uc.js /* ******************************************************************************************************************* */ /* Author BrokenHeart => https://www.camp-firefox.de/forum/thema/136572/?postID=1229536#post1229536 **** */ /* Correction from BrokenHeart => https://www.camp-firefox.de/forum/thema/136572/?postID=1229696#post1229696 **** */ /* Extension from Sören Henschel => https://www.camp-firefox.de/forum/thema/136572/?postID=1229555#post1229555 **** */ /* Customized by Mira inspired by grisu2099 ********************************************************************** */ /* Source => https://www.camp-firefox.de/forum/thema/136572/?postID=1229875#post1229883 **** */ /* Customized by Mira inspired by Horstmann ********************************************************************** */ /* Source => https://www.camp-firefox.de/forum/thema/136572/?postID=1229993#post1229993 **** */ /* ******************************************************************************************************************* */ /* Version 1.01 => https://www.camp-firefox.de/forum/thema/136572/?postID=1230128#post1230128 **** */ /* Version 1.02 => https://www.camp-firefox.de/forum/thema/136572/?postID=1230334#post1230334 **** */ /* ******************************************************************************************************************* */ /* Custom Counter in the Bookmarks for folders and links ************************************************************* */ /* ******************************************************************************************************************* */ /* rechtsbündig ****************************************************************************************************** */ (function() { if (!window.gBrowser) return; setTimeout(function() { setFunction(); },50); let profilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')) let icon1 = "folder-4s.png" let icon2 = "Bildschirm-3.png" function setFunction() { const css =` .countClass1::before { content: ""; background-image: url(${profilePath}/${icon1}); /* Custom icon */ background-repeat: no-repeat; background-size: 16px; /* icon size */ background-position: center; margin-left: 16px !important; /* Abstand links minimum für schmale Popus CHANGE */ margin-right: 2px !important; /* Abstand Icon "Ordner" bis zum "Zähler" */ height: 16px; width: 16px; fill: #c0c0c0; fill-opacity: 1; } /* Default FX left margin ist 16px !! --> CHANGE */ .countClass1 label { margin-inline: 0px !important; } /* Ordner container Inhalt zentriert --> CHANGE */ hbox.menu-accel-container.countClass1 { align-items: center !important; } .countClass1::after { content: attr(data-value1) !important; font-family: Consolas, "Lucida Console", "Courier New", monospace !important; font-size: 12px !important; font-weight: 900 !important; color: #D2534C !important; /* Farbe des 1. Textes */ height: 14px; /* height = font size Text zentriert CHANGE */ width: 15px !important; /* Platzhalter für Anzahl der Stellen */ padding-left: 4px !important; /* height = font size Text zentriert CHANGE */ margin-right: 0px !important; /* Abstand zum Icon "Links" rechts */ /* background-color: lightblue; */ /* TEST */ } .countClass2::before { content: "|"; color: #D2534C !important; /* Farbe des 1. Textes */ background-image: url(${profilePath}/${icon2}); /* Custom icon */ background-repeat: no-repeat; background-size: 16px; /* icon size */ background-position: center; padding-right: 16px; padding-bottom: 4px; margin-left: 6px !important; /* Abstand "Zähler 1" zum Icon2 */ margin-right: -12px !important; /* Abstand Icon "Links" bis zum "Zähler" */ height: 16px; width: 16px; fill: #c0c0c0; fill-opacity: 1; } .countClass2::after { content: attr(data-value2); font-family: Consolas, "Lucida Console", "Courier New", monospace !important; font-size: 12px !important; font-weight: 900 !important; color: #D2534C !important; /* Farbe des 2. Textes */ height: 14px; /* height = font size Text zentriert CHANGE */ width: 15px !important; /* Platzhalter für Anzahl der Stellen (25px für 3 Stellen) */ padding-left: 4px !important; /* height = font size Text zentriert CHANGE */ margin-right: 8px !important; /* Abstand zum Pfeil recht */ /* background-color: lightblue; */ /* TEST */ } .countClass2 image { order: 1; /* Pfeil ganz nach rechts */ } `; 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; item.style.color = '#c0c0c0'; let label1 = item.childNodes[3]; label1.classList.add('countClass1'); let strCountOut1 = String(menuCount).padStart(2, '\xa0'); label1.setAttribute('data-value1', strCountOut1); let label2 = item.childNodes[4]; label2.classList.add('countClass2'); let strCountOut2 = String(menuitemCount).padStart(3, '\xa0'); label2.setAttribute('data-value2', strCountOut2); }, 100); } } })();
-
-
-
Aber wieso, die Zahlen rechtsbündig geht doch genauso gut mit den Zahlen nach den Icons?
Und wie, wenn man das ↓ als Basis nimmt?
JavaScript
Alles anzeigen// BookmarkCount.uc.js /* ******************************************************************************************************************* */ /* Author BrokenHeart => https://www.camp-firefox.de/forum/thema/136572/?postID=1229536#post1229536 **** */ /* Correction from BrokenHeart => https://www.camp-firefox.de/forum/thema/136572/?postID=1229696#post1229696 **** */ /* Extension from Sören Henschel => https://www.camp-firefox.de/forum/thema/136572/?postID=1229555#post1229555 **** */ /* Customized by Mira inspired by grisu2099 ********************************************************************** */ /* Source => https://www.camp-firefox.de/forum/thema/136572/?postID=1229875#post1229883 **** */ /* Customized by Mira inspired by Horstmann ********************************************************************** */ /* Source => https://www.camp-firefox.de/forum/thema/136572/?postID=1229993#post1229993 **** */ /* ******************************************************************************************************************* */ /* Version 1.01 => https://www.camp-firefox.de/forum/thema/136572/?postID=1230128#post1230128 **** */ /* Version 1.02 => https://www.camp-firefox.de/forum/thema/136572/?postID=1230334#post1230334 **** */ /* ******************************************************************************************************************* */ /* Custom Counter in the Bookmarks for folders and links ************************************************************* */ /* ******************************************************************************************************************* */ (function() { if (!window.gBrowser) return; setTimeout(function() { setFunction(); },50); let profilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')) let icon1 = "folder-4s.png" let icon2 = "Bildschirm-3.png" function setFunction() { const css =` .countClass1::before { content: ""; background-image: url(${profilePath}/${icon1}); background-repeat: no-repeat; background-size: 16px; /* icon size */ background-position: center; margin-left: 16px !important; /* Abstand links minimum für schmale Popus CHANGE */ margin-right: -1px !important; /* Abstand bis zum "Wert" der Ordner */ height: 16px; width: 16px; } /* Default FX left margin ist 16px !! --> CHANGE */ .countClass1 label { margin-inline: 0px !important; } /* Ordner container Inhalt zentriert --> CHANGE */ hbox.menu-accel-container.countClass1 { align-items: center !important; } .countClass1::after { content: attr(data-value1) !important; font-family: Consolas, "Lucida Console", "Courier New", monospace !important; font-size: 12px !important; font-weight: 900 !important; color: #D2534C !important; height: 14px; /* height = font size Text zentriert CHANGE */ width: 15px !important; /* Platzhalter für Anzahl der Stellen */ padding-left: 4px !important; /* height = font size Text zentriert CHANGE */ margin-right: -4px !important; /* Abstand zum Symbol rechts */ /* background-color: lightblue; */ /* TEST */ } .countClass2::before { content: ""; background-image: url(${profilePath}/${icon2}); background-repeat: no-repeat; background-size: 16px; /* icon size */ background-position: center; margin-left: 4px !important; /* Abstand bis zum Icon der Links */ margin-right: -1px !important; /* Abstand bis zum "Wert" der Links */ height: 16px; width: 16px; fill: #c0c0c0; fill-opacity: 1; } .countClass2::after { content: attr(data-value2); font-family: Consolas, "Lucida Console", "Courier New", monospace !important; font-size: 12px !important; font-weight: 900 !important; color: #D2534C !important; height: 14px; /* height = font size Text zentriert CHANGE */ width: 15px !important; /* Platzhalter für Anzahl der Stellen (25px für 3 Stellen) */ padding-left: 4px !important; /* height = font size Text zentriert CHANGE */ margin-right: -1px !important; /* Abstand zum Pfeil recht */ /* background-color: lightblue; */ /* TEST */ } .countClass2 image { order: 1; /* Pfeil hinter dem "Wert" der Links */ } `; 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; item.style.color = '#c0c0c0'; let label1 = item.childNodes[3]; label1.classList.add('countClass1'); // let strCountOut1 = String(menuCount).padEnd(2) + '\xa0'; // padEnd2 => zwei Stellen, plus Abstand let strCountOut1 = + menuCount + '\xa0' label1.setAttribute('data-value1', strCountOut1); let label2 = item.childNodes[4]; label2.classList.add('countClass2'); // let strCountOut2 = String(menuitemCount).padEnd(3, '\xa0'); // padEnd3 => drei Stellen, Abstand bei nur einer Ziffer let strCountOut2 = + menuitemCount + '\xa0' label2.setAttribute('data-value2', strCountOut2); }, 100); } } })();
-
-
-
-
-
-
Das Skript bzw. der Code funktioniert auch nicht auf allen Icons.
Hm, hier schon, nur manchmal erst beim 2ten mal.
-
-
-
-
Nur jetzt funktioniert es hier auch wieder mit dem alten Code
Dann bin ich wenigstens nicht alleine verwirrt.
-
Teste bitte mal:
Hm, warum funktioniert es bei mir noch immer mit treechildren::-moz-tree-cell-text? Ich finde diese Ungereimtheiten immer sehr merkwürdig, woran könnte das liegen?
-
Und wenn es dann nicht so funktioniert wie du es möchtest, dann den neuen Eintrag in der config per Hand wieder entfernen.
Hm, vorher muss das aber in der user.js auskommentiert werden, sonst wird es beim nächsten Start wieder gesetzt.
-
-
Wo genau kann ich das Verhalten des Downloadfensters einstellen?
In about:config? Allerdings wirst Du die Prefs wohl erst anlegen müssen.
-
Ich habe da noch einen anderen Gedanken, dass es eventuell durch das BS verursacht wird, weil ja ein neues Fenster geöffnet wird. Wenn ohne den CSS-Code mit dem Script gearbeitet wird, dann ist dort bei Hover auch dieser hellgraue Hintergrund da.
Eher nicht, denn dann müsste ich das Problem auch haben, habe ich aber nicht.