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

Beiträge von grisu2099

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

    • grisu2099
    • 9. Juli 2023 um 16:34

    Nein, diese Anzeige ist mit dem Skript aus #151 richtig!

    Wenn du bei den Ordnern die führende 0 willst, mußt du Zeile 58 wie folgt ändern:

    Code
                  let strCountOut =  + String(menuCount).padStart(2, '0') + " Ordner / " + String(menuitemCount).padStart(2, '0') + " Links"
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • grisu2099
    • 9. Juli 2023 um 16:10

    Kann man ;)

    Nimmst du diese Version:

    Code
    (function() {
    
        if (!window.gBrowser)
            return;
        
        setTimeout(function() {
            setFunction();
        },50);
    
        function setFunction() {
    
            const css =`
                .countClass::after {
                    content: attr(data-value); 
    //                color: lightgreen;
                    color: yellow;
                    padding-right: 11px;
                }
            `;
    
            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 persToolBar = document.getElementById('PersonalToolbar');
            let bookMenu = document.getElementById('bookmarksMenu');
            
            persToolBar.addEventListener('popupshowing', onPopupShowing );
            bookMenu.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.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++;
                      }
                    }
                  }
                  
                  let label = item.childNodes[3]; //label.menu-iconic-text
      
                  label.classList.add('countClass');
                  let strCountOut =  + menuCount + " / " + String(menuitemCount).padStart(2, '0')
                  label.setAttribute('data-value', strCountOut);
    
                }, 100);
            }
        }
        
    })();
    Alles anzeigen
  • BackupProfile.uc.js - div. Fragen dazu

    • grisu2099
    • 8. Juli 2023 um 14:57

    Versuch mal diese Version:

    JavaScript
    // ==UserScript==
    // @name           BackupProfile.uc.js
    // @namespace      BackupProfile.github.com
    // @description    Schaltfläche zum Sichern des Firefoxprofils
    // @charset        UTF-8
    // @author         ywzhaiqi、defpt
    // @version        v2018.01.10
    // @note           Vorlage Script von ywzhaiqi (+ Mischung aus diversen Varianten aus dem Fuchsforum 1.11.21)
    // @note           Sicherungsdatei enthaelt auch Profilname
    // @reviewURL      http://bbs.kafan.cn/thread-1758785-1-1.html
    (function () {
        ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
        CustomizableUI.createWidget({
            id : "Backup-button",
            defaultArea : CustomizableUI.AREA_NAVBAR,
            label : "Profilsicherung",
            tooltiptext : "Sichern der aktuellen TEST-Konfiguration",
            onClick: function(){
                // Speicherort - Ordner festlegen - Sichern funktioniert nur wenn Speicherort- bzw. Ordner vorhanden ist!!
                var path = "F:\\Firefox-Sicherung\\";
                // var path = "";
                // Ausschlussliste
                var excludes = 'bookmarkbackups *cache* crashes fftmp *healthreport* minidumps safebrowsing *webapps* saved-telemetry-pings *thumbnails* *session* *Telemetry* *hotfix* *.sqlite-shm *.sqlite-wal *.bak parent.lock blocklist.xml content-prefs.sqlite directoryLinks.json mimeTypes.rdf compatibility.ini parent.lock formhistory.sqlite';
    
    
                if (!path) {
                    var nsIFilePicker = Ci.nsIFilePicker;
                    var FP = Cc['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
                    FP.init(window, 'Sicherungspfad wählen', nsIFilePicker.modeGetFolder);
    
                    if (FP.show() == nsIFilePicker.returnOK) {
                        path = FP.file.path;
                    } else {
                        return false;
                    }
                }
    
                excludes = excludes.replace(/\./g, '\\.').replace(/\*/g, '.*').replace(/\s+/g, '|');
                excludes = new RegExp(excludes, 'i');
    
                var zw = Cc['@mozilla.org/zipwriter;1'].createInstance(Ci.nsIZipWriter);
                var pr = {PR_RDONLY: 0x01, PR_WRONLY: 0x02, PR_RDWR: 0x04, PR_CREATE_FILE: 0x08, PR_APPEND: 0x10, PR_TRUNCATE: 0x20, PR_SYNC: 0x40, PR_EXCL: 0x80};
                var fu = ChromeUtils.importESModule('resource://gre/modules/FileUtils.sys.mjs').FileUtils;
                var dir = new FileUtils.File(PathUtils.join(PathUtils.profileDir,[]));
                
                let d = new Date();
                d = d.getDate().toString().padStart(2, '0') + '.' + (d.getMonth() + 1).toString().padStart(2, '0') + '.' + d.getFullYear() + ' - ' +  d.getHours().toString().padStart(2, '0') + '\u2236' + d.getMinutes().toString().padStart(2, '0');
    
                // Die folgende Zeile formt den Archivnamen
                var archiveName = 'Profil RALF ' + AppConstants.MOZ_APP_VERSION_DISPLAY + ' - ' + d + '.zip';  /* 'd' ersetzt 'localnow' */ 
            
                var xpi = fu.File(path + '\\' + archiveName);
    
                zw.open(xpi, pr.PR_RDWR | pr.PR_CREATE_FILE | pr.PR_TRUNCATE);
                var dirArr = [dir];
                for (var i=0; i<dirArr.length; i++) {
                    var dirEntries = dirArr[i].directoryEntries;
                    while (dirEntries.hasMoreElements()) {
                        var entry = dirEntries.getNext().QueryInterface(Ci.nsIFile);
                        if (entry.path == xpi.path) {
                            continue;
                        }
    
                        if (entry.isDirectory()) {
                           dirArr.push(entry);
                        }
    
                        var relPath = entry.path.replace(dirArr[0].path, '');
                        if (relPath.match(excludes)) {
                            continue;
                        }
    
                        var saveInZipAs = relPath.substr(1);
                        saveInZipAs = saveInZipAs.replace(/\\/g,'/');
                        // Konfigurationsdateien können gesperrt werden
                        try {
                            zw.addEntryFile(saveInZipAs, Ci.nsIZipWriter.COMPRESSION_FASTEST, entry, false);
                        } catch (e) {}
                    }
                }
                zw.close();
                alert('Die aktuelle Konfiguration wurde als:\n'+ archiveName +'\ngesichert in:\n' + path);
    
                function alert(aString, aTitle) {
                    Cc['@mozilla.org/alerts-service;1'].getService(Ci.nsIAlertsService).showAlertNotification("", aTitle, aString, false, "", null);
                }
    
                function bupgetCurrentProfileName(){
                    function readFile(aFile){
                        var stream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream);    stream.init(aFile, 0x01, 0, 0);
                        var cvstream = Cc["@mozilla.org/intl/converter-input-stream;1"].createInstance(Ci.nsIConverterInputStream);
                        cvstream.init(stream, "UTF-8", 1024, Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER);
                        var content = "", data = {};
                        while (cvstream.readString(4096, data)) {
                            content += data.value;
                        }
                        cvstream.close();
                        return content.replace(/\r\n?/g, "\n");
                    }
                    var PrefD = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("PrefD", Components.interfaces.nsIFile);
                    var ini = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("AppRegD", Components.interfaces.nsIFile);
    
                    ini.append("profiles.ini");
                    var ini = readFile(ini);
                    var profiles = ini.match(/Name=.+/g);
                    var profilesD = ini.match(/Path=.+/g);
                    for ( var i = 0; i < profiles.length;i++) {
                    if ((profilesD[i]+"$").indexOf(PrefD.leafName+"$") >= 0) {
                        profiles[i].match(/Name=(.+)$/);
                        return RegExp.$1;
                        }
                    }
                    return null;
                }
            },
        });
    
        var cssStr = '@-moz-document url("chrome://browser/content/browser.xhtml"){'
             + '#Backup-button .toolbarbutton-icon {'
             + 'list-style-image: url("file:///F:/FIREFOX-ICONS/Icons/backupProfile.png")'
             + '}}';
        var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
        var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
        sss.loadAndRegisterSheet(ios.newURI("data:text/css;base64," + btoa(cssStr), null, null), sss.USER_SHEET);
    })();
    Alles anzeigen

    Speicherpfad, Archivname und das Icon mußt du dir natürlich anpassen... ;)

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

    • grisu2099
    • 7. Juli 2023 um 22:11

    Ich habe die Anzeige noch mal durchgemischt... ;)

    Falls jemand Interesse hat:

    JavaScript
    (function() {
    
        if (!window.gBrowser)
            return;
        
        setTimeout(function() {
            setFunction();
        },50);
    
        function setFunction() {
    
            const css =`
                .countClass::after {
                    content: attr(data-value);
                    color: yellow;
                    padding-right: 20px;
                }
            `;
    
            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 bookMenu = document.getElementById('bookmarksMenu');
            let persToolBar = document.getElementById('PersonalToolbar');
            
            bookMenu.addEventListener('popupshowing', onPopupShowing ); 
            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.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++;
                      }
                    }
                  }
                  
                  let label = item.childNodes[3]; //label.menu-iconic-text
      
                  label.classList.add('countClass');
                  let strCountOut =  + menuCount + " Ordner / " + String(menuitemCount).padStart(2, '0') + " Links"
                  label.setAttribute('data-value', strCountOut);
    
                }, 100);
            }
        }
        
    })();
    Alles anzeigen

    Nochmal Danke an alle Beteiligten. :thumbup:

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

    • grisu2099
    • 7. Juli 2023 um 21:42
    Zitat von grisu2099

    Könnte mir vorstellen, das sich auch andere dann darauf stürzen.

    Ich hab doch geahnt, daß das wieder ausartet... :D :D :saint:

    Aber immer wieder toll, was wir hier gemeinsam hinkriegen können. :thumbup:

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

    • grisu2099
    • 7. Juli 2023 um 21:28

    Wieder zu kompliziert gedacht... ;)

    Danke!

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

    • grisu2099
    • 7. Juli 2023 um 21:21
    Zitat von Sören Hentzschel
    Code
    let strCountOut = " ("+ "Ordner: " + String(menuCount).padStart(2, '0') + " / Links: " + String(menuitemCount).padStart(2, '0') + ")"

    Könnte mir bitte noch jemand erklären, wie ich bei der Anzeige die Klammern wegbekomme?

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

    • grisu2099
    • 7. Juli 2023 um 16:34

    So, nachdem ich alle neuen Posts durch habe, löse ich auf:

    Es war gestern Abend doch schon zu spät. Ich habe den ganzen Abend im Lesezeichen-Menü geschaut - da konnte dann ja noch nix funktionieren.. ;(

    Sorry für das Durcheinander! :saint:

    Mit der Version aus #78 ist alles so, wie ich mir das gewünscht habe!

    Vielen, vielen Dank an BrokenHeart für die tolle Arbeit! :thumbup: :thumbup:

    Danke auch an die, die mitgetestet haben.

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

    • grisu2099
    • 6. Juli 2023 um 23:54

    Nochmals getestet in neuem Nightly-Profil.

    Nur Restart-Skript und dein Skript aus #34.

    Restart läuft, das andere nicht...

    Morgen such ich weiter - gute Nacht erstmal... ;)

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

    • grisu2099
    • 6. Juli 2023 um 23:39
    Zitat von BrokenHeart

    Hast du auch mal die 'userChromeShadow.css' ausgeschaltet, falls von dir benutzt?

    Auch dann keine Besserung.

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

    • grisu2099
    • 6. Juli 2023 um 23:24
    Zitat von BrokenHeart

    Steht bei euch eine Fehlermeldung in der Konsole bzgl. dieses Skripts?

    Kann hier nichts finden.

    Zitat von BrokenHeart

    Habt ihr mal alle sonstigen Skripte entfernt?

    Hab ich - in beiden Firefox-Versionen und auf beiden Rechnern.

    Zitat von BrokenHeart

    Läuft bei euch dieses (Original-)Skript?

    Das läuft einwandfrei...

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

    • grisu2099
    • 6. Juli 2023 um 22:54
    Zitat von harff182

    Hattu UTF8 in N++ eingestellt?

    Hab ich.. :D

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

    • grisu2099
    • 6. Juli 2023 um 22:38

    Sämtliche Skripte laufen, nur dieses nicht.

    Auf beiden Rechnern per "Kopieren"-Button in Notepad++ übertragen und im Skripte-Ordner eingefügt.

    Danach Neustart des Fuchses per Restart-Button.

    Zitat von 2002Andreas

    Das ganze Skript nicht, oder nur das mit der Farbe?

    Das komplette Skript läuft nicht.

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

    • grisu2099
    • 6. Juli 2023 um 22:19

    Ändert auch nix...

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

    • grisu2099
    • 6. Juli 2023 um 22:13

    Bei mir nicht... ;(

    Gerade auf einem zweiten Rechner getestet.

    Beide aktuelles Win11 und jeweils Firefox 115 und 117.0a1

    Auf beiden Rechnern mit und ohne CSS getestet.

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

    • grisu2099
    • 6. Juli 2023 um 21:56

    Funktioniert leider weder in Version 115 noch in der Nightly - auch nicht, wenn ich den kompletten CSS-Vodoo abschalte. :/

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

    • grisu2099
    • 6. Juli 2023 um 21:12

    Ich persönlich fände es hinter dem Ordnernamen schöner - aber wenn es nicht anders geht, müßte ich damit anfreunden. :/

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

    • grisu2099
    • 6. Juli 2023 um 19:13

    Ich wußte ja nicht, daß du in dieser Causa am werkeln bist... ;)

    Dann harre ich mal der Dinge, die da (hoffentlich) bei rauskommen. Könnte mir vorstellen, das sich auch andere dann darauf stürzen. :D

    Danke auf jeden Fall schon mal für den Versuch! :thumbup:

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

    • grisu2099
    • 6. Juli 2023 um 18:38

    Schade, daß hier niemand eine Lösung anbieten kann... ;(

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

    • grisu2099
    • 3. Juli 2023 um 16:46
    Zitat von Mira_Belle

    dass ich von JavaScript wenig bis gar keine Ahnung habe.

    Was meinst du, warum ich gefragt habe...

    ich habe von JavaSkript auch (fast) keinen Schimmer.

    Vielleicht hat ja einer der Skriptkundigen eine Idee. :/

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