Bitte, da hast Du!
Dankeschön.
Bitte, da hast Du!
Dankeschön.
eventuell kannst Du was gebrauchen
Hallo FuchsFan, ja kann ich, ich bräuchte mal Bild86.png.
Du solltest die letzte Version nutzen!
Apropos letzte Version und der Überschrift dieses Fadens, wie bekomme ich den Button des Scripts ins Menü Hilfe?
Hier noch einmal die z.Z. aktuelle Version!
Jupp, die funktioniert nun ohne Probleme, feine Arbeit.
Soll ich die Version(en) mit Nummern versehen?
Wäre vielleicht eine Idee.
Das neue Fenster der neuen Instanz öffnet sich VOR dem Fenster mit der "alten" Instanz.
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.
Ist es 2023 wirklich immer noch nicht möglich in der Ledezeichen-Symbolleiste nur die Icons (=favicons) anzeigen zu lassen?
Das war IIRC schon beim ersten Firefox möglich und ist es heute noch immer, nur nicht ganz so offensichtlich wie Du es Dir wünscht.
Teste mal das ↓ in der userChrome.css, die im Profil im zu erstellenden Unterverzeichnis chrome anzulegen ist.
#PlacesToolbarItems .bookmark-item:not([type="menu"]) > .toolbarbutton-text {
display: none !important;
}
Zusätzlich muss in about:config noch die ↓ Pref auf true gestellt werden und Fx neu gestartet werden.
toolkit.legacyUserProfileCustomizations.stylesheets
P.S.: Bitte unbedingt die Schreibweise vom Ordner und der Datei beachten, zusätzlich muss die Datei in UTF-8 ohne BOM erstellt werden.
Hat die Version 117a1 Probleme mit dem Updaten.
Meiner hat keine Probleme, hat sich gerade aktualisiert.
Ist von hier
Warum nicht von dort ↓?
P.S.:
Warum verwendest Du überhaupt die Nightly?
Code dazu, zack-zack!
Aber bitte doch.
// 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);
}
}
})();
Alles anzeigen
Aber wieso, die Zahlen rechtsbündig geht doch genauso gut mit den Zahlen nach den Icons?
Und wie, wenn man das ↓ als Basis nimmt?
// 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);
}
}
})();
Alles anzeigen
Das Skript bzw. der Code funktioniert auch nicht auf allen Icons.
Hm, hier schon, nur manchmal erst beim 2ten mal.