1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. Mira_Belle

Beiträge von Mira_Belle

  • Abstand der Lesezeichen

    • Mira_Belle
    • 18. April 2025 um 20:39

    -gRoBI- Aber immerhin gibt es eine Möglichkeit und es funktioniert!
    Versuch das mal beim Edge oder Chrome.

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 18. April 2025 um 19:51
    Zitat von Horstmann

    Und könnste einen Screenshot posten, bittebitte?

    Wie das jetzt bei mir ausschaut? Ist doch oben, aber unsere Beiträge haben sich wohl wieder einmal überschnitten.

    Zitat von Horstmann

    Was diese Variable angeht: hab einfach keine Ahnung wie das $ Zeug funktioniert, ehrlich gesagt.

    Ist eigentlich gar keine Hexerei!

    Definition einer Variabel =>
    let icon = Grafik.svg,
    oder
    let icon = Grafik.png

    Du siehst, die Datei mit Dateiendung!

    Es geht auch anders.
    Einfach nur => let icon = Grafik
    ohne Dateiendung!!

    Nun soll die Grafik eingebunden werden.
    url("${ProfilePath}/${Grafik}")
    Ich gehe davon aus, dass die Variabel für den Dateipfad festgelegt wurde.
    In diesem Fall würde eine Variabel aus dem ersten Beispiel passen.

    url("${ProfilePath}/${Grafik}")png
    Dies wäre dann für Fall zwei passen!

    Genau so verhält es sich eben auch bei Werten!
    Ist in der Deklaration schon eine Einheit angegeben, es ging hier um px,
    muss sie nicht in den Code => size: ${size} !important;.
    Ist sie nicht angegeben, dann eben doch! size: ${size}px !important;

    Und weil ich Variablen mag und sie so manches viel einfacher machen,
    benutze ich sie, wo ich nur kann,
    auch in css nutze ich sie, aber da sieht es etwas anders aus!!


    Dharkness Hättest Du mal beide Skripte zum Studieren für mich?
    Möchte sehen, was Du anders gemacht hast, als ich es gemacht habe,
    oder machen würde.

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 18. April 2025 um 19:06
    Zitat von Horstmann

    Aber das Wichtigste: funktioniert der Code im aktuellen Nightly?

    Ja. => Version 139.0a1 (2025-04-18)

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 18. April 2025 um 19:00
    Zitat von Horstmann

    Bei deinem Eintrag font-size: ${cs_font_size}px bin ich mir nicht sicher, was ist mit dem px ?

    Schau Dir die Deklaration der Variabel an. ;)
    Aber ich gebe Dir recht let cs_font_size = 14px wäre besser gewesen.

    Dharkness Schau mal, besser?

    Horstmann So und noch etwas an "Deinem" Skript geschraubt und, tada,
    es passt!

    JavaScript
    (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 = "Test_3.svg"    //  Custom  Folder Icon
        let icon2 = "bookmark-hollow.svg"          //  Custom  Link Icon
    
        let cs_font_size = 14
        let cs_font_weight = 900
        let cs_font_color = "#FFD700"
        let cs_icon_color = "#C0C0C0"
    
        function setFunction() {
    
            const css =`
    
            #bmContent {
                display: flex !important;
                margin-inline: auto 0 !important;
                font-family:  Consolas, "Lucida Console", "Courier New", monospace !important;
            	font-size: ${cs_font_size}px !important;
            	font-weight: ${cs_font_weight} !important;
            }
    
            #bmContent::before {
                content: url("${ProfilePath}/${icon1}") " "
                                  attr(data-value1);
                fill: ${cs_icon_color};
                color: ${cs_font_color};
                align-items: center;
                display: flex;
                justify-content: start;
                width: 32px;          
            }
    
            #bmContent::after {
                content: url("${ProfilePath}/${icon2}") " "
                                  attr(data-value2);
                fill: ${cs_icon_color};
                width: 50px;
                color: ${cs_font_color};
                align-items: center;
                display: flex;
                justify-content: end;
            }
    		`;
    
            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 + " ";   //  Has square brackets
            let strCountOut1 = String(menuCount).padStart(2, " ")
            bmContent.setAttribute('data-value1', strCountOut1);
    
        //    let strCountOut2 = + menuitemCount + " "; //  Has square brackets
            let strCountOut2 = String(menuitemCount).padStart(2, " ")
            bmContent.setAttribute('data-value2', strCountOut2);
    
                }, 100);
            }
        }
    
    })();
    Alles anzeigen
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 18. April 2025 um 16:09

    Horstmann Und gerade habe ich Deine Version zur Brust genommen.
    Sehr schön. Nur wie bekommt man da die Symbole vor zu "Zähler" (Zahlen)?

    Test mit meinen Anpassungen:

    JavaScript
    //bmcount testa neu C TEST!
    // 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
    
    (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 = "Test_3.svg"    //  Custom  Folder Icon
        let icon2 = "bookmark-hollow.svg"          //  Custom  Link Icon
    
        let cs_font_size = 14
        let cs_font_weight = 900
        let cs_font_color = "#FFD700"
        let cs_icon_color = "#C0C0C0"
    
        function setFunction() {
    
            const css =`
    
            #bmContent {
                         display: flex !important;
                         margin-inline: auto 0 !important;
                         /*outline: 1px solid grey !important;
                         outline-offset: 3px !important;*/
                         font-family:  Consolas, "Lucida Console", "Courier New", monospace !important;
            		     font-size: ${cs_font_size}px !important;
            		     font-weight: ${cs_font_weight} !important;
                    }
    
                    #bmContent::before {
                         content: attr(data-value1) " "
                                  url("${ProfilePath}/${icon1}");
                         fill: ${cs_icon_color};
                         justify-content: end;
                         color: ${cs_font_color};
                         align-items: center;
                         display: flex;
                         margin-inline: 16px 8px;
    
            			      }
    
                    #bmContent::after {
                         content: attr(data-value2) " "
                                  url("${ProfilePath}/${icon2}");
                         fill: ${cs_icon_color};                              
                         width: calc(36px + 2.1em); /* Feste Breite rechter Counter für 3 Ziffern -> linke Icons auf gleicher Höhe */
                         color: ${cs_font_color};
                         align-items: center;
                         display: flex;
                         justify-content: end;
            			       }
    		`;
    
            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.classList.add('countClass');
    
                  let bmCounta = item.childNodes[1];
                  bmCounta.innerHTML = " "
                  let bmContent = document.createElement("bmContent");
                  bmContent.id = "bmContent";
                  bmCounta.appendChild(bmContent);
    
            let strCountOut1 = + menuCount + " ";   //  Has square brackets
            bmContent.setAttribute('data-value1', strCountOut1);
    
            let strCountOut2 = + menuitemCount + " "; //  Has square brackets
            bmContent.setAttribute('data-value2', strCountOut2);
    
                }, 100);
            }
        }
    
    })();
    Alles anzeigen
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 18. April 2025 um 15:36

    Hi Horstmann

    Bin gerade fertig geworden mit einer "neuen" Variante, abgeleitet von #346

    Passt so weit ganz gut.

    JavaScript
    (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 = "Test_3.svg"    //  Custom  Folder Icon
        let icon2 = "bookmark-hollow.svg"          //  Custom  Link Icon
    
        let cs_font_size = 14
        let cs_font_weight = 900
        let cs_font_color = "#FFD700"
        let cs_icon_color = "#C0C0C0"
    
    
        function setFunction() {
    
            const css =`
    
                .countClass {
                justify-content: space-between !important;
                }
    
                .countClass::after {
                    background-image: url(${ProfilePath}/${icon1}), url(${ProfilePath}/${icon2}) !important;
    				background-size: 16px !important;
    				background-repeat: no-repeat !important;
    				background-position: 8px, right 18px center !important;
                    content: attr(data-value) !important; 
    				font-family:  "Courier New", monospace !important;
    				font-size: ${cs_font_size}px !important;
    				font-weight: ${cs_font_weight} !important;
                    color: ${cs_font_color} !important;
    				width: 92px;
    				height: 14px;
                    margin-top: 4px;
                    fill: ${cs_icon_color} !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 label = item.childNodes[1];
                  label.classList.add('countClass');
                  let strCountOut = "\xa0" + "\xa0" + "\xa0" + String(menuCount).padStart(2, " ") + "\xa0" + "\xa0" + "\xa0" + String(menuitemCount).padStart(3, " ");
                  label.setAttribute('data-value', strCountOut);
    
                }, 100);
            }
        }
        
    })();
    Alles anzeigen
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 18. April 2025 um 12:40

    Sören Hentzschel Habe nun eine "neue" Grafik (SVG) meinen Wünschen entsprechend erstellt.
    Jetzt sieht das ganze schon etwas besser aus, finde ich.

    Das Skript ist das Gleiche #359 nur dass ich die Grafiken lokal von Platte lade
    und nicht aus dem Firefox heraus [url("chrome://global/skin/icons/xxx.svg")] geladen werden.

    Damit kann ich erst einmal leben, wobei es wirklich schöner wäre,
    wenn man per css direkt auf die "Grafiken" Einfluss nehmen könnte.
    Größe, Farbe (geht ja), Position.

    Denn so sieht es bei meinem derzeitigen Finalen Firefox aus.

    Der Code ist aber ganz anders und funktioniert so im Nightly leider nicht mehr!

    JavaScript
    // BookmarkCount.uc.js
    
    (function() {
    
        if (!window.gBrowser) return;
        
        setTimeout(function() {
            setFunction();
        },50);
    
        let profilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'))
        let icon1 = "folder-fat.svg"                 /* "folder_org.svg" */
        let icon2 = "bookmark-hollow.svg"        /* "bookmark-hollow.svg" */
    
        let cs_font_size = 12
        let cs_font_weight = 900
        let cs_font_color = "#FFD700"
        let cs_icon_color = "#C0C0C0"
    
    
    
    
        function setFunction() {
    
            const css =`
    
                /* 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::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: -1px !important;                      /* Abstand Icon "Ordner" bis zum "Zähler" */ 
                    height: 16px;
                    width: 16px;
                    fill: ${cs_icon_color};
                    fill-opacity: 1;
                }
                .countClass1::after {
                    content: attr(data-value1) !important;
                    font-family:  Consolas, "Lucida Console", "Courier New", monospace !important;
                    font-size: ${cs_font_size}px !important;
                    font-weight: ${cs_font_weight} !important;
                    color: ${cs_font_color} !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: -4px !important;                      /* Abstand zum Icon "Links" rechts */
    
                /*    background-color: lightblue; */           /*  TEST  */
                }
                .countClass2::before {
                    content: "";
                    background-image: url(${profilePath}/${icon2});     /*  Custom icon  */
                    background-repeat: no-repeat;
                    background-size: 16px;                              /* icon size */
                    background-position: center;
                    margin-left: 4px !important;                        /* Abstand "Zähler 1" zum Icon2 */
                    margin-right: -1px !important;                      /* Abstand Icon "Links" bis zum "Zähler" */
                    height: 16px;
                    width: 16px;
                    fill: ${cs_icon_color};
                    fill-opacity: 1;
                }
                .countClass2::after {
                    content: attr(data-value2);
                    font-family:  Consolas, "Lucida Console", "Courier New", monospace !important;
                    font-size: ${cs_font_size}px !important;
                    font-weight: ${cs_font_weight} !important;
                    color: ${cs_font_color} !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: -1px !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 = + menuCount + '\xa0';
    //              let strCountOut1 = String(menuCount).padStart(2, '\xa0');    // rechtsbündig
    //              let strCountOut1 = String(menuCount).padEnd(2) + '\xa0';     // padEnd2 => zwei Stellen, plus Abstand              
    //              let strCountOut1 = String(menuCount).padStart(2, '\xa0'); 
                  label1.setAttribute('data-value1', strCountOut1);
    
                  let label2 = item.childNodes[4];  
                  label2.classList.add('countClass2');
    
                  let strCountOut2 = + menuitemCount + '\xa0';
    //              let strCountOut2 = String(menuitemCount).padStart(3, '\xa0');    // rechtsbündig
    //              let strCountOut2 = String(menuitemCount).padEnd(3, '\xa0');      // padEnd3 => drei Stellen, Abstand bei nur einer Ziffer
    //              let strCountOut2 = String(menuitemCount).padStart(3, '\xa0');
                  label2.setAttribute('data-value2', strCountOut2);
    
                }, 100);
            }
        }    
    })();
    Alles anzeigen
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 18. April 2025 um 09:33
    Zitat von Sören Hentzschel

    Sicher. Du musst natürlich die Grafiken über background-image und nicht über content einbinden, wenn background-size funktionieren soll.

    Danke Sören, das habe ich auch schon probiert, nur ...
    dann bekomme ich die Symbole nicht zwischen die Zahlen,
    weder vor noch hinter diese.
    lenny 's Beitrag zeigt, wie es mit dieser Version des Skriptes ausschaut! #360

    Es müsste eine Möglichkeit geben die Grafik in diesem Code unterzubekommen!

    Code
    let strCountOut1 = ` ${menuCount.toString().padStart(2, " ")} `;

    Z.B. müsste es eine Möglichkeit geben, so etwas

    CSS
                .countClass::befor {
                    background-image:url("chrome://global/skin/icons/folder.svg")
                    background-repeat: no-repeat;
                    background-size: 16px;
                    height: 16px;
                    width: 16px;
                    fill: ${cs_icon_color};
                    fill-opacity: 1;
                }

    in eine Variable zu packen und diese dann in die "Zeile" einzufügen.
    In etwa so:

    JavaScript
    let strCountOut1 = `${Symbol. ...().parameter((} ${menuCount.toString().padStart(2, " ")} `;
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 18. April 2025 um 00:57

    Ha, danke Horstmann
    War ein verdammt guter Ansatz.
    Wenn ich jetzt nur noch wüsste, wie ich
    a. die Symbole (Icons) fett bekomme und
    b. vor die Ziffern, wäre ich wunschlos glücklich,
    bis .... :D
    Hier mein Skript:

    CSS
    //bmcount testa neu
    
    (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 = "Z.Z nichts"    //  Custom  Folder Icon
        let icon2 = "Z.Z. nichts"          //  Custom  Link Icon
    
        let cs_font_size = 12
        let cs_font_weight = 900
        let cs_font_color = "#FFD700"
        let cs_icon_color = "#C0C0C0"
    
    
        function setFunction() {
    
            const css =`
    
        .countClass {
        justify-content: space-between !important;
    }
                .countClass::after {
                content: attr(data-value1)
                    url("chrome://global/skin/icons/folder.svg")                 
                         /*url("${ProfilePath}/${icon1}")*/
                         attr(data-value2)
                    url("chrome://browser/skin/bookmark-hollow.svg")     
                         /*url("${ProfilePath}/${icon2}")*/ !important;
    				font-family:  Consolas, "Lucida Console", "Courier New", monospace !important;
    				font-size: ${cs_font_size}px !important;
    				font-weight: ${cs_font_weight} !important;
                    color: ${cs_font_color} !important;
                    align-items: center !important;
                    display: flex !important;
                    fill: ${cs_icon_color} !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 label = item.childNodes[1];
                  label.classList.add('countClass');
    
            let strCountOut1 = ` ${menuCount.toString().padStart(2, " ")} `;   //  Has square brackets
            label.setAttribute('data-value1', strCountOut1);
    
            let strCountOut2 = ` ${menuitemCount.toString().padStart(2, " ")} `; //  Has square brackets
            label.setAttribute('data-value2', strCountOut2);
    
                }, 100);
            }
        }
    
    })();
    Alles anzeigen

    Wenn die Icons, also die SVG-Dateien doch irgendwie in der Größe beeinflussbar wären,
    das wäre toll.

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 17. April 2025 um 23:55

    Horstmann Das Problem ist, dass Grafiken nur in Originalgröße angezeigt werden.
    Also es keine Möglichkeit gibt per "background-size:" oder ähnlichem korrigierend eingreifen zu können.
    Es wäre so schön gewesen.
    Bei meinen Ansätzen bekomme ich die Symbole nicht an ihren richtigen Platz!! Auch doof.

    Wer mal reinschnuppern will:

    JavaScript
    (function () {
        if (!window.gBrowser) return;
    
        setTimeout(function() {
            setFunction();
        },50);
    
        let profilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'))
        let icon1 = "folder-fat.svg"                 /* "folder_org.svg" */
        let icon2 = "bookmark-hollow.svg"        /* "bookmark-hollow.svg" */
    
        let cs_font_size = 12
        let cs_font_weight = 900
        let cs_font_color = "#FFD700"
        let cs_icon_color = "#C0C0C0"
    
        function setFunction() {
            const css = `
                .countClass1 {
                    position: relative !important;
                }
    
                .countClass1::after {
                    content: attr(data-value1);
                    position: absolute;
                    right: 8px;
                    top: 0;
                    height: 100%;
                    display: flex;
                    align-items: center;
                    gap: 8px;
                    font-family: Consolas, "Lucida Console", "Courier New", monospace !important;
                    font-size: ${cs_font_size}px !important;
                    font-weight: ${cs_font_weight} !important;
                    font-variant-numeric: tabular-nums !important;
                    color: ${cs_font_color} !important;
                    padding-left: 40px;
                    background-image:
                        url("${profilePath}/${icon1}"),
                        url("${profilePath}/${icon2}");
                    background-repeat: no-repeat, no-repeat;
                    background-position:
                        left center,
                        32px center;
                    background-size: 14px 14px, 14px 14px;
                    fill: ${cs_icon_color} !important;
                    pointer-events: none;
                }
            `;
    
            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 label1 = item.childNodes[1];
                    label1.classList.add("countClass1");
    
                    // ⬅️ Zahlen: mit Leerzeichen trennen, tabellenähnlich
                    let strCountOut1 = `  ${menuCount}    ${menuitemCount}`;
                    label1.setAttribute("data-value1", strCountOut1);
                }, 100);
            }
        }
    })();
    Alles anzeigen

    Ist aber, so glaube ich, eine Sackgasse!

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 17. April 2025 um 16:12

    Und rechtsbündig?

  • Windows 11

    • Mira_Belle
    • 17. April 2025 um 10:47

    Sören Hentzschel Du hast recht. Entschuldige, dass ich eine Prognose für das BS von MS für die Zukunft gewagt habe.

    Sicherheit ein Konzept! Ja, hatte ich auch schon einige Male hier onBoard geäußert,
    und wurde dafür abgewatscht! Ich halte dieses Konzept mit der Festplatten nicht grundsätzlich schlecht,
    es sind halt die Begleitumstände, die meiner Meinung eben schlecht sind!
    Bitlocker dürfte gar nicht aktiv werden, wenn es nur eine lokale Installation ohne MS Konto ist!
    Und so haben viele Nutzer eben Probleme, wenn mal etwas schiefgeht.
    Die Daten sind einfach weg, wenn z.B. das Board den Geist aufgibt.

    Zitat von AngelOfDarkness

    Aha nur weil es ein Cloudsystem ist, welches OS auch immer, braucht es keine lokale Verschlüsselung mehr? Was nen Quatsch.

    Und wieder ein Blick in die Zukunft!
    Wofür brauchst Du eine lokale Verschlüsselung, wenn es gar keinen lokalen Datenträger mehr gibt?
    Aber wir "reden hier wahrscheinlich aneinander vorbei!
    Natürlich müssen die Daten in der Cloud eigentlich verschlüsselt sein.
    Werden sie denn aktuell automatisch verschlüsselt?

    Aber egal, diese Diskussion führt zu nichts.

    Ich nutze VeraCrypt, da bin ich der Chef und nicht irgendein Konzern.
    Da komme ich immer an meine Daten, es sei denn der Datenträger gibt den Geist auf,
    aber dafür gibt es ja Backups.
    Wobei auch die Datensicherung schon wieder ein Konzept ist,
    über das man sich vortrefflich streiten kann.

    Sören Hentzschel Apropos Zitat: "Es ist Microsofts Verantwortung und moralische Pflicht, ...".
    Ja, zum Teil schon, z.B. durch Patches, die Sicherheitslücken schließen.
    Aber pampern gehört m.M. nicht dazu!

    Ist aber z.Z. gerade überall so! Auto fahren, nur so als Beispiel.
    Was da alles für Assistenten eingebaut werden müssen, ...

    Volkaskomentalität!

  • Windows 11

    • Mira_Belle
    • 17. April 2025 um 09:52

    Festplattenverschlüsselung ist per se nicht schlecht!
    Aber das Konzept von MS ist einfach nur schlecht!
    Funktioniert alles wie gewünscht, toll!
    Wenn nicht, griff ins Klo und alle Daten sind oft weg.
    Deshalb ist es wichtig, immer ein Backup der wichtigsten Daten auf einem externen Datenträger zu haben.

    Aber seien wir mal ehrlich, welcher Anwender da draußen denkt denn an so etwas?

    Aber alles Streiten ist absolut überflüssig!
    MS baut Windows zu einem "Cloudsystem" um, dann liegen die Daten ja eh nicht mehr lokal vor!


    Zitat von Sören Hentzschel

    Es ist Microsofts Verantwortung und moralische Pflicht, die Nutzer bestmöglich zu schützen. Insbesondere, wenn man bedenkt, was für ein Angriffsziel Windows alleine durch seine Verbreitung als Betriebssystem ist.

    Mh, :/, was nutzt BitLocker, wenn der Trojaner auf dem System ist und Daten abgreift?

  • Meinen aktuellen Firefox vom alten aufs neue Notebook transportieren

    • Mira_Belle
    • 17. April 2025 um 09:43

    bug99 :thumbup:
    Danke für die Rückmeldung.

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 17. April 2025 um 09:41
    Zitat von grisu2099
    Zitat von Horstmann

    .menu-accel sollte generell nicht nötig sein, vermute ich mal,

    Für meine (momentane) Lösung ist es notwendig das wieder einzublenden. Hier mein aktuelles Skript:

    :?: Ich stehe vollkommen auf dem Schlauch! Wie "blendest" Du .menu-accel wieder ein?
    Und wie hängt das mit diesem Skript zusammen? Da kommt dieser Selektor doch gar nicht vor.

    ?( Und ICH habe da auch noch andere Probleme mit den Abständen der Symbole!!
    Sowohl in der Menüleiste als auch im Lesezeichenmenü!:/
    Die Abstände hängen irgendwie zusammen.
    Bringe ich alles in der Menüleiste i.O. stimmt es im Lesezeichenmenü nicht mehr, ;(
    und andersrum halt umgekehrt. Blöd, blöd, blöd. 8o

  • Dauerhaftes Abstellen von Hovern über die Taskleiste

    • Mira_Belle
    • 16. April 2025 um 17:07
    Zitat von Uwe Jahn

    Das Durcheinander bitte ich zu entschuldigen.

    Ist doch nicht so schlimm, kann immer mal passieren.

    Zitat von Uwe Jahn

    ... ist der Haken entfernt. trotzdem bleiben die blöden Vorschauen ...

    :?: Trotz Deaktivierung der Option "Tab-Vorschauen in der Windows-Taskleiste anzeigen" werden immer noch
    mehrere Tasks in der Vorschau angezeigt, wenn Du mehrere Tabs geöffnet hast?

    Oder meinst Du generell die Vorschau?


    Sören Hentzschel Ich habe mich da wohl missverständlich ausgedrückt!
    Aber Mozilla eigentlich auch, und auch wieder nicht.
    Wer den Taskmanager mal öffnen möchte, wird sehen, was ich meine:!:

  • Dauerhaftes Abstellen von Hovern über die Taskleiste

    • Mira_Belle
    • 16. April 2025 um 17:02
    Zitat von 2002Andreas

    7 geöffnete Tabs:

    Falsch!
    Es sind 7 Instanzen des Firefox, wobei der Firefox nur einmal ausgeführt wird!
    Des halb schrieb ich ja auch Tasks.
    Es ist einfach nur eine Einstellung vom Firefox, wie dieser Task, bzw. diese Instanzen angezeigt werden.

    Die Vorschau von Tasks lässt sich in Windows auch nicht deaktivieren, deshalb gibt es der Trick
    mit der Registry und dem Hochsetzen der Verzögerung bis zum Anzeigen der Vorschau.

    Aber ich will mich nicht streiten, Hauptsache Uwe Jahn konnte geholfen werden.

  • Dauerhaftes Abstellen von Hovern über die Taskleiste

    • Mira_Belle
    • 16. April 2025 um 10:17

    Uwe Jahn Das hättest Du, der Missverständnisse wegen, besser und auch genauer beschreiben müssen und können!
    Und auch jetzt wieder, so ein Durcheinander!

    Zitat von Uwe Jahn

    Wenn ich mit der Maus über die Leiste fahre, in der sich alle offenen Tabs befinden, werden mir die zu der tabgruppe gehörenden Tabs als Vorschaubild angezeigt.

    Mit der "Leiste" wird wohl die Taskleiste gemeint sein!
    In dieser befinden sich aber eben nicht alle Tabs:!:
    Es befinden sich dort NUR die geöffneten "Programme". Task eben!
    Wenn Du nun aber im Firefox mehrere Tabs geöffnet hast und sie Dir dann beim "hovern" über das Firefoxsymbol
    plötzlich alle Tabs angezeigt werden, solltest Du ganz einfach in den Einstellungen des Firefox
    das Häkchen bei "Tab-Vorschauen in der Windows-Taskleiste anzeigen" rausnehmen.

    Wurde aber schon von .DeJaVu in #11 genauestens erklärt.

    Bitte gib mal eine Rückmeldung. Danke.

  • Meinen aktuellen Firefox vom alten aufs neue Notebook transportieren

    • Mira_Belle
    • 15. April 2025 um 21:17
    Zitat von bug99

    Wenn ich das gesamte profil auf den neuen Rechner übertrage, sind dann auch die installierten Erweiterungen übernommen? oder wie bekomme ich diese auf den neuen Rechner?

    So sollte es sein.
    Aber, die Firefoxversionen sollten identisch sein!
    Leg Dir am besten ein weiteres Profil an.
    In dieses kannst Du dann alle Dateien und Ordner vom alten System (alte Festplatte) hineinkopieren.
    Wenn es hakt, meldest Du Dich ja wieder hier. ;) :)

  • Dauerhaftes Abstellen von Hovern über die Taskleiste

    • Mira_Belle
    • 14. April 2025 um 21:04

    So richtig deaktivieren kann man die Vorschau leider nicht. Aber man kann die Verzögerung dieser soweit einstellen, dass es dem recht nahekommt!

    1. Registrierungseditor öffnen.
    2. Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced suchen.
    3. Neuen DWORD mit Namen ExtendedUIHoverTime erzeugen
    4. Doppelklick auf den neuen DWORD und den Wert auf 30000.
    5. Computer neu starten, damit die Änderung wirksam wird.

    Dadurch wird die Funktion zum Ausblenden der Taskleistenvorschau effektiv deaktiviert, indem die Zeit verzögert wird,
    die benötigt wird, bis die Vorschau angezeigt wird, wenn der Mauszeiger über ein App-Symbol in der Taskleiste bewegt wird.

    Der Wert 30000 stellt eine Verzögerungszeit von 30 Sekunden dar, was mehr als genug sein sollte, um zu verhindern, dass die Vorschau angezeigt wird. Größere Werte verschieben die Anzeige entsprechend nach hinten.

Unterstütze uns!

Jährlich (2025)

94,2 %

94,2% (612,48 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon