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

Beiträge von omar1979

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

    • omar1979
    • 16. Juli 2023 um 21:11

    Hallo allen

    Ich habe für mich das Script im Beitrag-Nr: 230 von Mira_Belle angepasst.

    Das einzige Problem ist, dass es hier in dem ersten Bild der Abstand zwischen den Ordner-Icon und den Anzahl(Wert) grösser ist als im zweiten Bild. Kann mir dabei jemand helfen? Besten Dank.

    Bild 1: Lesezeichen im Lesezeichen-Menü: Bild 2: Lesezeichen auf einer Zusatz-Leiste:

           

    Hier noch das Script:

    CSS
    // BookmarkCount.uc.js
    
    /* ******************************************************************************************************************* */
    /* Author BrokenHeart               => https://www.camp-firefox.de/forum/thema/136572/?postID=1229536#post1229536 **** */
    /* Correction from BrokenHeart      => https://www.camp-firefox.de/forum/thema/136572/?postID=1229696#post1229696 **** */
    /* Extension from Sören Henschel    => https://www.camp-firefox.de/forum/thema/136572/?postID=1229555#post1229555 **** */
    /* Customized by Mira inspired by grisu2099     ********************************************************************** */
    /* Source                           => https://www.camp-firefox.de/forum/thema/136572/?postID=1229875#post1229883 **** */
    /* Customized by Mira inspired by Horstmann     ********************************************************************** */
    /* Source                           => https://www.camp-firefox.de/forum/thema/136572/?postID=1229993#post1229993 **** */
    /* ******************************************************************************************************************* */
    /* Finaly Source                    => https://www.camp-firefox.de/forum/thema/136572/?postID=1230128#post1230128 **** */
    /* ******************************************************************************************************************* */
    /* Custom Counter in the Bookmarks for folders and links ************************************************************* */
    /* ******************************************************************************************************************* */
    
    (function() {
    
        if (!window.gBrowser) return;
        
        setTimeout(function() {
            setFunction();
        },50);
    
        let profilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'))
        let icon1 = "Folder.png"
        let icon2 = "Link.png"
    
        function setFunction() {
    
            const css =`
                .countClass1::before {
                    content: "";
                    background-image: url(${profilePath}/${icon1}); 
                    background-repeat: no-repeat;
                    background-size: 16px;  /* icon size */
                    //background-position: center;
                    margin-right: -10px !important; /* Abstand bis zum "Wert" der Ordner */
                    margin-left: 15px !important;   /* Abstand bis zum Icon der Ordner */
                    height: 16px;
                    width: 16px;
                    fill: #c0c0c0;
                    fill-opacity: 1;
                }
                .countClass1::after {
                    content: attr(data-value1) !important;
                    font-family:  Consolas, "Lucida Console", "Courier New", monospace !important;
                    font-size: 12px !important;
                    font-weight: 900 !important;
                    color: #FFB90F !important;
                    padding-top: 1px !important;
                }
                .countClass2::before {
                    content: "";
                    background-image: url(${profilePath}/${icon2});
                    background-repeat: no-repeat;
                    background-size: 16px;  /* icon size */
                    background-position: center;
                    margin-right: 6px !important;   /* Abstand bis zum "Wert" der Links */
                    margin-left: 10px !important;   /* Abstand bis zum Icon der Links */
                    height: 16px;
                    width: 16px;
                    fill: #c0c0c0;
                    fill-opacity: 1;
                }
                .countClass2::after {
                    content: attr(data-value2);
                    font-family:  Consolas, "Lucida Console", "Courier New", monospace !important;
                    font-size: 12px !important;
                    font-weight: 900 !important; 
                    color: #FFD700 !important;
                    margin-right: -6px !important;  /* Abstand zum Pfeil rechts */
                }
                .countClass2 image {
                    order: 1;                       /* Pfeil hinter dem "Wert" der Links */
                }
            `;
    
            const sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
            const uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css));
            sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
    
            let newbarMenu = document.getElementById('fp-statusbar-1');
            let bmbMenu = document.getElementById('bookmarks-menu-button');
            let bookMenu = document.getElementById('bookmarksMenu');
            let persToolBar = document.getElementById('PersonalToolbar');
    
            if(newbarMenu)
                newbarMenu.addEventListener('popupshowing', onPopupShowing );
            if(bmbMenu)
                bmbMenu.addEventListener('popupshowing', onPopupShowing ); 
            if(bookMenu)
                bookMenu.addEventListener('popupshowing', onPopupShowing ); 
            if(persToolBar)
                persToolBar.addEventListener('popupshowing', onPopupShowing ); 
        }
        
        function onPopupShowing(aEvent) {
            
            let popup = aEvent.originalTarget;
    
            for (let item of popup.children) {
                if (item.localName != 'menu' || item.id?.startsWith('history')) {
                    continue;
                }    
                setTimeout(() => {
                  let itemPopup = item.menupopup;
                  itemPopup.hidden = true;
                  itemPopup.collapsed = true;
                  itemPopup.openPopup();
                  itemPopup.hidePopup();
                  let menuitemCount = 0;
                  let menuCount = 0;
                  for (let subitem of itemPopup.children) {
                    if (subitem.classList.contains('bookmark-item') && !subitem.disabled && !subitem.hidden) {
                      if (subitem.localName == 'menuitem') {
                        menuitemCount++;
                      } else if (subitem.localName == 'menu') {
                        menuCount++;
                      }
                    }
                  }
                  itemPopup.hidden = false;
                  itemPopup.collapsed = false;
                  item.style.color = '#c0c0c0';
                  
                  let label1 = item.childNodes[3];
      
                  label1.classList.add('countClass1');
                  let strCountOut1 = String(menuCount).padEnd(2) + '\xa0';     // padEnd2 => zwei Stellen, plus Abstand 
                  label1.setAttribute('data-value1', strCountOut1);
    
                  let label2 = item.childNodes[4];
      
                  label2.classList.add('countClass2');
                  let strCountOut2 = String(menuitemCount).padEnd(3, '\xa0');  // padEnd3 => drei Stellen, Abstand bei nur einer Ziffer    
                  label2.setAttribute('data-value2', strCountOut2);
    
                }, 100);
            }
        }    
    })();
    
    
    
    
    
    
    
    
    
    
    
    
    
    //Fügt in den Lesezeichen Ordner ganz oben die Anzahl von Links und Unterordner hinzu.
    (function() {
    
      if (!window.gBrowser)
        return;
    
      function setFunction() {
        PlacesViewBase.prototype._mayAddCommandsItems =
        function PVB__mayAddCommandsItems(aPopup) {
          let hasMultipleURIs = false;
          let menuitemCount = 0;
          let menuCount = 0;
          if (aPopup._placesNode.childCount > 0) {
            for (let item of aPopup.children) {
              if (item._placesNode) {
                if (item.localName == 'menuitem') {
                  menuitemCount++;
                } else if (item.localName == 'menu') {
                  menuCount++;
                }
              }
            }
            if (menuitemCount > 0 || menuCount > 0) {
              hasMultipleURIs = true;
            }
          }
          if (!hasMultipleURIs)  {
            aPopup.setAttribute("nofooterpopup", "true");
            if (aPopup._endOptOpenAllInTabs) {
              aPopup.removeChild(aPopup._endOptOpenAllInTabs);
              aPopup._endOptOpenAllInTabs = null;
              aPopup.removeChild(aPopup._endOptSeparator);
              aPopup._endOptSeparator = null;
            }
            return;
          }
    
          aPopup.removeAttribute("nofooterpopup");
          if (!aPopup._endOptOpenAllInTabs) {
            aPopup._endOptSeparator = document.createXULElement("menuseparator");
            aPopup._endOptSeparator.className = "bookmarks-actions-menuseparator";
            aPopup.insertBefore(aPopup._endOptSeparator, aPopup.firstChild);
            aPopup._endOptOpenAllInTabs = document.createXULElement("menuitem");
            aPopup._endOptOpenAllInTabs.className = "openintabs-menuitem";
            if (this.options?.extraClasses?.entry) {
              aPopup._endOptOpenAllInTabs.classList.add(
                this.options.extraClasses.entry
              );
            }
            aPopup._endOptOpenAllInTabs.setAttribute(
              "oncommand",
              "PlacesUIUtils.openMultipleLinksInTabs(this.parentNode._placesNode, event, " +
                "PlacesUIUtils.getViewForNode(this));"
            );
            aPopup._endOptOpenAllInTabs.setAttribute(
              "onclick",
              "checkForMiddleClick(this, event); event.stopPropagation();"
            );
            aPopup.insertBefore(aPopup._endOptOpenAllInTabs, aPopup.firstChild);
          }
    
          let label = menuitemCount + " Link";
            if (menuitemCount != 1) {
              label += "s";
            }
            label += " / " + menuCount + " Ordner."
            if (menuitemCount == 1) {
              label += " -> Link in Tab öffnen."
            } else if (menuitemCount > 1) {
              label += " -> Links in Tabs öffnen."
            }
    
          aPopup._endOptOpenAllInTabs.setAttribute("label", label);
        }
      }
    
      setTimeout(function() {
          setFunction();
      },50);
      
    })();
    Alles anzeigen
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • omar1979
    • 15. Juli 2023 um 16:25
    Zitat von Mira_Belle

    Wenn Du interessiert bist an diesem Skript, dann nutze doch bitte erst einmal das aus #230.

    Alle Versionen danach sind erst einmal nur zum Testen und div. Fehler ausmerzen.

    Denn es scheint wohl so, dass sich das Skript unter Mac anders verhält als unter Windows.

    Dem wollen wir, Horstmann und ich auf dem Grund gehen.

    Danke für die Info. Ich wusste leider nicht, welches das passt. Habe nur die Bilder angeschaut und so getestet.

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

    • omar1979
    • 14. Juli 2023 um 23:41
    Zitat von Horstmann

    Benötigt hier auch keine Icons zum einfacheren testen, klaut von Fx. ;)

    Bedeutet das, dass man in diesem Script keine Icons laden kann? ich hab versucht das Folder.png Icon zu ändern

    background-image: url("C:\Users\Ramo\AppData\Roaming\Mozilla\Firefox\Profiles\g4mso52s.default-release\chrome\Icons\Folder.png");

    nimmt aber leider nicht an. :)

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

    • omar1979
    • 14. Juli 2023 um 23:10

    Sind die Scripte ab Beitrag-Nr: 241 nur für das Lesezeichen-Menü?

    Habe das im Beitrag-Nr: 243 getestet, zeigt nur im Lesezeichen-Menü an. :)


    Hat sich erledigt. Sorry. :)

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

    • omar1979
    • 14. Juli 2023 um 22:27
    Zitat von Mira_Belle

    Wieso Sorry, war doch eine korrekte Feststellung und Frage.

    Wegen dem Ausrufezeichen. :)

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

    • omar1979
    • 14. Juli 2023 um 22:23
    Zitat von Mira_Belle

    Das blaue Feld ist nur zu Testzwecken!

    Ok sorry.

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

    • omar1979
    • 14. Juli 2023 um 22:08
    Zitat von Mira_Belle

    Also bei mir ist es mit Deinem ergänzendem Code mittig!

    Sorry wenn ich mich irre, aber auf deinem Letzten Bild sehe ich das blaue Feld mit dem Anzahl und das Stern-Icon überschneiden sich. Ist das evtl extra gemacht?

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • omar1979
    • 12. Juli 2023 um 19:04
    Zitat von 2002Andreas

    Ich sagte ja bereits, da müssen noch mehr Einträge zusätzlich eingefügt werden. ;)

    Ja hast du. :)

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • omar1979
    • 12. Juli 2023 um 17:35

    Das nützt ja nichts, wenn die Scripte darin nicht angezeigt werden. :)

    Danke trotzdem. :)

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • omar1979
    • 11. Juli 2023 um 11:10
    Zitat von 2002Andreas

    Und nur um die CSSShadow Dateien anzuzeigen brauchte es 8 :!: neue Einträge in dem Skript. ;)

    :rolleyes:

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • omar1979
    • 11. Juli 2023 um 11:02
    Zitat von 2002Andreas

    Dann muss der mit deinen Skripten befüllt werden etc. etc.

    Das heisst für mich die Scripte für nix in den neuen Unterordner verschoben und bald mal wieder zurückverschieben. :)

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • omar1979
    • 11. Juli 2023 um 10:55
    Zitat von Endor

    Ersetzte im Script mal die Zeile
    menupopup.appendChild(this.createME("menuitem","Chromeordner","uProfMenu.prefDirOpen('UChrm');","uProfMenu_folder"),0);
    damit:

    menupopup.appendChild(this.createME("menuitem","Chromeordner","uProfMenu.prefDirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'Script');","uProfMenu_folder"),0);


    und teste.

    hallo Endor funkt leider nicht.

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • omar1979
    • 11. Juli 2023 um 09:51
    Zitat von FuchsFan

    Eines kann ich Dir sagen, mit einer Reihe Code ist da nichts zu machen, da gehört mehr dazu.

    Das heisst ich muss die Scripte wieder ins chrome-ordner zurückverschieben?

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • omar1979
    • 11. Juli 2023 um 08:05
    Zitat von Endor

    Ändern müsste man diese Zeile:

    menupopup.appendChild(this.createME("menuitem","Chromeordner","uProfMenu.prefDirOpen('UChrm');","uProfMenu_folder"),0);


    Bloß wie weiß ich leider auch nicht.

    Danke dir Endor mal abwarten, evtl weiss es jemand. :)

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • omar1979
    • 11. Juli 2023 um 08:01
    Zitat von Endor

    Logisch. Das extraconfigmenu.uc.js Script sucht nur im chrome Ordner nach Scripten.
    Wenn er da nichts finden dann wird auch nichts angezeigt.

    Und kann man es nicht so ändern, dass es auch im Unterordner sucht?

  • Im ExtraConfigMenu.uc.js werden die Scripte nicht mehr angezeigt.

    • omar1979
    • 11. Juli 2023 um 07:22

    Hallo allen..

    habe vor ein paar Tagen die Scripte vom Chrome-Ordner in einem Unterordner mit dem Namen "Script" verschoben.

    Nun hab ich heute bemerkt, dass wenn ich auf das ExtraConfigMenu.uc.js-Icon klicke, dort die Scripte-Anzahl nicht angezeigt wird.

    Was muss ich im ExtraConfigMenu.uc.js ändern, damit die Scripte-Anzahl wieder angezeigt wird? Besten Dank.

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

    • omar1979
    • 11. Juli 2023 um 02:34

    Ich hab diese Zeile bei mir so:

    let strCountOut = " (🔗= " + menuitemCount + " - 📁= " + menuCount + ")"

    Und sieht so aus:

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

    • omar1979
    • 7. Juli 2023 um 21:48
    Zitat von Horstmann

    Ganz wild geraten, evtl. mal sowas probieren? :

    Du bist mein Retter! Dankeschön.

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

    • omar1979
    • 7. Juli 2023 um 21:11
    Zitat von Horstmann

    Ob das in deinen Leisten so funktioniert, oder überhaupt voll funktionsfähig ist, das müsstest du ausprobieren, ich hab's nur kurz angetestet in meinem Testprofil für solche Sachen; ist schon ein eher spezieller Anwendungsfall.

    Ich hab versucht, so wie du beschrieben hast es zu machen.

    Code
    let fp-statusbar-1 = document.getElementById('fp-statusbar-1');
            let bmbMenu = document.getElementById('bookmarks-menu-button');
            let bookMenu = document.getElementById('bookmarksMenu');
            let persToolBar = document.getElementById('PersonalToolbar');
    
            if(fp-statusbar-1)
                fp-statusbar-1.addEventListener('popupshowing', onPopupShowing );        
            if(bmbMenu)
                bmbMenu.addEventListener('popupshowing', onPopupShowing ); 
            if(bookMenu)
                bookMenu.addEventListener('popupshowing', onPopupShowing ); 
            if(persToolBar)
                persToolBar.addEventListener('popupshowing', onPopupShowing ); 
    Alles anzeigen

    das fp-statusbar-1 ist die ID von dieser Leiste, die jetzt der Lesezeichen-Ordner drauf ist auf dem Bild, aber es funkt nicht. Hab ich da was falsch gemacht?

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

    • omar1979
    • 7. Juli 2023 um 19:41
    Zitat von BrokenHeart

    Keine Ahnung wie du das genau meinst. Aber das Skript mit dem Lesezeichen-Button funktioniert sogar in der Statusleiste vom Firefox... :/

    Ich benütze den Lesezeichen-Button nicht und die Lesezeichen-Symbolleiste auch nicht. Wenn ich meine Lesezeichen-Ordner auf eine Zusatz-Leiste verschiebe, dann funkt das Script nicht.

    Ich hoffe jetzt ist es verständlicher. :)


    Hier sind die Ordner auf dem Lesezeichen-Symbolleiste wo das Script funkt.

    Hier sind die Ordner auf einer Zusatz-Leiste, wo das Script nicht funkt.

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