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

Beiträge von BrokenHeart

  • Schaltfläche um Lesezeichen Leiste ein/auszublenden ?

    • BrokenHeart
    • 24. November 2022 um 00:41
    Zitat von Mira_Belle

    Noch eine Frage, wie bekomme ich ein schwarzes Icon hell, invertiert?

    Mit einem Bildbearbeitungsprogramm? Wenn das Icon allerdings als *.ico vorliegt, dann schränkt das wohl die Auswahl an Programmen ein. Findet sich sicher hier jemand hier im Forum, der sich mit sowas auskennt...

    Hier noch das Skript mit etwas 'allgemeinerem Setting' (eingebautes Icon/Startwert für Leiste usw.), wenn das irgendwer sonst noch (außer Mira_Belle) nutzen möchte :

    JavaScript
    // JavaScript Document
    //Button_PersonalToolbar.uc.js
    (function ptbut() {
        
                
        if (location != 'chrome://browser/content/browser.xul' && location != 'chrome://browser/content/browser.xhtml')
           return;
    
        const startVisibility = 'collapse'; //'visible' oder 'collapse'
        
        let autoCloseTime = 5000; // 0 = kein Auto-Close / >0 Zeit in Millisekunden
            
        let intervalID = 0;
    
        try {
            CustomizableUI.createWidget({
                id: 'PersonalToolbar-button',
                type: 'custom',
                defaultArea: CustomizableUI.AREA_NAVBAR,
                    onBuild: function(aDocument) {
                        var toolbaritem = aDocument.createXULElement('toolbarbutton');
                        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
                        var buttonicon = "toolbar.png"
                        var props = {
                            id: 'PersonalToolbar-button',
                            class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                            removable: true,
                            label: 'Toggle',
                            tooltiptext: 'Lesezeichenleiste ein-/ausblenden',
                            style: 'list-style-image:  url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAZlBMVEUAAADq9v/q9v/e5/Pk7vnl8Pr+//+4vLycoqL+///e5vPc5PG4vLycoqK4vLwAAABaoLD////q9v+4vLycoqI/VVlbeYDc5PDm8vvc5PHk7fnh6/be5/N0z+Py8u7AxMSxtrajqKj3fI9qAAAAEHRSTlMAzH/Mf8zMzMx/f39/f3wiqd97RQAAAHFJREFUGNOFzNkOhCAMheHOMIu7lCIi4Pb+LymLRu78kt78OSk86yj3b2DF3K+EVUTDwIPXG7YrzF4KRGmBGBe7QBRC30FqIq1DUIrz7wekQTTGxKcpWCJr7RmYD25ZnHMqYRXI0ZvCeSOroZe5ooVHBzl9Dd2iUw4kAAAAAElFTkSuQmCC)',
                        };
                        
                    
                        for(var p in props)
                            toolbaritem.setAttribute(p, props[p]);
                        return toolbaritem;
                        
                        
                    }
            });
            CustomizableUI.registerToolbarNode(tb);
        } catch(e) { };
    
        if( startVisibility === 'visible' || startVisibility === 'collapse' ) {
            document.getElementById('PersonalToolbar').style.visibility = startVisibility;
       }
        else {
            document.getElementById('PersonalToolbar').style.visibility = 'visible';
        }
            
        document.getElementById('PersonalToolbar-button').addEventListener( "click", onClick );
                    
    
        document.addEventListener('keydown', (event) => {
            // Mac : Funktion wird ausgeführt, wenn Shift + Cmd + b gedrückt wird
            //if (event.shiftKey /*&& event.metaKey */&& event.key == 'b') {
            if( event.key == "b" && event.ctrlKey && event.shiftKey) {
              onClick(event);        
            }
        }, false);
        
        function onClick(aEvent) {
    
            let persToolbar = document.getElementById('PersonalToolbar');
                
            if (persToolbar.style.visibility == "") {
                persToolbar.style.visibility = "collapse";    }
            else if (persToolbar.style.visibility == "visible") {
            persToolbar.style.visibility = "collapse"; }
            else if(persToolbar.style.visibility == "collapse") {
                persToolbar.style.visibility = "visible";
                if(!intervalID && autoCloseTime) {
                    intervalID =  aEvent.target.ownerGlobal.setInterval( autoClose, autoCloseTime ); 
                }
            }
          }
          
        
          
        function autoClose() {
            if( intervalID ) {
                let persToolbar = document.getElementById('PersonalToolbar');
                if( persToolbar.style.visibility == "visible") {
                    persToolbar.style.visibility = "collapse";
                    clearInterval(intervalID); 
                    intervalID=0;
                }
            }
        }
    })();
    Alles anzeigen

    Falls ich dich falsch verstanden haben sollte und du meintest 'programmatisch verändern', dann kannst du das mit einem CSS-Filter machen filter: invert(100%); (CSS-Filter).

  • Schaltfläche um Lesezeichen Leiste ein/auszublenden ?

    • BrokenHeart
    • 24. November 2022 um 00:19
    Zitat von Mira_Belle

    Sorry, verstehe ich nicht. Kannst Du mir die Zeilen benennen, wo ich noch nacharbeiten muss?

    Hast du doch schon:/. Du hast eine andere (deine) Version genommen und dort die Pfade für dich angepasst und den Startwert gesetzt ("collapse"). Mein Kommentar war nur als "verständnisvolles Nicken" gemeint, warum das, was du getan hast, notwendig war. ;)

  • Schaltfläche um Lesezeichen Leiste ein/auszublenden ?

    • BrokenHeart
    • 23. November 2022 um 23:36
    Zitat von Mira_Belle

    Vielen, vielen lieben Dank.

    Habe noch etwas daran herumgebastelt.

    Gerne! Skript basierte ja noch auf dem, was ich mal für @Horstmann angepasst hatte. Da stimmen natürlich die Pfade und ein paar andere Sachen (Startwert) nicht bei dir. Da ist natürlich noch eigene "Bastelarbeit" von Nöten ;).

  • Schaltfläche um Lesezeichen Leiste ein/auszublenden ?

    • BrokenHeart
    • 23. November 2022 um 22:21
    Zitat von 2002Andreas

    funktioniert hier einwandfrei

    Danke fürs Testen... :thumbup:

  • Skript für Add-ons Update

    • BrokenHeart
    • 23. November 2022 um 22:03
    Zitat von FuchsFan

    ansonsten grundsätzlich manuell.

    Da sollte es dann natürlich mit der Anzeige der "Verfügbaren Updates" funktionieren. Bei mir tut er das auch (eben noch mal getestet) .

  • Schaltfläche um Lesezeichen Leiste ein/auszublenden ?

    • BrokenHeart
    • 23. November 2022 um 21:58
    Zitat von Mira_Belle

    Also dass die Leiste automatisch z.B. nach 40 sec. wieder verschwindet.

    Bitte mal testen:

    (Wert ist zum Testen auf 5s eingestellt)

    JavaScript
    // JavaScript Document
    //Button_PersonalToolbar.uc.js
    (function ptbut() {
        
                
        if (location != 'chrome://browser/content/browser.xul' && location != 'chrome://browser/content/browser.xhtml')
           return;
    
        
        let autoCloseTime = 5000; // 0 = kein Auto-Close / >0 Zeit in Millisekunden
        
        let intervalID = 0;
    
        try {
            CustomizableUI.createWidget({
                id: 'PersonalToolbar-button',
                type: 'custom',
                defaultArea: CustomizableUI.AREA_NAVBAR,
                    onBuild: function(aDocument) {
                        var toolbaritem = aDocument.createXULElement('toolbarbutton');
                        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
                        var buttonicon = "toolbar.png"
                        var props = {
                            id: 'PersonalToolbar-button',
                            class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                            removable: true,
                            label: 'Toggle',
                            tooltiptext: 'Toggle Bookmarktoolbar',
                            style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) +'");',
                        };
                        
                    
                        for(var p in props)
                            toolbaritem.setAttribute(p, props[p]);
                        return toolbaritem;
                        
                        
                    }
            });
            CustomizableUI.registerToolbarNode(tb);
        } catch(e) { };
    
    
        document.getElementById('PersonalToolbar-button').addEventListener( "click", onClick );
        
                    
    
        document.addEventListener('keydown', (event) => {
            // Mac : Funktion wird ausgeführt, wenn Shift + Cmd + b gedrückt wird
            //if (event.shiftKey /*&& event.metaKey */&& event.key == 'b') {
            if( event.key == "b" && event.ctrlKey && event.shiftKey) {
              onClick(event);        
            }
        }, false);
        
        function onClick(aEvent) {
    
            let persToolbar = document.getElementById('PersonalToolbar');
                
            if (persToolbar.style.visibility == "") {
                persToolbar.style.visibility = "collapse";    }
            else if (persToolbar.style.visibility == "visible") {
            persToolbar.style.visibility = "collapse"; }
            else if(persToolbar.style.visibility == "collapse") {
                persToolbar.style.visibility = "visible";
                if(!intervalID && autoCloseTime) {
                    intervalID =  aEvent.target.ownerGlobal.setInterval( autoClose, autoCloseTime ); 
                }
            }
          }
          
        function autoClose() {
            if( intervalID ) {
                let persToolbar = document.getElementById('PersonalToolbar');
                if( persToolbar.style.visibility == "visible") {
                    persToolbar.style.visibility = "collapse";
                    clearInterval(intervalID); 
                    intervalID=0;
                }
            }
        }
    })();
    Alles anzeigen
  • Skript für Add-ons Update

    • BrokenHeart
    • 23. November 2022 um 20:10
    Zitat von FuchsFan

    Ich habe es bisher so verstanden, dass bei Bedienung des Button, dann automatisch immer zu "Verfügbare Updates" geleitet wird.

    Auf "Verfügbare Updates" soll(te) das Skript nur dann schalten, wenn du die automatische Aktualisierung ausgeschaltet hast, also alles auf manuelle Aktualisierung eingestellt ist:

    Nur dann machen die "Verfügbaren Updates" ja Sinn. Wenn er das schon automatisch aktualisiert hat, gibt es ja keine "Verfügbaren Updates" mehr, sind ja gerade alle upgedatet worden.

    Wenn er etwas zum Updaten gefunden hat, zeigt er bei einem automatischen Update dann die Seite mit den "kürzlich durchgeführten Updates" an (vielleicht meintest du ja auch diese Seite? :/ ).

    Und wie gesagt, wenn er nichts findet, zeigt er auch keine neue Seite an.

    Ich hoffe, es ist jetzt etwas klarer geworden.


    Zitat von FuchsFan

    Ansonsten schließe ich mich Andreas an, das Script macht ja das was es soll. Danke! :thumbup: :)

    Gerne freut mich auch, dass es bei dir (soweit oben beschrieben) läuft :) .

  • Skript für Add-ons Update

    • BrokenHeart
    • 23. November 2022 um 19:44
    Zitat von 2002Andreas

    Und das funktioniert mit dem neuen Skript für mich perfekt :)


    Also, nochmals danke dafür. :thumbup:

    Gerne. Freut mich wenn es bei dir funktioniert. :)

    ich habe noch eine kleine Änderung eingebaut, die nach dem Update (bei automatischem Update) auch wieder die zuletzt upgedateten Addons anzeigt. Das hat nicht immer zuverlässig funktioniert, da hier, wie ich weiter oben beschrieben habe, meiner Meinung nach ein Bug im Firefox vorliegt:

    Beitrag

    RE: Skript für Add-ons Update

    […]

    Nur das es eben mal funktioniert und mal nicht! Wie gesagt, es geht nicht um die Funktion des Skripts, sondern um die normale Firefox Funktionalität. Wenn ich einen gedanklichen Fehler dabei gemacht habe, dann hätte ich schon gerne eine Erklärung für das nachfolgende Verhalten :/ ?!

    Hier zwei Videos mit nicht funktionierender Anzeige:

    1. Video mit Firefox im Fehlerbehebungsmodus:



    2. Video mit meinem normalen Profil:



    Und hier ein Video mit funktionierender Anzeige:



    (Vorschau funktioniert…
    BrokenHeart
    19. November 2022 um 15:06

    Ob es jetzt immer funktionieren wird .... :?:

    Hier die neue Version:

    JavaScript
    (function() {
    
       if (!window.gBrowser){
            return;
        }
    
      CustomizableUI.createWidget({
        id: 'addons-update-button-ucjs',
        defaultArea: CustomizableUI.AREA_NAVBAR,
        label: 'Add-ons Update',
        tooltiptext: 'Add-ons aktualisieren',
        onCommand: onCommand,
        onCreated: function(button) {
            button.style.listStyleImage = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB9klEQVR42o2TP2gTURzHvwcRXqDDCzi8gww+cfACBRsoJAWXji0KzZFBxUELDoouOmnG6JQiWOogVAcpHUpvKDRLQbekoKRDJXHyLYHLIOQNhXtgBt+7u+SSpkq+w93xu9/vw++vhVj0MiUOyzicEo5LuFh/ACGV6PT6HflbKmOyzINnGdt5kPOKnBYxg5pCNu99apdEt9cLAYdPi4cr8+kVDGYJ10oB3mlQdzebqxZnlLZf5vsEwYzRkRTSyL1pZSznCuPtZ/zXlMcNV9e2FH2LBvCjDrAFoNsYueTeiashoPV4EkDWNrSzA/ltP2rwohumjZ9foI5qI7/8+yHgkT0CkGvLwK0q5KYLovzIWK6BXNf2754GVBPABz8GPEwAithQKQJ6JmJiBmqOQekGEyUTqAF8HALuJwDML4OY2gcK6us2EPQj+811Xf+J7kcrAXwOAZS37oyVcLsCFO5CHXvAQSWyLZaist6ugvRFAtg1gOw0QJrGFXTQmYyMcxRytwJyWp8YVAIoj/eAhoHh24nH2GmADHT95yad39MApm+gUbZ9OwVq1mNyWeKsppaEwB9ALu35drjKzwvs1YuFdHXa8V9bCNROgsrGce91CDCX6GbJkxJPr9sE9v+CfQXfE8H2fldtmYu0xn8a0IUZn0tgeMpGfwErbLqeHktDngAAAABJRU5ErkJggg==)';}
      });
    
      function onCommand(event) {
          
          let targetUpdateMessage=null;
          let categories=null;
                
          event.target.ownerGlobal.openTrustedLinkIn('about:addons', 'tab');
         
          addEventListener('pageshow', function onPageshow(event) {
            let document = event.target;
            if (document.URL != 'about:addons')
                return;
            removeEventListener('pageshow', onPageshow);
          
            categories = document.getElementById('categories');
            targetUpdateMessage = document.querySelector('#page-header .main-heading #updates-message');
    
            const configObserver = { attributes: true };
            const observerUpdateMessage = new MutationObserver(callback);
            
            observerUpdateMessage.observe(targetUpdateMessage, configObserver);    
    
            document.querySelector('addon-page-options panel-item[action="check-for-updates"]').click();
         });
          
          
         const callback = (mutationList, observer) => {
            for (const mutation of mutationList) {
                if (mutation.type === 'attributes') {
                    
                    message = targetUpdateMessage.getAttribute('state');
                                    
                    if( message == "manual-updates-found" )    {
                        setTimeout(function() {
                            gBrowser.selectedTab.linkedBrowser.reload(); 
                        }, 1000);
                        categories.querySelector('button[viewid="addons://updates/available"]').click();
                        return;
                       }
                     else if( message == "none-found" )
                     {
                         //..
                         return;
                     }
                     else if( message == "installed" )
                     {
                         document.querySelector('addon-page-options panel-item[action="view-recent-updates"]').click();
                         setTimeout(function() {
                            categories.querySelector('button[viewid="addons://updates/recent"]').click();
                         }, 1000);
                          return;
                     }
                  }
               }
            }
          
      };
    })();
    Alles anzeigen
    Zitat von FuchsFan

    Startet der Fox dann neu, und der Update-Button des Scriptes wird bedient, dann wird wieder Plugins geöffnet, was ja so nicht gewünscht ist.

    Doch, die Überprüfung der Updates läuft und er zeigt nur die Message-Texte an und wenn er nichts gefunden hat wird auch keine neue Seite geöffnet und nur die Info "Keine Updates gefunden" erscheint oben. Ich halte dieses Verhalten für absolut sinnvoll und außerdem ist es das Standardverhalten.

  • Skript für Add-ons Update

    • BrokenHeart
    • 23. November 2022 um 19:25
    Zitat von FuchsFan

    Nun hat sich das Blatt gewendet, bei dem heutigen Versuch in v107 öffnet sich wieder "Zuletzt durchgeführte Updates", und im aktuellen Nightly "Plugins".

    Zitat von 2002Andreas

    Nightly ohne Skript ergibt noch etwas anderes

    Um ehrlich zu sein, weiß ich gar nicht genau, was ihr da testet und um was es jetzt eigentlich geht (mit Skript/ohne Skript?)... ;) :/

    Also wenn ich euch richtig verstanden habe, geht es um die erste Seite die angezeigt wird, wenn man 'about:addons' aufruft. Aber das sollte doch immer die zuletzt angezeigte Seite sein. Firefox merkt die sich doch. Und solange mit laufenden Skript nicht auf den Button gedrückt wird, darf es auch keinerlei Interaktion mit der Darstellung von 'about:addons' geben.

    Falls ich euch nicht richtig verstanden habe, dann bitte nochmal um eine Erklärung, um was es geht. :/

  • Skript für Add-ons Update

    • BrokenHeart
    • 21. November 2022 um 23:46
    Zitat von FuchsFan

    Im Script Zeile 31 und 32 tauschen.

    Eventuell noch zusätzlich 27 und 28, dann sollte es funktionieren.

    Das Problem ist, dass man eigentlich im Skript abfragen müsste, ob 'automatische' oder 'manuelle' Updates eingestellt sind. Ich habe mal die Attribut-Änderungen des Message-Textes dafür genutzt, um zu entscheiden, welche Aktionen durchgeführt werden sollen (siehe Skript).

    Zitat von Mira_Belle

    und mit dem Einfügen einer Zeitschleife (setTimeout) funktioniert es auch.

    Hier der geänderte Code:

    Ist hier nicht notwendig, kann aber gut sein, dass das je nach Rechner/Verbindung notwendig sein kann. Zusätzlicher Timeout ist bei den User-Skripten, die sich meist irgendwo "reinhängen", eh nicht so verkehrt, wenn man Ereignisse nicht genau triggern kann.

    ---

    Für mich ist es mittlerweile ziemlich klar, warum kein Skript wirklich zu 100% läuft. Wenn die Update-Funktionalität des Firefox die exakt gleichen Probleme mit der Anzeige hat, dann kann es im Skript auch nicht zuverlässig funktionieren. Die Klicks, die im Skript simuliert werden, laufen ebenso ins Leere, wie die Klicks die man händisch ohne Skript ausführt. Und einen Workaround zu programmieren, um einen Bug zu beheben, ist wohl nicht zielführend und ich bin wohl auch nicht in der Lage das zu bewerkstelligen...

    Zitat von Sören Hentzschel

    Wo genau soll da jetzt der Bug in Firefox sein?

    Ich will ja nicht nerven, aber du hattest mir am Samstag diese Frage gestellt und ich hatte dir eine Antwort in Form mehrerer Videos darauf gegeben. Mich würde schon interessieren, ob du das auch als Bug in der Update-Anzeige im Firefox siehst oder nicht? :/

    ---

    Hier noch das Skript:

    JavaScript
    (function() {
    
       if (!window.gBrowser){
            return;
        }
    
      CustomizableUI.createWidget({
        id: 'addons-update-button-ucjs',
        defaultArea: CustomizableUI.AREA_NAVBAR,
        label: 'Add-ons Update',
        tooltiptext: 'Add-ons aktualisieren',
        onCommand: onCommand,
        onCreated: function(button) {
            button.style.listStyleImage = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB9klEQVR42o2TP2gTURzHvwcRXqDDCzi8gww+cfACBRsoJAWXji0KzZFBxUELDoouOmnG6JQiWOogVAcpHUpvKDRLQbekoKRDJXHyLYHLIOQNhXtgBt+7u+SSpkq+w93xu9/vw++vhVj0MiUOyzicEo5LuFh/ACGV6PT6HflbKmOyzINnGdt5kPOKnBYxg5pCNu99apdEt9cLAYdPi4cr8+kVDGYJ10oB3mlQdzebqxZnlLZf5vsEwYzRkRTSyL1pZSznCuPtZ/zXlMcNV9e2FH2LBvCjDrAFoNsYueTeiashoPV4EkDWNrSzA/ltP2rwohumjZ9foI5qI7/8+yHgkT0CkGvLwK0q5KYLovzIWK6BXNf2754GVBPABz8GPEwAithQKQJ6JmJiBmqOQekGEyUTqAF8HALuJwDML4OY2gcK6us2EPQj+811Xf+J7kcrAXwOAZS37oyVcLsCFO5CHXvAQSWyLZaist6ugvRFAtg1gOw0QJrGFXTQmYyMcxRytwJyWp8YVAIoj/eAhoHh24nH2GmADHT95yad39MApm+gUbZ9OwVq1mNyWeKsppaEwB9ALu35drjKzwvs1YuFdHXa8V9bCNROgsrGce91CDCX6GbJkxJPr9sE9v+CfQXfE8H2fldtmYu0xn8a0IUZn0tgeMpGfwErbLqeHktDngAAAABJRU5ErkJggg==)';}
      });
    
      function onCommand(event) {
          
          let targetUpdateMessage=null;
          let categories=null;
                
          event.target.ownerGlobal.openTrustedLinkIn('about:addons', 'tab');
         
          addEventListener('pageshow', function onPageshow(event) {
            let document = event.target;
            if (document.URL != 'about:addons')
                return;
            removeEventListener('pageshow', onPageshow);
          
            categories = document.getElementById('categories');
            targetUpdateMessage = document.querySelector('#page-header .main-heading #updates-message');
    
            const configObserver = { attributes: true };
            const observerUpdateMessage = new MutationObserver(callback);
            
            observerUpdateMessage.observe(targetUpdateMessage, configObserver);    
    
            document.querySelector('addon-page-options panel-item[action="check-for-updates"]').click();
         });
          
          
         const callback = (mutationList, observer) => {
            for (const mutation of mutationList) {
                if (mutation.type === 'attributes') {
                    
                    message = targetUpdateMessage.getAttribute('state');
                                    
                    if( message == "manual-updates-found" )    {
                        setTimeout(function() {
                            gBrowser.selectedTab.linkedBrowser.reload(); 
                        }, 1000);
                        categories.querySelector('button[viewid="addons://updates/available"]').click();
                        return;
                       }
                     else if( message == "none-found" )
                     {
                         //..
                         return;
                     }
                     else if( message == "installed" )
                     {
                         setTimeout(function() {
                            categories.querySelector('button[viewid="addons://updates/recent"]').click();
                         }, 1000);
                          return;
                     }
                  }
               }
            }
          
      };
    })();
    Alles anzeigen

    .

  • Skript für Add-ons Update

    • BrokenHeart
    • 21. November 2022 um 13:32
    Zitat von aborix

    Öffne ein zweites Fenster, schließe das erste und dann klick im zweiten auf den Button. :S

    Ja, wer macht denn sowas? :/

    :thumbup: Danke.

    Das ist nur ein ganz kleines Härchen...das lasse ich höchstens noch als "Fehlerchen" durchgehen. ;)

    Hatte da wohl etwas zu viel "wegoptimiert". Dann halt so:

    JavaScript
    (function() {
    
       if (!window.gBrowser){
            return;
        }
    
      CustomizableUI.createWidget({
        id: 'addons-update-button-ucjs',
        defaultArea: CustomizableUI.AREA_NAVBAR,
        label: 'Add-ons Update',
        tooltiptext: 'Add-ons aktualisieren',
        onCommand: onCommand,
        onCreated: function(button) {
            button.style.listStyleImage = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB9klEQVR42o2TP2gTURzHvwcRXqDDCzi8gww+cfACBRsoJAWXji0KzZFBxUELDoouOmnG6JQiWOogVAcpHUpvKDRLQbekoKRDJXHyLYHLIOQNhXtgBt+7u+SSpkq+w93xu9/vw++vhVj0MiUOyzicEo5LuFh/ACGV6PT6HflbKmOyzINnGdt5kPOKnBYxg5pCNu99apdEt9cLAYdPi4cr8+kVDGYJ10oB3mlQdzebqxZnlLZf5vsEwYzRkRTSyL1pZSznCuPtZ/zXlMcNV9e2FH2LBvCjDrAFoNsYueTeiashoPV4EkDWNrSzA/ltP2rwohumjZ9foI5qI7/8+yHgkT0CkGvLwK0q5KYLovzIWK6BXNf2754GVBPABz8GPEwAithQKQJ6JmJiBmqOQekGEyUTqAF8HALuJwDML4OY2gcK6us2EPQj+811Xf+J7kcrAXwOAZS37oyVcLsCFO5CHXvAQSWyLZaist6ugvRFAtg1gOw0QJrGFXTQmYyMcxRytwJyWp8YVAIoj/eAhoHh24nH2GmADHT95yad39MApm+gUbZ9OwVq1mNyWeKsppaEwB9ALu35drjKzwvs1YuFdHXa8V9bCNROgsrGce91CDCX6GbJkxJPr9sE9v+CfQXfE8H2fldtmYu0xn8a0IUZn0tgeMpGfwErbLqeHktDngAAAABJRU5ErkJggg==)';}
      });
    
      function onCommand(event) {
          
          event.target.ownerGlobal.openTrustedLinkIn('about:addons', 'tab');
         
          addEventListener('pageshow', function onPageshow(event) {
            let document = event.target;
            if (document.URL != 'about:addons')
                return;
            removeEventListener('pageshow', onPageshow);
            
            document.querySelector('addon-page-options panel-item[action="check-for-updates"]').click();
            document.querySelector('addon-page-options panel-item[action="view-recent-updates"]').click();
            
            let categories = document.getElementById('categories');
            categories.querySelector('button[viewid="addons://updates/available"]').click();
            categories.querySelector('button[viewid="addons://updates/recent"]').click();
          });
      };
    })();
    Alles anzeigen


    :

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • BrokenHeart
    • 20. November 2022 um 21:00
    Zitat von DerGiftzwerg

    Dachte man darf die eventuell momentan nicht verändern (verkleinern), damit es keine Probleme beim verschieben gibt.

    Das bezieht sich nur auf Änderungen an der Tab-Größe, die du zusätzlich in der 'userChrome.css' einträgst. Damit würdest du die Werte im Skript überschreiben, da die 'userChrome.css' nach der Skriptinitialisierung vom Interpreter verarbeitet wird und im weiteren Verlauf würde das Skript von falschen Größenangaben der Tabs ausgehen. Das würde dann beim Scrollen zu Fehlern führen. In den 'User-Settings' kannst du soviel verändern, wie du lustig bist...

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • BrokenHeart
    • 20. November 2022 um 17:36
    Zitat von DerGiftzwerg

    darf man die Tab breite noch anpassen (also verkleinern)?

    Klar darf man, wüsste nicht, warum das verboten sein sollte... ;) z.B. so:

    JavaScript
    var nTabWidth               = 120;          // Breite der einzelnen Tabs in Pixeln
    var nTabHeight              = 24;           // Höhe der einzelnen Tabs in Pixeln
    Zitat von DerGiftzwerg

    ich habe aktuell die "Min/Max/Close" nur neben den Einstellungsmenü. Kann ich die auch wieder nach oben in den Menü bereich bekommen?

    Ich kenne jetzt deine sonstigen CSS-Anpassungen und JS-Skripte nicht, aber Standard ist, dass sich die Min/Max/Close-Buttons

    bei eingeblendeter Menüleiste auch dort befinden. :/ Ich könnte mir vorstellen, dass du noch ein zusätzliches Skript benutzt, welches diese verschiebt (z.B: 'MoveMinMaxCloseButton.uc.js' ?). Falls du so ein Skript nutzen solltest, dann muss das wieder aus dem 'chrome'-Ordner entfernt werden..

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • BrokenHeart
    • 20. November 2022 um 16:53
    Zitat von DerGiftzwerg

    Kannst du mir noch sagen, welcher parameter für die Hintergrundfarbe bei den Tabs zuständig ist?

    Würde das auch gerne Schwarz einfärben.

    Wenn du den Hintergrund der Tableiste meinst, dann wären das diese Einträge:

    JavaScript
    var strTabBarBgColor1       = "0,0,0";   // RGB-Farbwert1 für Hintergrund der Tab-Leiste
    var strTabBarBgColor2       = "0,0,0";   // RGB-Farbwert2 für Hintergrund der Tab-Leiste
  • Skript für Add-ons Update

    • BrokenHeart
    • 19. November 2022 um 23:52
    Zitat von Mira_Belle

    Vielen lieben Dank :!:

    Danke dir, für deine netten Worte... :) :thumbup:

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • BrokenHeart
    • 19. November 2022 um 23:39
    Zitat von DerGiftzwerg

    Kann man die Tabs etwas dunkler bekommen?

    Die sehen so blaß aus.

    Du kannst in den User-Settings, ganz am Anfang des Skripts, die Farben für alle Tabs so einstellen, wie du es möchtest. Dafür änderst du einfach die RGB-Farbwerte z.B. für alle nicht-selektierten Tabs zu schwarz("0,0,0").

    Einfach die kommentierten Einstellungen mal anschauen...

    .

    JavaScript
    var strTabSelColor1         = "103,171,224";// RGB-Farbwert1 selektierter Tab
    var strTabSelColor2         = "30,78,115";  // RGB-Farbwert2 selektierter Tab 
    var strTabNotSelColor1      = "0,0,0";      // RGB-Farbwert1 nicht selektierter Tab
    var strTabNotSelColor2      = "0,0,0";      // RGB-Farbwert2 nicht selektierter Tab
  • Dialog Hilfe/Über Firefox

    • BrokenHeart
    • 19. November 2022 um 18:33
    Zitat von harff182

    mit 107:

    Wow :huh: ! Man merkt, dass du ein Kind der 70er bist, soviel Farbe muss man sich erst mal trauen ;) ! Ehrlich, gefällt mir. :thumbup:

  • Skript für Add-ons Update

    • BrokenHeart
    • 19. November 2022 um 18:06
    Zitat von grisu2099

    dito... ;)

    Auch dir: "Danke" :thumbup:

  • Skript für Add-ons Update

    • BrokenHeart
    • 19. November 2022 um 17:54
    Zitat von 2002Andreas

    Nochmals danke für deine Mühe :)

    Gerne, aber ich muss mich bedanken, dass du es noch testen willst, nachdem es schon gefühlt 10 Lösungen gibt. :thumbup::thumbup:

  • Skript für Add-ons Update

    • BrokenHeart
    • 19. November 2022 um 17:35

    Noch ein Skript: :)

    Egal ob die automatische Aktualisierung oder die manuelle Aktualisierung aktiviert ist, mit diesem Skript werden sowohl die verfügbaren Updates angezeigt (bei manuellen Updates) als auch die letzten Updates .

    Ich verspreche, dass dieses Skript zu 100% funktioniert und euch glücklich und besser machen wird (so, mehr Lügen fallen mir nicht ein ;) ). Aber auch wenn ihr saturiert "euer Skript" gefunden habt, für einen kurzen Test wäre ich wirklich sehr dankbar. :)

    Und wehe, jemand findet noch ein Haar in der Suppe... :cursing:

    JavaScript
    (function() {
    
       if (!window.gBrowser){
            return;
        }
    
      CustomizableUI.createWidget({
        id: 'addons-update-button-ucjs',
        defaultArea: CustomizableUI.AREA_NAVBAR,
        label: 'Add-ons Update',
        tooltiptext: 'Add-ons aktualisieren',
        onCommand: onCommand,
        onCreated: function(button) {
            button.style.listStyleImage = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB9klEQVR42o2TP2gTURzHvwcRXqDDCzi8gww+cfACBRsoJAWXji0KzZFBxUELDoouOmnG6JQiWOogVAcpHUpvKDRLQbekoKRDJXHyLYHLIOQNhXtgBt+7u+SSpkq+w93xu9/vw++vhVj0MiUOyzicEo5LuFh/ACGV6PT6HflbKmOyzINnGdt5kPOKnBYxg5pCNu99apdEt9cLAYdPi4cr8+kVDGYJ10oB3mlQdzebqxZnlLZf5vsEwYzRkRTSyL1pZSznCuPtZ/zXlMcNV9e2FH2LBvCjDrAFoNsYueTeiashoPV4EkDWNrSzA/ltP2rwohumjZ9foI5qI7/8+yHgkT0CkGvLwK0q5KYLovzIWK6BXNf2754GVBPABz8GPEwAithQKQJ6JmJiBmqOQekGEyUTqAF8HALuJwDML4OY2gcK6us2EPQj+811Xf+J7kcrAXwOAZS37oyVcLsCFO5CHXvAQSWyLZaist6ugvRFAtg1gOw0QJrGFXTQmYyMcxRytwJyWp8YVAIoj/eAhoHh24nH2GmADHT95yad39MApm+gUbZ9OwVq1mNyWeKsppaEwB9ALu35drjKzwvs1YuFdHXa8V9bCNROgsrGce91CDCX6GbJkxJPr9sE9v+CfQXfE8H2fldtmYu0xn8a0IUZn0tgeMpGfwErbLqeHktDngAAAABJRU5ErkJggg==)';}
      });
    
      function onCommand(event) {
          
          window.openTrustedLinkIn('about:addons', 'tab');
         
          addEventListener('pageshow', function onPageshow(event) {
            let document = event.target;
            if (document.URL != 'about:addons')
                return;
            removeEventListener('pageshow', onPageshow);
            
            document.querySelector('addon-page-options panel-item[action="check-for-updates"]').click();
            document.querySelector('addon-page-options panel-item[action="view-recent-updates"]').click();
            
            let categories = document.getElementById('categories');
            categories.querySelector('button[viewid="addons://updates/available"]').click();
            categories.querySelector('button[viewid="addons://updates/recent"]').click();
          });
      };
    })();
    Alles anzeigen

Unterstütze uns!

Jährlich (2026)

35,3 %

35,3% (273,24 von 775 EUR)

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