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

  • Nervige "Du musst Neustarten"-Sperre abstellen, ohne Updates zu deaktivieren

    • Mira_Belle
    • 20. Juli 2023 um 11:06

    Dass die gleichzeitige Nutzung von zwei und/oder mehreren Profilen so nicht vorgesehen sind, kann man schon erkennen,

    wenn man eine ganz normale Installation durchführt und danach den Firefox dazu überredet, eben per Parameter,

    weitere Profile anzulegen.

    Es öffnet sich dann nämlich ein Abfragefenster, wo man ein Profil auswählen soll!

    Dass Du es irgendwie hinbekommen hast, mit mehreren Profilen gleichzeitig zu arbeiten, entspricht eben nicht dem Standard.

    Ergo brauchst Du auch nicht weiterzugraben. Es ist, wie es ist.

    Und was das hier angeht,

    Zitat von KringelBrot73

    ... Wie soll Instanz B bemerken, dass die Build-ID nicht passt (was erst nach Austausch der Programmdateien durch das Update der Fall ist), wenn die Instanz A nach dem schließen auf das Beenden Instanz B wartet, um das Update durchzuführen?


    Ist es auch ganz einfach!

    Das Update tauscht Dateien im Programmordner aus, und Deine laufende Instanz erwartet aber andere Versionen von einigen Dateien.

    Wenn das geschieht, kommt halt die Meldung, die Du so hasst.

  • In diesem Script NACH dem Text "Anzahl Ordner / Anzahl Links." bzw. "Anzahl Ordner / Anzahl Link(s) -> Link(s) in Tab(s) öffnen" einen Separator setzen.

    • Mira_Belle
    • 20. Juli 2023 um 10:31
    Zitat von omar1979

    Also mir wurde nicht übel. :)

    kA warum du mich zitiert hast. :)

    Äh, ich habe BrokenHard zitiert.

    Und mein Kommentar bezieht sich auch nur auf seinen Kommentar.

    Achtung! => <X =O ...

    Ok, ich hätte den Teil, wo er Dir geantwortet hat auch noch entfernen können.

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

    • Mira_Belle
    • 20. Juli 2023 um 10:20
    Zitat von Horstmann

    Soso, Herausforderungs-Taktiken benutzen wir! ;)

    Hat geklappt, probier mal das hier; eine vereinfachte Version mit nur einem Icon, so eingerichtet wie in deinem Screenshot.

    Farben, Abstände etc. sind wie beschrieben einstellbar, dein Icon ebenfalls wie beschrieben einbauen.

    Nicht so ganz :!:

    Die Herausforderung besteht darin, dass wenn 0 "Unterordner" vorhanden sind, eben diese auch nicht angezeigt werden.

    Ebenso bei "Links".

    Schau Dir noch einmal ganz genau das Pic von Mitleser an.

    Und an dieser Stelle bin ich dann raus, bin mir zwar sicher, dass das umzusetzen geht, aber das überschreitet dann doch

    ganz gewaltig mein Wissen.

    Dieses ganze "wenn-dann Gedöns" blicke ich nicht so wirklich und dann auch noch die Bedingungen,

    wenn ich es sehe, dann verstehe ich es, aber selber drauf kommen, :thumbdown: :!:

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

    • Mira_Belle
    • 19. Juli 2023 um 23:55
    Zitat von Horstmann
    ...
    JavaScript
    // JavaScript Document
    // BookmarkCount_Mod.uc.js - modified for element separation #7x TEST
    // Author BrokenHeart
    // Source file https://www.camp-firefox.de/forum/thema/136572/?postID=1229536#post1229536
    // Endor Repository Link Source https://github.com/Endor8/userChrome.js/blob/master/Firefox%20115/BookmarkCount.uc.js
    // Modified by Mira_Belle / Horstmann / Forum members
    
    (function() {
    
        if (!window.gBrowser) return;
        
        setTimeout(function() {
            setFunction();
        },50);
    
        //Custom icons in profile/chrome/icons folder
        //Option to use Firefox icons at bottom of CSS section
    
        let profilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'))
        let icon1 = "YourFolderIcon.png"
        let icon2 = "YourLinkIcon.svg"
    
        function setFunction() {
    
            const css =`
    
    
                /*/////  FCE = First counter element / SCE = Second counter element  /////*/
                /*/////  CSA = Center space adjustment  /////*/
    
    
                /*////////  Adjustments  ////////*/
    
                :root {
    
                    /***  CSA = Center space adjustment / left - right margin  ***/
                    /* distance counter1  <->  divider  <->  SCE ???? */
    
                    --center_base_margin: 6px;
                    --fine_tune_margin: 1px;                            /* adjust left margin for font/letter width */
                    --center_inline_margin: 
                        calc(var(--center_base_margin) + var(--icon_reduce_size)/2 - var(--fine_tune_margin))
                        var(--center_base_margin);
    
                    /**  Divider / optional  **/
                    --divider_width: 1px;                      /* divider width, 0px to hide divider */
                    --divider_height: 12px;                               /* divider height max 16px */
                    --divider_color: red;                   /* divider color, default currentColor ? */
    
                    /**  Basic margin  **/
                    --basic_distance: 4px;                     /* Base distance between all elements */
    
                    /**  Icon - adjust CSA after changes **/
                    --icon_size: calc(16px - var(--icon_reduce_size));      /* icon size, default 16px */
                    --icon_reduce_size: 2px;                                  /* icon smaller by amount */
    
                    /**  Fonts  **/
                    /*--counter_fontsize: 11px;*/            /* font size, un-comment to change default */
                    /*--counter_fontweight: 800;*/         /* font weight, un-comment to change default */
                    --counter_fonts: "Droid Sans Mono", "Andale Mono", monospace;
                }
    
    
                /*/////  Icons  /////*/
    
                /*//  Use custom icons  //*/
                :root {
                    --icon_image_1: url(${profilePath}/${icon1});   
                    --icon_image_2: url(${profilePath}/${icon2});   
                }
    
                /*//  No custom icons? No problem! / un-comment to use Firefox icons  //*/
                /*:root {
                    --icon_image_1: url("chrome://global/skin/icons/folder.svg") ;   
                    --icon_image_2: url("chrome://browser/skin/bookmark-hollow.svg");   
                }*/
    
    
    
                /* Fix container content vertical centering for FCE */
                hbox.menu-accel-container.countClass1 {
                    align-items: center !important;
                }
    
    
                /*/////////  FCE / Folder counter element  /////////*/
    
                /* FCE minimum distance to left for narrow windows */
                hbox.menu-accel-container.countClass1 {
                    margin-left: 16px !important;
                }
    
               .countClass1 label {
                    height: var(--divider_height) !important;
                    width: var(--divider_width) !important;
                    background-color: var(--divider_color) !important;
                    order: 1;
                    margin-inline: var(--center_inline_margin) !important;
                }
               /* Icon 1 */
                .countClass1::before {
                    content: "";
                    background-image: var(--icon_image_1);                           /* icon1 */
                    background-repeat: no-repeat;
                    background-size: var(--icon_size);                               /* icon1 size */
                    background-position: center;
                    margin-right: calc(var(--basic_distance) - var(--icon_reduce_size)/2) !important;
                    height: 16px;
                    width: 16px;
                    /*fill: green;*/                        /* .svg icon color / opacity if applicable */
                    fill-opacity: 1;
                }
               /* Counter 1 */
                .countClass1::after {
                    content: attr(data-value1) !important;
                    font-family:  var(--counter_fonts) !important;
                    font-size: var(--counter_fontsize) !important;
                    font-weight: var(--counter_fontweight) !important;
                    /*color: red !important;*/                                             /*  text1 color */
                }
    
    
                /*/////////  SCE / Items/links counter element  /////////*/
    
                /* Icon 2 */
                .countClass2::before {
                    content: "";
                    background-image: var(--icon_image_2);                           /* icon2 */
                    background-repeat: no-repeat;
                    background-size: var(--icon_size);                                /* icon2 size */
                    background-position: center;
                    margin-right: calc(var(--basic_distance) - var(--icon_reduce_size)/2) !important;
                    height: 16px;
                    width: 16px;
                    /*fill: red;*/                             /* .svg icon color / opacity if applicable */
                    fill-opacity: 1;
                }
               /* Counter 2 */
                .countClass2::after {
                    content: attr(data-value2);
                    font-family:  var(--counter_fonts) !important;
                    font-size: var(--counter_fontsize) !important;
                    font-weight: var(--counter_fontweight) !important;
                    /*color: red !important;*/                                              /* text2 color */
                }
               /* Arrow right */
                /* Move arrow to the right, margins */
                .countClass2 image {
                    order: 1;
                    margin-left: var(--basic_distance) !important;  /* distance Counter2 <-- arrow */
                    margin-right: 0px !important;                       /* distance arrow  -->  box border */
                }
    
    
               /*///  Testing stuff  ///*/
    
                /*  Outline only for testing  */
                /*
                menu.menu-iconic.bookmark-item {
                     outline: 1px solid orange !important;
                     outline-offset: -8px !important;
                }
                */
               /*  Background/ outline only for testing  */
                /*
                .countClass1::after, .countClass2::after {
                     outline: 1px solid green !important;
                     outline-offset: -1px !important;
                     background-color: gainsboro;
                }
                */
                /*
                .countClass1, .countClass2 {
                     outline: 1px solid green !important;
                     outline-offset: -1px !important;
                     background-color: gainsboro;
                }
                */
    
              /*  Some fonts not centered Fix, optional, experimental  */
               /*
                .countClass1::after, .countClass2::after {
                     height: var(--counter_fontsize) !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;
    
                  // FCE First counter, 2 digits // Numbers aligned right // use padEnd for left
                  let label1 = item.childNodes[3];
                  label1.classList.add('countClass1');
                  //let strCountOut1 = String(menuCount).padStart(2,  '\xa0');  // Keine Klammern // No Brackets
                  let strCountOut1 = String("[" + menuCount + "]").padStart(4,  '\xa0');     // Klammern // Brackets
                  label1.setAttribute('data-value1', strCountOut1);
    
                  // SCE Second counter, 3 digits // Numbers aligned right // use padEnd for left
                  let label2 = item.childNodes[4];
                  label2.classList.add('countClass2');
                  //let strCountOut2 = String(menuitemCount).padStart(3, '\xa0');  // Keine Klammern // No Brackets
                  let strCountOut2 = String("[" + menuitemCount + "]").padStart(5,  '\xa0');    // Klammern // Brackets
                  label2.setAttribute('data-value2', strCountOut2);
    
                }, 100);
            }
        }    
    })();
    Alles anzeigen

    =O Das ist ein Moloch!

    Aber ich bin mal gespannt, was Du aus dem Jacascript von mir und Deinem CSS so machst.

    Viel spass wüsch ich Dir.


    Zitat von Mitleser

    Bingo!

    So hätte ich das gerne, aber mit einer .svg-Datei.

    Schaffe ich aber nicht...

    Sorry, aber da ich mich mit CSS noch weniger auskenne wie Horstmann

    und auch mit Javascript nur so einigermaßen zurechtkomme,

    würde ich vorschlagen, du rufst nach unserem Meister BrokenHeart.

    Eventuell kann er was aus dem Hut zaubern, was Deinen Wünschen entspricht.

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

    • Mira_Belle
    • 19. Juli 2023 um 23:00

    :/ Kopfkratz.

    Horstmann

    Möchte er, dass das Ordnersymbol nur dann erscheint, wenn auch ein Ordner vorhanden ist?

    Ich weiß wirklich nicht, was er will!

    Bin gerade total plemplem.

    Zu viel gerade mit den Variablen herumgespielt.

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

    • Mira_Belle
    • 19. Juli 2023 um 22:51
    Zitat von Mitleser

    Mira_Belle

    Horstmann

    Ich hätte einen Wunsch, bekomme es aber einfach nicht hin:

    Könnte man hier statt einem 'emoticon' ein eigenes Icon einbauen?

    Das eben nur bei diesen vorgegebenen Bedingungen erscheint?

    Das funkt wohl nicht mit 'Strings'?

    Alles anzeigen

    Kannst Du das noch mal irgendwie anders erklären?

    Vielleicht auch mit Bildchen?

    Denn ich stehe gerade total auf'em Schlauch.

  • In diesem Script NACH dem Text "Anzahl Ordner / Anzahl Links." bzw. "Anzahl Ordner / Anzahl Link(s) -> Link(s) in Tab(s) öffnen" einen Separator setzen.

    • Mira_Belle
    • 19. Juli 2023 um 22:47
    Zitat von BrokenHeart
    Zitat von Mira_Belle

    #bookmarksToolbarFolderPopup > menu > menupopup > menu > menupopup > menu > menupopup > menuseparator

    <X =O ...

    Zitat von omar1979

    Diese Code funkt, nur im Menü Lesezeichen, wenn man viele Unterordner hat funkt es nach einigen Unterordnern nicht mehr.

    Ungetestet (für Menü-Lesezeichen):

    CSS
    menuseparator:not(.bookmarks-actions-menuseparator) {
        display: none !important;
    }
    
    #bookmarksMenuPopup .bookmarks-actions-menuseparator {
        border-top: 3px solid red !important;
    }

    Sorry, ich wusste es nicht besser. :saint:

    Musst Dir ja nicht gleich übel werden. ^^

    Aber danke. :thumbup:

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

    • Mira_Belle
    • 19. Juli 2023 um 22:23
    Zitat von Mira_Belle

    Jetzt könnte man ja noch die Defaultfarben und -werte im Settingsbereich ergänzen.

    Hätt' ich auch etwas früher drauf kommen können :!:

    8o

    JavaScript
        // CUSTOM SETTINGS
        let icon1 = "folder_org.svg"            // custom icon for folder
        let icon2 = "bookmark-hollow.svg"       // custom icon for links
        let cs_txt_color = "currentColor";      // Text Farbe, default "currentColor"
        let cs_basic_distance = 4;              // Base distance between all elements
        let cs_counter_fontsize = 12;           // Fontsize
        let cs_counter_fontweight = 600;        // Fontweight
        let cs_icon_color = "currentColor";     // .svg icon color / opacity if applicable, default "currentColor"
        let cs_counter_color = "currentColor";  // counter text color, default "currentColor"
        let cs_divider = 1;                     // 0 for no divider, 1 for divider
        let cs_divider_color = "currentColor";  // divider color, default "currentColor"
        let cs_divider_height = 12;             // divider height max 16
        let cs_divider_inline_margin = 6;       // distance counter1 - divider - SCB
        // CUSTOM SETTINGS END
    Alles anzeigen
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 19. Juli 2023 um 17:14

    Ich wer' ma machen.

    Denn ich finde es gar nicht so schwer,

    obwohl ich von Javascript noch von CSS wirklich Ahnung habe. :D

    Horstmann

    Habe fertig.

    Und so könnte es mit Variablen in Javascript aussehen.

    Aber gewonnen hätte man da auch nicht wirklich was :!:

    Einzig und alleine, dass es nur ganz am Anfang einen Bereich gäbe,

    wo Änderungen vorgenommen werden müssten.

    Also nur ein klitzekleiner Vorteil.

    JavaScript
    // JavaScript Document
    // BookmarkCount_Mod.uc.js - modified for element separation #7c Horst edition
    // Author BrokenHeart
    // Source file https://www.camp-firefox.de/forum/thema/136572/?postID=1229536#post1229536
    // Endor Repository Link Source https://github.com/Endor8/userChrome.js/blob/master/Firefox%20115/BookmarkCount.uc.js
    // Modified by Mira_Belle / Horstmann / Forum members
    
    
    
    (function() {
    
        if (!window.gBrowser) return;
        
        setTimeout(function() {
            setFunction();
        },50);
    
    
        //Custom icons in profile/chrome/icons folder
        //Option to use Firefox icons at bottom of CSS section
    
        let profilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'))
        let icon1 = "YourFolderIcon.png"
        let icon2 = "YourLinkIcon.svg"
    
    // JavaScript Document
    // BookmarkCount_Mod.uc.js - modified for element separation #7c Horst edition
    // Author BrokenHeart
    // Source file https://www.camp-firefox.de/forum/thema/136572/?postID=1229536#post1229536
    // Endor Repository Link Source https://github.com/Endor8/userChrome.js/blob/master/Firefox%20115/BookmarkCount.uc.js
    // Modified by Mira_Belle / Horstmann / Forum members
    
    
    
    (function() {
    
        if (!window.gBrowser) return;
        
        setTimeout(function() {
            setFunction();
        },50);
    
    
        //Custom icons in profile/chrome/icons folder
        //Option to use Firefox icons at bottom of CSS section
    
        let profilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'))
        
        
        // CUSTOM SETTINGS
    
        let icon1 = "folder_org.svg"            // custom icon for folder
        let icon2 = "bookmark-hollow.svg"       // custom icon for links
    
        let cs_txt_color = '#c0c0c0';           // Text Farbe
        let cs_basic_distance = 4;              // Base distance between all elements
        let cs_counter_fontsize = 12;           // Fontsize
        let cs_counter_fontweight = 600;        // Fontweight
        let cs_icon_color = "blueviolet";       // .svg icon color / opacity if applicable
        let cs_counter_color = "chartreuse";    // counter text color
        let cs_divider = 1;                     // 0 for no divider, 1 for divider
        let cs_divider_color = "red"            // divider color, default "currentColor"
        let cs_divider_height = 12;             // divider height max 16
        let cs_divider_inline_margin = 6;       // distance counter1 - divider - SCB
    
        // CUSTOM SETTINGS END
    
        function setFunction() {
    
            const css =`
    
                /***  Basics  ***/
    
                /* Fonts list monospace */
    
                :root { 
                    --counter_fonts: "Droid Sans Mono", "SF Mono", "Andale Mono", Consolas, "Lucida Console", "Courier New", monospace;   
                }
    
                /* Fix container content vertical centering for FCB */ 
                hbox.menu-accel-container.countClass1 {
                    align-items: center !important;
                }
    
                /***  FCB = First counter element / SCB = Second counter element  ***/
    
                /**  #1 FCB / Folder counter element  **/
    
                /* FCB minimum distance to left for narrow windows */
                hbox.menu-accel-container.countClass1 {
                    margin-left: 16px !important;
                }          
    
               .countClass1 label {
                    height: ${cs_divider_height}px !important;
                    width: ${cs_divider}px !important;
                    background-color: ${cs_divider_color} !important;           /* divider color */
                    order: 1;
                    margin-inline: ${cs_divider_inline_margin}px !important; 
                }
    
                /* Icon 1 */
                .countClass1::before {
                    content: "";
                    background-image: url(${profilePath}/${icon1});
                    background-repeat: no-repeat;
                    background-size: 16px;                                      /* icon1 size */
                    background-position: center;
                    margin-right: ${cs_basic_distance} !important;
                    height: 16px;
                    width: 16px;
                    fill: ${cs_icon_color};
                    fill-opacity: 1;
                }
    
                /* Counter 1 */
                .countClass1::after {
                    content: attr(data-value1) !important;
                    font-family:  var(--counter_fonts) !important;
                    font-size: ${cs_counter_fontsize}px !important;
                    font-weight: ${cs_counter_fontweight} !important;
                    color: ${cs_counter_color} !important;
                }
    
    
                /**  #2 SCB / Items/links counter element  **/
    
                /* Icon 2 */
                .countClass2::before {
                    content: "";
                    background-image: url(${profilePath}/${icon2});             /*  custom icon */
                    background-repeat: no-repeat;
                    background-size: 16px;                                      /* icon2 size */
                    background-position: center;
                    margin-right: ${cs_basic_distance} !important;
                    height: 16px;
                    width: 16px;
                    fill: ${cs_icon_color};
                    fill-opacity: 1;
                }
    
                /* Counter 2 */
                .countClass2::after {
                    content: attr(data-value2);
                    font-family:  var(--counter_fonts) !important;
                    font-size: ${cs_counter_fontsize}px !important;
                    font-weight: ${cs_counter_fontweight} !important;
                    color: ${cs_counter_color} !important;
                }
    
                /* Arrow right */
                /* Move arrow to the right, margins */
                .countClass2 image {
                    order: 1;    
                    margin-left: ${cs_basic_distance} !important;               /* distance Counter2 <-- arrow */    
                    margin-right: 0px !important;                               /* distance arrow  -->  box border */
                }
    
    
                /***  Extra stuff  ***/
    
                /**  No custom icons? No problem! / un-comment to use Firefox icons  **/ 
                /*
                .countClass1::before {
                    background-image: url("chrome://global/skin/icons/folder.svg");
                }
               .countClass2::before {
                    background-image: url("chrome://browser/skin/bookmark-hollow.svg");
                }
                */
    
                
    
               /** Testing stuff **/
    
                /*  Outline only for testing  */ 
                /*
                menu.menu-iconic.bookmark-item {
                     outline: 1px solid orange !important;
                     outline-offset: -8px !important;
                }
                */
    
                /*  Background/ outline only for testing  */ 
                /*
                .countClass1::after, .countClass2::after {
                     outline: 1px solid green !important;
                     outline-offset: -1px !important;
                     background-color: gainsboro;
                }
                */
                /*
                .countClass1, .countClass2 {
                     outline: 1px solid green !important;
                     outline-offset: -1px !important;
                     background-color: gainsboro;
                }
                */
    
    
               /*  Some fonts not centered Fix, optional, experimental  */
               /*
                .countClass1::after, .countClass2::after {
                     height: var(--counter_fontsize) !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;
                  item.style.color =  cs_txt_color;
    
                  
                  // FCB First counter, 2 digits // Numbers aligned right // use padEnd for left
                  let label1 = item.childNodes[3];
                  label1.classList.add('countClass1');
                  let strCountOut1 = String(menuCount).padStart(2,  '\xa0');  // Keine Klammern // No Brackets
    //              let strCountOut1 = String("[" + menuCount + "]").padStart(4,  '\xa0');     // Klammern // Brackets
                  label1.setAttribute('data-value1', strCountOut1);
    
                  // SCB Second counter, 3 digits // Numbers aligned right // use padEnd for left
                  let label2 = item.childNodes[4];
                  label2.classList.add('countClass2'); 
                  let strCountOut2 = String(menuitemCount).padStart(3, '\xa0');  // Keine Klammern // No Brackets
    //              let strCountOut2 = String("[" + menuitemCount + "]").padStart(5,  '\xa0');    // Klammern // Brackets
                  label2.setAttribute('data-value2', strCountOut2);
    
                }, 100);
            }
        }    
    })();
    Alles anzeigen

    Jetzt könnte man ja noch die Defaultfarben und -werte im Settingsbereich ergänzen.

  • In diesem Script NACH dem Text "Anzahl Ordner / Anzahl Links." bzw. "Anzahl Ordner / Anzahl Link(s) -> Link(s) in Tab(s) öffnen" einen Separator setzen.

    • Mira_Belle
    • 19. Juli 2023 um 17:12

    Ich glaube, ohne es jetzt ausprobiert zu haben

    CSS
    #bookmarksToolbarFolderPopup > menu > menupopup > menu > menupopup > menu > menupopup > menuseparator
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • Mira_Belle
    • 19. Juli 2023 um 15:36
    Zitat von Horstmann

    Danke für die Rückmeldung! :)

    ...

    --> Der Trennstrich: Zeile 60, Wert auf > 0px setzen.

    Ach Du heilige Sch....!

    Was hast Du denn da gemacht? 8|

    Also so einen Trennstrich hättest Du auch viel einfacher da reinbringen können,

    zumal der Code das ja auch schon hergibt.

    Aber schon irgendwie geil. :thumbup:


    Zitat von Horstmann

    Danke für die Rückmeldung! :)

    Die Idee dahinter ist aber eigentlich, durch mehr Code die Einstellungen zu vereinfachen, indem man wiederholt benutzte Parameter zentral an einer Stelle regelt.

    Und man kann immer noch manuell rangehen und die Variablen gezielt mit Festwerten ersetzen.

    Aber, das hätte ich dann aber mit Variablen im Skript umgesetzt,

    mit einem Hinweis in diesen Anpassungsbereich.

    Analog zu dem Teil => let icon1 = "folder_org.svg".
    Z.B.

    JavaScript
    // CUSTOM SETTINGS
    
    let cs_basic_distance = 4;    // Base distance between all elements

    und dann im CSS => margin-right: ${cs_basic_distance)px !important;

    Aber es geht ja auch so, wie Du die Variablen umgesetzt hast.

    Jede/r wie er/sie mag. :love:

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

    • Mira_Belle
    • 19. Juli 2023 um 12:36

    Horstmann

    Du machst es Dir nicht einfach.

    Über Variablen hatte ich auch schon mal nachgedacht, mich aber dann letzten Endes dagegen entschieden!

    1. Aufwand, wegen meist nur zwei Werten.

    2. Es geht an individuellen Einstellmöglichkeiten verloren.

    Auch hätte ich, so mein Gedanke, eher in Javascript umgesetzt.

    Denn der CSS-Code wird, so empfinde ich es, doch recht aufgebläht und unübersichtlich.

    Wie "gesagt", so empfinde ich es.

    Unterm Strich, hast Du aber tollen Code abgeliefert, der mich weiterhin inspirieren wird.

    Eventuell übernehme ich auch den einen oder anderen Gedanken und/oder Codeschnipsel.

    ----------------------------------------------------------------------------------------------------------------------------------------------------

    Schlach die Axt!

    Bin ich blind oder was?

    An welcher Stelle wird denn bei Dir der Trennstrich  |  eingefügt?

  • In diesem Script NACH dem Text "Anzahl Ordner / Anzahl Links." bzw. "Anzahl Ordner / Anzahl Link(s) -> Link(s) in Tab(s) öffnen" einen Separator setzen.

    • Mira_Belle
    • 18. Juli 2023 um 22:27

    Ohoh, mein Fehler!

    War wohl zu schnell beim kopieren!

    CSS
    menuseparator:not(.bookmarks-actions-menuseparator) {
    display: none !important;
    }
    #historyMenuPopup > menuseparator,
    #bookmarksMenuPopup > menuseparator,
    #bookmarksToolbarFolderPopup > menuseparator,
    toolbarbutton menupopup[placespopup] menuseparator::before,
    #bookmarksToolbarFolderPopup > menu > menupopup > menuseparator,
    #bookmarksToolbarFolderPopup > menu > menupopup > menu > menupopup > menuseparator {
    border-top: 3px solid red !important;
    }
    Alles anzeigen
  • In diesem Script NACH dem Text "Anzahl Ordner / Anzahl Links." bzw. "Anzahl Ordner / Anzahl Link(s) -> Link(s) in Tab(s) öffnen" einen Separator setzen.

    • Mira_Belle
    • 18. Juli 2023 um 21:54
    Zitat von Horstmann

    Und ausserhalb der Menüleiste, geht's da auch?

    Nein :!:

    Zitat von omar1979

    Hast du auch Lesezeichen-Ordner auf dem Lesezeichen-Symbolleiste?

    Dort funktioniert es nicht. :)

    Hatte ich in der Tat nicht.

    Habe ich nachgeholt und kam zum gleichen Resultat, wie omar1979 schon gezeigt hat.

    Das hat mich aber mächtig an gestänkert.

    Nu probiere DAS.

    CSS
        menuseparator:not(.bookmarks-actions-menuseparator) {
            display: none !important;
        }
        #historyMenuPopup > menuseparator,
        #bookmarksMenuPopup > menuseparator,
        #bookmarksToolbarFolderPopup > menuseparator {
            border: 1px solid red !important;        
        }
        menu.menu-iconic > menupopup > menuseparator  {
            border: 1px solid red !important;        
        }
        toolbarbutton menupopup[placespopup] menuseparator::before {
            border-top: 3px solid red !important;
        }
    Alles anzeigen

    Die Strichstärke musst, kannst Du Dir ja noch anpassen. :*

  • Lesezeichenleiste wird nicht korrekt auf Startseite angezeigt

    • Mira_Belle
    • 18. Juli 2023 um 21:14
    Zitat von BrokenHeart
    ...

    Das ist das Symbol für die Erweiterung Tabliss

    Ah.

    Zitat von BrokenHeart

    Das ist das (per CSS-filter grau eingefärbte) Symbol aus dem bekannten Restart-Skript. Allerdings habe ich mir das Original-Symbol in einer höheren Auflösung neu zusammengebastelt. ...

    Danke.

  • In diesem Script NACH dem Text "Anzahl Ordner / Anzahl Links." bzw. "Anzahl Ordner / Anzahl Link(s) -> Link(s) in Tab(s) öffnen" einen Separator setzen.

    • Mira_Belle
    • 18. Juli 2023 um 21:13

    Das Ganze ließ mir keine Ruhe!

    Habe das ganze dann noch einmal in einem neuen Profil ausprobiert.


    Mein Kommentar, ich verstehe es nicht!

    Denn hier klappt es auf Anhieb.

  • In diesem Script NACH dem Text "Anzahl Ordner / Anzahl Links." bzw. "Anzahl Ordner / Anzahl Link(s) -> Link(s) in Tab(s) öffnen" einen Separator setzen.

    • Mira_Belle
    • 18. Juli 2023 um 19:36

    Funktioniert es denn jetzt?

    Und wenn sei, sei doch so lieb und markiere die Fehler in deinen Screenshots in Gelb!

    Bei dem vielen Blau und Rot, dick und dünn, bin ich mir nicht immer so sicher, was ich da zu sehen bekomme.

  • Lesezeichenleiste wird nicht korrekt auf Startseite angezeigt

    • Mira_Belle
    • 18. Juli 2023 um 19:28

    Off topping, sorry!

    BrokenHeart

    Du hast da so zwei ganz tolle Symbole, könntest Du sie mir zukommen lassen?

    1. In der Adressleiste das dritte von links

    und gleich das erste nach der Adressleiste, (Reload?)

  • Alternatives/Fallback Icon mit Javascript oder CSS festlegen?

    • Mira_Belle
    • 18. Juli 2023 um 15:35

    Horstmann

    Oh, ich hätte da was!

    Es geht um ein Skript, welches Icons in der Adresszeile einfügt!

    Kannst ja mal reinschnuppern.

    Es geht um diesen Teil!

    JavaScript
    var myPath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));  // Pfadangabe zum Profilordner
    var myPrefix = "firefox_logo_2004.svg";  // Name (& Dateiendung) des anzuzeigenden Symbols
    var mySuffix = ' ';  // Dateiendung des anzuzeigenden Symbols
    var Symbol = myPath + myPrefix + mySuffix;
    var i_icon = 'chrome://global/skin/icons/info.svg';
    var sheet = 'chrome://global/skin/icons/Portrait.png';
    var brand = 'chrome://branding/content/icon32.png';
    var globe = 'chrome://global/skin/icons/defaultFavicon.svg';
    var all = 'chrome://global/skin/icons/settings.svg';
    var avatar = 'chrome://browser/skin/fxa/avatar-empty.svg';
    var icon_for_pages_without_favicon = Symbol; // i_icon, sheet, brand, globe or all (colorized Fx channel icon)
    (function() {
        if (location.href !== 'chrome://browser/content/browser.xhtml') return;
            let fav = document.createXULElement('image');
            fav.setAttribute('id', 'faviconid');
            fav.setAttribute('class', 'faviconclass');
        gBrowser.tabContainer.addEventListener('TabAttrModified',
        function() {            
            let favicon = gBrowser.selectedTab.image;
            if (favicon && favicon.indexOf('icon32.png') === -1) {
                // if favicon is present and not 'icon32.png', set it as the source
                fav.src = favicon;        
                var position = document.getElementById('identity-icon');
                position.parentNode.insertBefore(fav, position.previousSibling);
            }
            else {
                // if no favicon is present or it is 'icon32.png', set a custom one
                fav.src = icon_for_pages_without_favicon;
                var position = document.getElementById('identity-icon');
                position.parentNode.insertBefore(fav, position.previousSibling);
            }
        }, false);
        fav.style.height = '16px';
        fav.style.width  = '16px';
        fav.style.marginLeft  = '7px';
        fav.style.marginRight  = '3px';
        fav.style.marginTop  = '2px';
    Alles anzeigen

    Da wird erst geprüft, ob es ein Favicon gibt, und es wird genutzt,

    oder, wenn es keines gibt, wird ein festgelegtes genommen.

    Hier ist z.B. gerade Symbol, also ein Icon im Pfad ausgewählt.

    Hier der Link zum kompletten Thread.

    RE: Eigene Icons für about:xxx in der Urlbar, bzw. im Container

  • Firefox merkt sich Einstellungen nicht

    • Mira_Belle
    • 18. Juli 2023 um 11:52

    Sorry, habe ich leider überlesen, das mit den "neuen" Profilen.

    Aber, wenn das Verhalten auch bei anderen Versionen des Firefox so ist, vermute ich eher den Fehler in Deinem BS!

    Irgendeine "Sicherheitssoftware" installiert?

    Erweiterungen in allen Firefoxinstallationen?

    Auf jeden Fall würde ich vermuten, dass da ein anderes Programm reingrätscht.

Unterstütze uns!

Jährlich (2025)

105,8 %

105,8% (687,41 von 650 EUR)

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