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. Horstmann

Beiträge von Horstmann

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

    • Horstmann
    • 18. April 2025 um 20:08
    Zitat von Mira_Belle

    Ist eigentlich gar keine Hexerei!

    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!!

    Ah, danke! :)

    In CSS bin ich ja Variablenfanatiker, aber diese spezielle Art der Einbindung im JS muss ich mir erst noch anschauen.

    Im nächsten Schritt könnten wir auch noch die Icons komplett herauslösen, dann kann man alles einzeln hin und herschieben und stylen; wichtig ist erstmal dass das neue Element (hoffentlich) zu klappen scheint.

    Wobei du in deinem Code immer noch Strings (?) benutzt für die beiden Counter, in der Richtung werd ich wohl nicht basteln.

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

    • Horstmann
    • 18. April 2025 um 19:55
    Zitat von Dharkness
    Zitat von Horstmann

    Ganz verstehe ich das nicht; da könnte ein Screenshot mit Anmerkungen helfen. :/

    Guckst Du da ↓.

    Danke! :)

    Wie oben erwähnt, das kann man in dem Fall mit justify-content -> space-between lösen, s Anhang; es gibt halt so viele individuelle Anpassungsmöglichkeiten, da muss man im Einzelfall anpassen, oder ein Variablenmonster bauen, durch das dann auch keiner mehr durchsteigt; was wir in dieser Thread ja auch schon diskutiert hatten.

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

    • Horstmann
    • 18. April 2025 um 19:13
    Zitat von Mira_Belle
    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.

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

    Was diese Variable angeht: hab einfach keine Ahnung wie das $ Zeug funktioniert, ehrlich gesagt. :whistling:
    Und könnste einen Screenshot posten, bittebitte? ;)

    Was den justify-content Teil angeht, für die Inhalte der beiden Counter, da geht sicher deine Lösung, oder auch space-between, man muss die Grössen halt von Hand anpassen damit es sauber sitzt.

    Und auch für dich die Frage: : funktioniert der Code im aktuellen Nightly (und Release)?
    Wie erwähnt ist das für mich zZ etwas aufwendig im Detail zu testen.


    Zitat von Mira_Belle
    Zitat von Horstmann

    Aber das Wichtigste: funktioniert der Code im aktuellen Nightly?

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

    Danke, wieder überschnitten. :)

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

    • Horstmann
    • 18. April 2025 um 19:02
    Zitat von Dharkness
    Zitat von Horstmann

    Also, probier den Otto mal:

    Leider ist in meinen Augen die Ausrichtung der Zähler falsch, sie ist an der ersten Zahl der Zählung ausgerichtet, nicht am Ende der zweistelligen Zählung.

    Ganz verstehe ich das nicht; da könnte ein Screenshot mit Anmerkungen helfen.:/

    Das kann man sich aber einrichten wie man will; diese Version von #370 war für Mira bestimmt, basierend auf den Screenshots die Sie gepostet hatte; Icons links von den Zahlen, und die Zahlen links startend.

    Aber das Wichtigste: funktioniert der Code im aktuellen Nightly?

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

    • Horstmann
    • 18. April 2025 um 16:40
    Zitat von Mira_Belle

    Nur wie bekommt man da die Symbole vor zu "Zähler" (Zahlen)?

    Also, probier den Otto mal:
    Die width Einträge sind nur für den Fall daß man alle Icons immer untereinander haben will, und kann man evtl. schlauer machen.

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

    JavaScript
    //bmcount testa neu C TEST! für Mira, Icons links
    // 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 icon1 = "YourFolderIcon.png"    //  Custom  Folder Icon
        //let icon2 = "YourLinkIcon.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: calc(16px + 2.1em); /* Feste Breite rechter Counter für 2 Ziffern ->  Icons auf gleicher Höhe */
                         margin-inline: 16px 8px;   /* Abstand links für enge Popups, rechts zum 2ten Counter */
                         /*outline: 1px solid grey !important;*/
            			      }
    
                    #bmContent::after {
                         content: url("${ProfilePath}/${icon2}") " "
                                  attr(data-value2);
                         fill: ${cs_icon_color};
                         width: calc(24px + 2.1em); /* Feste Breite rechter Counter für 3 Ziffern ->  Icons auf gleicher Höhe */
                         color: ${cs_font_color};
                         align-items: center;
                         display: flex;
                         justify-content: start;
                         /*outline: 1px solid grey !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.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

    • Horstmann
    • 18. April 2025 um 16:09
    Zitat von Mira_Belle

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

    Passt so weit ganz gut.

    Na dann ist ja prima! :)

    Das bietet halt nicht so viel Kontrolle, aber wenn's passt und reicht: :thumbup:


    Zitat von Mira_Belle

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

    Haben uns überschnitte; Momentchen.;)

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

    • Horstmann
    • 18. April 2025 um 13:37
    Zitat von Mira_Belle

    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.

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

    Hi Mira, ich arbeite daran! :)
    Das war ja der Grund für unseren früheren Code, die einzelnen Texte und Icons separat anfassen zu können.
    Siehe JS unten.

    Zitat von grisu2099
    Zitat von Horstmann

    Ich werf den groben Test einfach mal in den Raum; geht das in deinem Nigthly?

    Ja, einfach im Skript aus #346 in Zeile 11 und 12 die Namen anpassen. Die Icons müssen dann im Ordner chrome/icons liegen...

    Danke für die Rückmeldung!:)

    Für dich und alle Interessierten, könntet Ihr diesen Basis Test mal in die Nightly packen?
    Das lässt sich dann unendlich mit CSS variieren, und auch die Icons im nächsten Schritt separieren - wenn es in Nightly gefressen wird.:/

    Icons sind wieder wie gehabt einzubinden, hier im chrome/icons Ordner, ihr kennt das Spiel ja.
    Basieren auf dem JS von BrokenHeart  hier.

    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 = "YourFolderIcon.png"    //  Custom  Folder Icon
        let icon2 = "YourLinkIcon.svg"          //  Custom  Link Icon
    
        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: 11px !important;
            		     font-weight: 900 !important;
                    }
    
                    #bmContent::before {
                         content: attr(data-value1) " "
                                  url("${ProfilePath}/${icon1}");
                         justify-content: end;
                         color: rgb(170,130,255);
                         align-items: center;
                         display: flex;
                         /*outline: 1px solid orange;*/
                         margin-inline: 16px 8px;
            			      }
    
                    #bmContent::after {
                         content: attr(data-value2) " "
                                  url("${ProfilePath}/${icon2}");
                         width: calc(36px + 2.1em); /* Feste Breite rechter Counter für 3 Ziffern -> linke Icons auf gleicher Höhe */
                         color: rgb(100,200,255);
                         align-items: center;
                         display: flex;
                         /*outline: 1px solid lightblue;*/
                         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

    icons.zip


    Noch zur Erläuterung:

    Der Content lässt sich jeweils auch grob sortieren.

    ZB : content: attr(data-value1) " " url("${ProfilePath}/${icon1}");

    ist der Counter #1 , dann ein Leerzeichen für Abstand, dann das Icon #1; die Reihenfolge kann man ändern, und weiteren Schnickschnack dazupacken, zB ein "/" ergibt dann ein / an der Stelle wo es eingefügt ist.

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

    • Horstmann
    • 17. April 2025 um 21:04
    Zitat von Dharkness

    Ja, hatte ich eben auch gesehen und korrigiert, jetzt noch die Zähler ein wenig nach oben ausrichten und es wäre perfekt.

    Kannst das mal gerne probieren; das Problem auf meiner Seite ist daß es momentan etwas schwierig ist aktuelle Nightlies für jedes einzelne Detail zu testen, daher die leider nur vagen Vorschläge.:(

    Zum Text hatten wir hier schon einige Diskussionen in diesem Thread, bzgl. der Positionierung etc., und die exakte Positionierung der einzelnen Bestandteile vom Zähler generell; da kann ich aber erst ran wenn ich mir neue Macs leisten kann.

    Am Ende des Tages vermute ich daß man den Zähler anders einbinden sollte, evtl. nicht mit dem childNodes Dingens (Fachbegriff), mal schauen.

    Momentan also dieser wieder nur grobe Vorschlag, und deine Variationen sind dann halt anzupassen:

    JavaScript
    //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 = "YourFolderIcon.png"    //  Custom  Folder Icon
        let icon2 = "YourLinkIcon.svg"          //  Custom  Link Icon
    
        function setFunction() {
    
            const css =`
    
        .countClass {
        justify-content: space-between !important;
    }
                .countClass::after {
                content: attr(data-value1)
                         /*url("chrome://browser/skin/bookmark-hollow.svg")*/
                         url("${ProfilePath}/${icon1}")
                         attr(data-value2)
                         /*url("chrome://global/skin/icons/folder.svg")*/
                         url("${ProfilePath}/${icon2}") !important;
    				font-family:  Consolas, "Lucida Console", "Courier New", monospace !important;
    				font-size: 11px !important;
    				font-weight: 900 !important;
                    color: rgb(100,200,255) !important;
                    align-items: center !important;
                    display: flex !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 + "]";   //  Has square brackets
            label.setAttribute('data-value1', strCountOut1);
    
            let strCountOut2 = "[" + menuitemCount + "]"; //  Has square brackets
            label.setAttribute('data-value2', strCountOut2);
    
                }, 100);
            }
        }
    
    })();
    Alles anzeigen

    Änderungen in Zeile 35-37.

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

    • Horstmann
    • 17. April 2025 um 19:50
    Zitat von Dharkness
    Zitat von Horstmann

    Ich werf den groben Test einfach mal in den Raum; geht das in deinem Nigthly?

    Nicht so wirklich es ist auf beiden Positionen das Ordner-Symbol zu sehen und nicht wie erwartet bei der Lesezeichenzählung der Stern.

    Dabke für's testen.:)

    Dummer Fehler von mir, sorry :(; ich habe jetzt im Code oben Zeile 31 geändert, hatte zuvor 2x das gleiche Icon für beide Teile eingetragen.

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

    • Horstmann
    • 17. April 2025 um 18:23
    Zitat von grisu2099

    Ich habe nach einigem Gefrickel eine einigermaßen befriedigende Lösung für die Nightly gefunden. Nicht ausgeschlossen, daß da in ein paar Tagen nochmal nachjustiere... ^^

    Mein Anliegen war ja dass ich unbedingt eigene Icons benutzen möchte.

    Ich werf den groben Test einfach mal in den Raum; geht das in deinem Nigthly?

    (Icon Namen + Dateiendung oben einfach deine eigenen nehmen, oder die im Anhang in chrome/icons ordner) :

    JavaScript
    //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 = "YourFolderIcon.png"    //  Custom  Folder Icon
        let icon2 = "YourLinkIcon.svg"          //  Custom  Link Icon
    
        function setFunction() {
    
            const css =`
    
        .countClass {
        justify-content: space-between !important;
    }
                .countClass::after {
                content: attr(data-value1)
                         /*url("chrome://browser/skin/bookmark-hollow.svg")*/
                         url("${ProfilePath}/${icon1}")
                         attr(data-value2)
                         /*url("chrome://global/skin/icons/folder.svg")*/
                         url("${ProfilePath}/${icon2}") !important;
    				font-family:  Consolas, "Lucida Console", "Courier New", monospace !important;
    				font-size: 11px !important;
    				font-weight: 900 !important;
                    color: rgb(100,200,255) !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 + "]";   //  Has square brackets
            label.setAttribute('data-value1', strCountOut1);
    
            let strCountOut2 = "[" + menuitemCount + "]"; //  Has square brackets
            label.setAttribute('data-value2', strCountOut2);
    
    
                }, 100);
            }
        }
    
    })();
    Alles anzeigen

    Archiv.zip


    Zitat von Dharkness

    Kommt von hier irgendwo.

    Nanana ! ;)

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

    • Horstmann
    • 16. April 2025 um 22:21
    Zitat von grisu2099

    Ich habe mit den Browser-Werkzeugen mal gesucht: Anscheinend liegt es daran, daß die Klasse .menu-accel bei den Lesezeichen standardmäßig nicht mehr angezeigt wird. Wenn ich mir die per CSS wieder einblende, kriege ich zumindest eine der beiden Zahlen wieder dahin, wo sie vorher war... :/

    In deinem Code von hier steht in Zeile 81 order: 1; Pfeil hinter dem "Wert" der Links; der Kommentar sollte (aus)kommentiert sein, das zum Einen.

    .menu-accel sollte generell nicht nötig sein, vermute ich mal, .countClass1 bzw. .countClass2 alleine müssten reichen.

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

    • Horstmann
    • 16. April 2025 um 20:10
    Zitat von grisu2099
    Zitat von 2002Andreas

    so sieht das von BrokenHeart hier aus:

    Muß ich mal testen, ob ich per CSS noch wieder näher an das frühere Aussehen komme - rechts in der Zeile (mit mehr Abstand zum Label) finde ich das doch besser...

    Ich benutze selber einen ganz anderen Ansatz , aber probier vielleicht das mal in der userChrome.css, zusätzlich zu der Script Version von BrokenHeart aus #334; nur ganz grob! getestet:

    CSS
    .countClass { 
        justify-content: space-between !important;  
    } 
  • Floorp Browser

    • Horstmann
    • 11. April 2025 um 11:16
    Zitat von Sören Hentzschel

    Dass du dich selbst einschließt, ändert doch nichts daran, dass du mit der Aussage die Qualität der Arbeit in diesem Forum als Ganzes in Frage gestellt hast. :/ Tatsache ist: Dieses Forum ist natürlich nicht so groß wie Reddit. Aber auch hier bekommen die Nutzer in der Regel exakt das, was sie wollen. Wege zum Ziel gibt es meistens mehr als einen.

    Korrekt, aber es ist hier auch einiges an fragwürdigem CSS Code unterwegs, der auch nach mehrfachen Hinweisen nicht korrigiert, oder zumindest diskutiert wird; ich hatte selber einige Male dazu kommentiert, wenn meiner(!) Ansicht nach ein Korrekturbedarf bestand.
    Aus diesem ganz konkreten Grund benutze ich selber kaum noch (CSS) Code aus diesem Forum, daher steht meine obige Meinung dazu (jetzt leicht editiert ;)).

    Das Problem mit üblem oder veraltetem Code gilt natürlich erst recht für Reddit, aber wenn man einen groben Überblick über die regulär Beitragenden hat, findet man idR soliden und kompetenten CSS Code, und/oder Links zu hilfreichen Quellen.
    Fragen oder Kritik werden dort auch deutlich öfter wahrgenommen und beantwortet, statt oft nur ignoriert oder pauschal abgelehnt zu werden.

    Wie gesagt, ich rede nur über CSS.

  • Floorp Browser

    • Horstmann
    • 10. April 2025 um 15:28
    Zitat von Sören Hentzschel

    Vielleicht überlegst du mal, in welchem Forum du das gerade geschrieben hast und wie das wohl hier ankommt.

    Vielleicht könntest du in Betracht ziehen, dass ich mich und meine CSS Beiträge dabei mit einschließe.:/
    Und über diese meine - bescheidenen - Beiträge hast du schon eine rudimentäre Übersicht, korrekt?;)

    Dieses Forum glänzt mit mit den JS Beiträgen bzgl. Firefox - das habe ich noch nicht besser gefunden, zumindest für Amateure wie mich.:)

    Zitat von Mira_Belle

    Echt?

    Das tut jetzt aber 2002Andreas in der Seele weh,
    und anderen "Helfern" tut das auch unrecht.

    Wieso?
    Meine CSS Skills sind sehr begrenzt, aber zumindest ein klein wenig verstehe ich davon, und erlaube mir eine Meinung dazu.8)

    Mir ist hier in der Vergangenheit oft und viel geholfen worden, besonders auch von 2002Andreas , aber die bessere Foren Quelle ist eben mE der Reddit Sub, auch wenn man sich manchmal durchquälen muss.

  • Floorp Browser

    • Horstmann
    • 9. April 2025 um 23:18
    Zitat von .DeJaVu
    Zitat von Shelly

    Zufall auf Reddit

    Ist 'ne Laber-Platform, mehr auch nicht

    Falls du vom Fx CSS Reddit sub sprichst, es ist halt immer noch das einzige beste Forum mit vernünftigen und aktuellen CSS inhalten für Firefox.

    Floorp und andere Forks sind dort auch kürzlich rausgeflogen als akzebtable Inhalte, nachdem u.a. Floorp dort lange beworben wurde.

  • Mehrzeilige Tableiste eine leere Zeile (Fehler)

    • Horstmann
    • 6. April 2025 um 22:27

    Wenn ich einen Vorschlag machen dürfte: es gibt da einen - sogar angepinnten:/ - Thread für diese mehrzeilige Tabs Geschichte.

    Im Sinne der Forenhygiene könnte es Sinn machen, diesen und andere aktuelle Threads zum gleichen Thema dahin zu verschieben.

  • Wie kann ich das Script und den CSS zusammenbringen?

    • Horstmann
    • 1. April 2025 um 19:08
    Zitat von Boersenfeger

    So wie es jetzt aussieht, gefällt es mir!

    Das ist letztlich alles was zählt! :):thumbup:

  • Wie kann ich das Script und den CSS zusammenbringen?

    • Horstmann
    • 1. April 2025 um 17:18
    Zitat von Boersenfeger

    Damit wäre ich zufrieden. Was könnte man den im Tab CSS verbessern? ;)

    Neu aufbauen fürchte ich; du hast grundverschiedene Codes für selektierte versus unselektierte Tabs, mal mit .tab-background (wie es sein sollte für den sichtbaren Teil der Tabs), mal ohne; margins wo paddings sein sollten, etc., und evtl. ein Theme das die eigentlich offensichtlichen Fehler möglicherweise verdeckt.

    Der Rest sieht dann aus wie Pflaster über Pflaster, damit alles irgendwie zusammenpasst.:/
    Das Grundproblem ist aber halt, daß deine Tabs eigentlich nicht zusammenpassen.

  • Wie kann ich das Script und den CSS zusammenbringen?

    • Horstmann
    • 1. April 2025 um 16:25
    Zitat von Boersenfeger

    Nee bleibt er nicht, mit deinem Code sieht es so aus:

    Keine grüne Ecke und der Aktive Tab ist nicht rot nur Fettschrift.

    Hab gerade nochmal getestet mit deinem CSS aus #3; du hast vermutlich die dort auskommentierten Teile immer noch auskommentiert, da kann ja nix rot werden. ;)

    Das Grün taucht tatsächlich auf in deinem Screenshot, aber an der falschen Stelle - weil offengestanden dein Tab CSS ziemlich daneben ist.;)

  • Wie kann ich das Script und den CSS zusammenbringen?

    • Horstmann
    • 1. April 2025 um 16:10
    Zitat von Boersenfeger

    Danke, aber dann lasse ich den Code lieber so, wie er ist. Mir ist schon wichtig, dass der aktuelle Tab rot ist.

    Aber der bleibt doch rot mit deinem CSS, das benutzt du einfach normal weiter.

    Das Script ist ja nur für die gewünschte Ecke in ungelesenen Tabs, sonst ändert das nichts.:/

Unterstütze uns!

Jährlich (2025)

92,9 %

92,9% (604,17 von 650 EUR)

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