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

  • Firefox 141 beta Kontextmenu Symbolabstand

    • Horstmann
    • 20. Juli 2025 um 20:38
    Zitat von Endor

    Mein ganzes CSS für Kontextmenü Symbole sind fast 6000 Zeilen.
    Willst Du Dir die wirklich im ernst antun?
    Hier mal ein ausschnitt davon:

    Oje...
    Und also doch extra Code im Spiel? ;)

    In den meisten Fällen kann man Basiscode für bestimmte Elemente einmal zusammengefasst eingeben, via den allgemeinen IDs, Tags, Classes und evtl. übergeordneten Elementen zur Eingrenzung.
    Zentral gesammelt aufbauen, evtl. ein paar Variablen dazu, und das Troubleshooting wird unendlich einfacher.

    Ich war schon lange nicht mehr in den Kontextmenüs unterwegs, aber mehr als eine Handvoll Basiselemente/Klassen relevant für die Icons wird's vermutlich nicht geben.:/

    Spezifische Einträge, für einzelne Schaltflächen, braucht es nur für das Icon an sich, alles andere macht keinen Sinn zu wiederholen, oder wie von Dejavu erwähnt mehrfach und unterschiedlich aufzubauen.

    Im Zweifel immer mal bei Aris oder MOG reinschauen, wie die sowas angehen.

    Was dir im Moment nicht weiterhilft, aber das sieht aus wie ein Fall von suboptimalem CSS plus altersbedingter Codeblähung.;)


    Zitat von Mira_Belle

    Wobei das mit dem ; padding-left: 36px;} eben die Fehlerkorrektur ist!

    Was man für alle betroffenen Elemente entweder als Variable anlegen, oder besser noch einmal direkt festlegen kann.
    Wenn sich mehrere solcher wiederholten Regeln über 1000de Zeilen Code ziehen, auch für nur wenige Elemente die leicht unterschiedlich gehandhabt werden müssen, dann hat man Ärger vorprogrammiert.

  • Firefox 141 beta Kontextmenu Symbolabstand

    • Horstmann
    • 20. Juli 2025 um 16:23
    Zitat von Endor

    Hallo zusammen.
    In Firefox 141 beta da sind fast überall die Abstände im Kontextmenü
    bei den Symbolen zum Text wieder richtig im Vergleich zu Firefox 140.

    Nur aus Neugier: meinst du einen generellen Firefox Bug, oder entsteht das Problem im Zusammenhang mit eigenen CSS Codes, JS Scripts, oder Erweiterungen?:/

  • v141 Suche nach einem Skript zum Show\Hide Title Bar

    • Horstmann
    • 19. Juli 2025 um 23:41
    Zitat von Sören Hentzschel

    Aber wieso Schweiz? Das interessiert mich wirklich, denn bei mir klingelt da nichts. ;)

    Mist, Österreich sollte das heissen! ;)

  • v141 Suche nach einem Skript zum Show\Hide Title Bar

    • Horstmann
    • 19. Juli 2025 um 22:45
    Zitat von Sören Hentzschel
    Zitat von Horstmann

    direkte Bildanhänge im Forum werden bei mir generell als webp Dateien angezeigt, die funktionieren nur in der Schweiz. ^^

    Was genau ist der Zusammenhang zwischen WebP und der Schweiz?

    Nur ein kleiner Scherz bzgl. irgendeiner Konversation die wir mal hatten über webp Umwandlung im Forum und allgemeine weitere Nutzbarkeit, weiss nicht wo oder warum ich mich daran erinnere. ;)

  • v141 Suche nach einem Skript zum Show\Hide Title Bar

    • Horstmann
    • 19. Juli 2025 um 21:37
    Zitat von lenny2

    Jetzt ist alles gut.

    Prima! :)

    Fyi: direkte Bildanhänge im Forum werden bei mir generell als webp Dateien angezeigt, die funktionieren nur in der Schweiz. ^^

  • v141 Suche nach einem Skript zum Show\Hide Title Bar

    • Horstmann
    • 19. Juli 2025 um 17:01
    Zitat von Mira_Belle

    Horstmann Das ist alles:!:

    Mit dieser kleinen Korrektur funktioniert Dein Skript tadellos!!
    Bitte vielmals um Entschuldigung

    Wofür?
    Deine Codes benutze ich schon ewig mit Erfolg. :thumbup:

    Danke für's Testen, uuuuund noch mehr dazugelernt, dank Mitleser - der Mann, der Mythos! :);)

  • v141 Suche nach einem Skript zum Show\Hide Title Bar

    • Horstmann
    • 19. Juli 2025 um 16:36
    Zitat von Mitleser

    Horstmann , es fehlt - damit es in neueren Firefoxversionen funzt - ein Slash nach der Angabe des Profilpfades. Den könnte man z.B. hier einfügen:

    style: 'list-style-image: url("' + ProfilePath +'/'+ buttonicon + '");'

    8|

    Das is alles?

    Also würde das evtl. funktionieren - ohne meine dampfbetriebene Teststation anwerfen zu müssen (Iconname anpassen oder das im Anhang nehmen): :/

    JavaScript
    //tabsInTitlebar_toggle.uc.js
    //Icon erwartet in Profilordner/chrome/icons, icons Ordner falls noetig erstellen, buttonicon Dateinamen anpassen
    //https://www.camp-firefox.de/forum/thema/139604-v141-suche-nach-einem-skript-zum-show-hide-title-bar/?postID=1275461#post1275461
    
      (function() {
      if (!window.gBrowser) return;
        const prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
        try {
            CustomizableUI.createWidget({
                id: 'title_toggle',
                type: 'custom',
                defaultArea: CustomizableUI.AREA_NAVBAR,
                onBuild: function(aDocument) {
                    let toolbaritem = aDocument.createXULElement('toolbarbutton');
                    let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));
                    let buttonicon = 'Letterst-2a.png';
                    let props = {
                        id: 'title_toggle',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'Titlebar Tabs',
                        tooltiptext: 'Tabs in Titlebar',
                        style: 'list-style-image: url("' + ProfilePath +'/'+ buttonicon + '");'
                    };
                    for (let p in props)
                        toolbaritem.setAttribute(p, props[p]);
                    return toolbaritem;
                }
            });
        } catch(e) { }
    
        document.getElementById('title_toggle').addEventListener('click', event => {
            if (event.button === 0) {
               tabsTitlebar();
              }
        });
    
        function tabsTitlebar() {
            if (prefs.getIntPref("browser.tabs.inTitlebar") === 0) {
               prefs.setIntPref("browser.tabs.inTitlebar", 1);
            }
            else {
               prefs.setIntPref("browser.tabs.inTitlebar", 0);
            }
         };
    
      })();
    Alles anzeigen

    Letterst-2a.png.zip

  • v141 Suche nach einem Skript zum Show\Hide Title Bar

    • Horstmann
    • 19. Juli 2025 um 16:27
    Zitat von lenny2

    Mira_Belle Ihrer Erklärung entnehme ich, dass der relative Pfad funktioniert, wenn Sie das Symbol per CSS hinzufügen. Derzeit funktioniert das Skript es mit einem Ressourcen Icon oder mit einem Icon mit einem physischen Pfad

    Wie von Mira und Andreas erklärt, war mein Dateipfad veraltet für diese Anwendung.

    Sowas sollte hoffentlich klappen, Icon entspechend anpassen:

    JavaScript
    //tabsInTitlebar_toggle.uc.js
    //Icon erwartet in Profilordner/chrome/icons, icons Ordner falls noetig erstellen, buttonIcon Dateinamen anpassen
    
      (function() {
      if (!window.gBrowser) return;
        const prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
        try {
            CustomizableUI.createWidget({
                id: 'title_toggle',
                type: 'custom',
                defaultArea: CustomizableUI.AREA_NAVBAR,
                onBuild: function(aDocument) {
                    let toolbaritem = aDocument.createXULElement('toolbarbutton');
                    let currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
                    let buttonIcon = 'Letterst-2a.png';
                    let props = {
                        id: 'title_toggle',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'Titlebar Tabs',
                        tooltiptext: 'Tabs in Titlebar',
                        style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonIcon) +'");',
                    };
                    for (let p in props)
                        toolbaritem.setAttribute(p, props[p]);
                    return toolbaritem;
                }
            });
        } catch(e) { }
    
        document.getElementById('title_toggle').addEventListener('click', event => {
            if (event.button === 0) {
               tabsTitlebar();
              }
        });
    
        function tabsTitlebar() {
            if (prefs.getIntPref("browser.tabs.inTitlebar") === 0) {
               prefs.setIntPref("browser.tabs.inTitlebar", 1);
            }
            else {
               prefs.setIntPref("browser.tabs.inTitlebar", 0);
            }
         };
    
      })();
    Alles anzeigen
  • v141 Suche nach einem Skript zum Show\Hide Title Bar

    • Horstmann
    • 19. Juli 2025 um 15:58
    Zitat von Mira_Belle

    Hi, die Variante mit :"let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir'));"
    funktioniert nur, wenn der Pfad in CSS gebraucht wird.
    Andi's Skript verwendet aber: "let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");"
    So kann die Variabel direkt in JS verwendet werden.

    Ergo, Andi's Skript erzeugt einen Button mit Symbol, Horstmann's Skript nicht.

    Kleiner Nachtrag!
    Wenn ein "SVG" verwendet wird, kann dieses aber per CSS angepasst werden,
    und wenn man das will, muss man die "erste" Variante nutzen. ;)

    Alles anzeigen

    Ahh, vielen Dank, wieder was dazugelernt! :)


    Zitat von 2002Andreas

    Sein Skript funktioniert in Fx 115, aber danach in keiner Fx Version mehr.

    Danke, gut zu wissen! :)

  • v141 Suche nach einem Skript zum Show\Hide Title Bar

    • Horstmann
    • 19. Juli 2025 um 14:49
    Zitat von lenny2

    Aber das Icon wird nicht angezeigt, weder Ihres noch meines. Das Icon befindet sich in /chrome/icons/.

    Hmm, klappt hier mit den Icons. :/
    Evtl. könnte unsere hiesige JS Icon Expertin Mira_Belle sich das mal anschauen. :)

  • v141 Suche nach einem Skript zum Show\Hide Title Bar

    • Horstmann
    • 19. Juli 2025 um 13:24

    Falls du nach einem Button gesucht hast, funktioniert sowas evtl.?

    JavaScript
     //  titlebar tabs
    
      (function() {
    
      if (!window.gBrowser) return;
    
        const prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
        let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));
    
        try {
            CustomizableUI.createWidget({
                id: 'title_toggle',
                type: 'custom',
                defaultArea: CustomizableUI.AREA_NAVBAR,
                onBuild: function(aDocument) {
                    let toolbaritem = aDocument.createXULElement('toolbarbutton');
                    let buttonicon = "Letterst-2a.png"
                    let props = {
                        id: 'title_toggle',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'Titlebar Tabs',
                        tooltiptext: 'Tabs in Titlebar',
                        style: 'list-style-image: url("' + ProfilePath + buttonicon + '");'
                    };
                    for (let p in props)
                        toolbaritem.setAttribute(p, props[p]);
                    return toolbaritem;
                }
            });
        } catch(e) { }
    
          document.getElementById('title_toggle').addEventListener('click', event => {
              if (event.button === 0) {
                 tabsTitlebar();
                }
        });
    
        function tabsTitlebar() {
            if (prefs.getIntPref("browser.tabs.inTitlebar") === 0) {
               prefs.setIntPref("browser.tabs.inTitlebar", 1);
            }
            else {
               prefs.setIntPref("browser.tabs.inTitlebar", 0);
            }
         };
    
      })();
    Alles anzeigen

    Icon: Letterst-2a.png.zip

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

    • Horstmann
    • 13. Juli 2025 um 18:42

    Danke für's Nachschauen. :)

    Ich glaube fast dass es tatsächlich ein Mac, und evtl. auch ein Linux spezifisches Problem ist, s. hier. :/
    Mac Fx hat ein eigenes inline Margin für diesen Pfeil, war schon lange so, und das wird anscheinend zu spät oder gar nicht dazugelesen mit dem in #636 erwähnten Code.

    Edit: meine aktuelle Version hier und eine BrokenHeart Variante hier, nur zur besseren Übersicht. :whistling:

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

    • Horstmann
    • 13. Juli 2025 um 15:46

    Kann a) am Mac liegen, oder wahrscheinlicher b) mein Fx ist endgültig zu alt.?(

    Wenn sonst niemand das Problem beobachten kann, können wir das ignorieren.

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

    • Horstmann
    • 13. Juli 2025 um 14:20
    Zitat von Mira_Belle

    Ich habe das Problem nicht mit dieser Anpassung. :/

    Wenn Du schauen magst:

    Hmm, gleiches Problem auf meiner Seite mit deinem Code. :/

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

    • Horstmann
    • 13. Juli 2025 um 12:34
    Zitat von BrokenHeart

    Hier der Block, der sich geändert hat. Geht im Test-Skript von Zeile 30 bis Zeile 50. Alles andere braucht nicht angepasst werden:

    JavaScript
            if(bmbMenu) {
    			let bmbMenuPopup = document.getElementById('BMB_bookmarksPopup'); 
    			if(bmbMenuPopup) {
    				bmbMenuPopup.openPopup();
    				bmbMenuPopup.hidePopup();
    				bmbMenuPopup.setAttribute("hasbeenopened","true");
    			}
                bmbMenu.addEventListener('popupshowing', onPopupShowing ); 
    		}
            if(bookMenu) {
    			let bookMenuPopup = document.getElementById('bookmarksMenuPopup');
    			if(bookMenuPopup) {
    				bookMenuPopup.openPopup();
    				bookMenuPopup.hidePopup();
    				bookMenuPopup.setAttribute("hasbeenopened","true");
    			}
                bookMenu.addEventListener('popupshowing', onPopupShowing );
    		}
            if(persToolBar) {
                persToolBar.addEventListener('popupshowing', onPopupShowing ); 
    		}
    Alles anzeigen

    Leider ein kleines Problem, in diversen Scriptvarianten.

    Im ersten Popup vom Lesezeichen Menu Button werden die Zähler zu weit nach rechts gerückt zum Pfeil > hin mit diesem Code, nicht aber mit den älteren Versionen.:/
    Das bei rechtsbündigen Zählern, via zB margin-inline: auto 0;.

    Wenn ich Zeilen 4+5 auskommentiere, ist das Problem behoben, weiss aber nicht ob das für die Funktion der Menüleiste gebraucht wird.

    Anhang #1 Lesezeichenleiste Popup, #2 Lesezeichen Menu Popup alter Code, #3 Lesezeichen Menu Popup neuer Code.

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

    • Horstmann
    • 12. Juli 2025 um 15:19
    Zitat von Mira_Belle

    Waren meine Erklärungen nicht gut?

    Doch, die waren prima. :)
    Denke nur dass die meisten User fertigen Code brauchen, mit wenn dann einfachen optionalen Anpassungen.
    Mit ein Hauptgrund weshalb wir bei den Versionen von dir, Mitleser und mir gelandet sind.

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

    • Horstmann
    • 12. Juli 2025 um 14:25
    Zitat von mkpcxxl

    so wie ich es möchte.

    Gruß und schönes WE.

    Prima! :)
    Ebenfalls schönes WE.

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

    • Horstmann
    • 12. Juli 2025 um 12:18
    Zitat von mkpcxxl

    Das einzige, wenn ich padEnd in padStart ändere (wie von Mira_Belle in #620 beschrieben) ändert sich nichts.

    Ich hätte die Symbole doch gerne vor den Zahlen. Die Frage ist wie ?

    padEnd ist nur für die Ausrichtung der Zahlen, links- oder rechtsbündig.

    Hier noch ein Code mit den Icons links, umgekehrt ist mit dabei, nur auskommentiert.

    Feinabstimmung mit background-position, und den Leerzeichen "\xa0" ausserhalb von String(menuCount).padEnd(2, '\xa0') bzw. String(menuitemCount).padStart(3, '\xa0').

    Edit: etwas aufgehübscht:

    JavaScript
    //bookmark_count_basic.uc.js
    //Mitte Juli 2025
    //Zeigt Anzahl der Lesezeichenordner und Links an in Lesezeichenpopups, Basisversion mit eigenen Icons
    //basiert auf Script von BrokenHeart =>
    //https://www.camp-firefox.de/forum/thema/136572-nur-die-anzeige-der-ordner-lesezeichenanzahl-in-einer-anderen-farbe-darstellen/?postID=1274984#post1274984
    //Release =>
    //https://www.camp-firefox.de/forum/thema/136572-nur-die-anzeige-der-ordner-lesezeichenanzahl-in-einer-anderen-farbe-darstellen/?postID=1275152#post1275152
    
    (function() {
    
        if (!window.gBrowser)
            return;
    
        setTimeout(function() {
            setFunction();
        },50);
    
        let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));
    
        function setFunction() {
    
            const css =`
    
           .countClass {
                /* Eigene Icons in chrome/icons Ordner benutzen */
                /*
                --bm_icon_image_1: url("${ProfilePath}/YourFolderIcon.svg");
                --bm_icon_image_2: url("${ProfilePath}/YourLinkIcon.svg");
                */
                /* Firefox Icons benutzen */
                --bm_icon_image_1: url("chrome://global/skin/icons/folder.svg");
                --bm_icon_image_2: url("chrome://browser/skin/bookmark-hollow.svg");
    
                --bm_icon_size: 16px;
                justify-content: space-between;
                }
    
           .countClass::after {
                content: attr(data-value);
                display: flex;
                align-items: center;
                max-height: var(--bm_icon_size);
                padding-block: 2px 0;              /* Text vertikal ausrichten, optional */
                /*margin-right: -12px;*/            /* Abstand rechts zu Pfeil > , optional */
    
                font-family:  Consolas, "Lucida Console", "Courier New", monospace !important;
                font-size: 12px !important;
                font-weight: 1000 !important;
    
                -webkit-text-fill-color: blue !important;
                fill: red !important;
    
                background-image: var(--bm_icon_image_1), var(--bm_icon_image_2);
                background-repeat: no-repeat;
                background-size: var(--bm_icon_size);
    
                /* Fuer Zahl links, s. JS Code ganz unten */
                /*
                background-position: right 4.33em center, right 0 center;
                padding-left: 8px;
                */
    
                /* Fuer Zahl rechts */
                background-position: right 5.833em center, right 2.166em center;
                padding-left: 30px;
                }
    		`;
            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) {
    			let bmbMenuPopup = document.getElementById('BMB_bookmarksPopup');
    			if(bmbMenuPopup) {
    				bmbMenuPopup.openPopup();
    				bmbMenuPopup.hidePopup();
    				bmbMenuPopup.setAttribute("hasbeenopened","true");
    			  }
                bmbMenu.addEventListener('popupshowing', onPopupShowing );
    		  }
    		if(bookMenu) {
    			let bookMenuPopup = document.getElementById('bookmarksMenuPopup');
    			if(bookMenuPopup) {
    				bookMenuPopup.openPopup();
    				bookMenuPopup.hidePopup();
    				bookMenuPopup.setAttribute("hasbeenopened","true");
    			  }
                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 bm_label = item.childNodes[1]; //label.menu-iconic-text
                  bm_label.classList.add('countClass');
    
            // Zahl links
            //let strCountOut = String(menuCount).padEnd(2, '\xa0') + "\xa0\xa0\xa0\xa0" + String(menuitemCount).padEnd(3, '\xa0') + "\xa0\xa0\xa0";
    
            // Zahl rechts
            let strCountOut = String(menuCount).padStart(2, '\xa0') + "\xa0\xa0\xa0\xa0" + String(menuitemCount).padStart(3, '\xa0');
    
    			  bm_label.setAttribute('data-value', strCountOut);
    
                }, 100);
            }
        }
    
    })();
    Alles anzeigen
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Horstmann
    • 12. Juli 2025 um 10:21
    Zitat von FuchsFan
    Zitat von Horstmann

    So kann man sie ändern, copy/paste, ganz einfach.

    Ich danke dir, jetzt habe auch ich verstanden, dass es nur damit möglich ist.

    Nicht unbedingt, da gab's auch schon sowas in der Art:

    JavaScript
    (function() {
    
        if (!window.gBrowser)
            return;
    
        setTimeout(function() {
            setFunction();
        },50);
    
        let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));
    
        function setFunction() {
    
            const css =`
    
           .countClass {
                /*
                --bm_icon_image_1: url("${ProfilePath}/YourFolderIcon.svg");
                --bm_icon_image_2: url("${ProfilePath}/YourLinkIcon.svg");
                */
                
                --bm_icon_image_1: url("chrome://global/skin/icons/folder.svg");
                --bm_icon_image_2: url("chrome://browser/skin/bookmark-hollow.svg");
              }
    
           .countClass::after {
                content: attr(data-value);
                display: flex;
                align-items: center;
    		    font-family:  Consolas, "Lucida Console", "Courier New", monospace !important;
    		    font-size: 12px !important;
    		    font-weight: 1000 !important;
    
                -webkit-text-fill-color: blue !important;
                fill: red !important;
    
                background-image: var(--bm_icon_image_1), var(--bm_icon_image_2);
                background-position: right 4.33em center, right 0 center;
                background-repeat: no-repeat;
                background-size: 16px;
    
                margin-inline: auto 0 !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) {
    			let bmbMenuPopup = document.getElementById('BMB_bookmarksPopup');
    			if(bmbMenuPopup) {
    				bmbMenuPopup.openPopup();
    				bmbMenuPopup.hidePopup();
    				bmbMenuPopup.setAttribute("hasbeenopened","true");
    			}
                bmbMenu.addEventListener('popupshowing', onPopupShowing );
    		}
            if(bookMenu) {
    			let bookMenuPopup = document.getElementById('bookmarksMenuPopup');
    			if(bookMenuPopup) {
    				bookMenuPopup.openPopup();
    				bookMenuPopup.hidePopup();
    				bookMenuPopup.setAttribute("hasbeenopened","true");
    			}
                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.menu-iconic-text
                  label.classList.add('countClass');
    
            let strCountOut = String(menuCount).padEnd(2, '\xa0') + "\xa0" + "\xa0" + "\xa0" + "\xa0" + String(menuitemCount).padEnd(3, '\xa0') + "\xa0" + "\xa0" + "\xa0";
    
    			  label.setAttribute('data-value', strCountOut);
    
                }, 100);
            }
        }
    
    })();
    Alles anzeigen
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Horstmann
    • 11. Juli 2025 um 15:14
    Zitat von Boersenfeger

    Zitat: ... in welchem Thread das AutoPopUp.uc.js in der von mir geposteten Version vom 30.6. aus # 612 erstmalig im Forum aufgetaucht ist?

    Kannst natürlich auch deine eigene Thread dafür aufmachen, weil das mit diesem Thema absolut gar nichts zu tun hat. X/

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

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