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

Beiträge von Endor

  • Schaltfläche um Lesezeichen Leiste ein/auszublenden ?

    • Endor
    • 26. Juni 2022 um 10:57

    Hallo Horstmann .

    Wie Dharkness ;) schon geschrieben hat.
    Es handet sich um JavaScript Dateien daher also die Endung js.
    Unsere hier sollten die Endung uc.js haben.

    Wichtig: Hast Du die Vorarbeiten zur Verwedung von Scripten

    wie in meiner oben verlinkten Anleitung gemacht?

    Das ist Voraussetzung dass man Scripte verwenden kann.

    Ich würde Dir noch ein weiteres Script empfehlen, dieses fügt eine
    Schaltfläche zum neu starten von Firefox in die Navbar ein damit

    kann Firefox neu gestartet werden und dabei wird zusätzlich der

    ScriptCache gelöscht.

    Script: RestartFirefox_plus.uc.js

    Code
        //RestartFirefox_plus.uc.js
    
        (function() {
    
           if (location != 'chrome://browser/content/browser.xhtml') return;
           
           try {
              CustomizableUI.createWidget({
                 id: 'restart-button',
                 type: 'custom',
                 defaultArea: CustomizableUI.AREA_NAVBAR,
                 onBuild: function(aDocument) {         
                    var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                    var props = {
                       id: 'restart-button',
                       class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                       removable: false,
                       label: 'Neustart',
                       tooltiptext: 'Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)',
                       style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAEZ0FNQQAAsY58%2B1GTAAAAIGNIUk0AAHolAACAgwAA%2Bf8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAN8SURBVHjaVJFNTBxlAIafb2Z29gd2l4VdYCkokAUt1AJplQRTrVqjUWMPPWHSCzb21IOn9qIHY2xMahoTTb00NmkUm5qAjdpUI61VaCxCpCVYixt%2ByvKzCwu7LDs7zMw3HmhM%2Bt6fJ0%2FyCp69wiOzZBCPcqSmIXg0HPHuC4R8nkLWyOXyYiIzfuVHzMIA%2BZsLtH18EApntUdhpzUSD5577nDLi%2FGWKjx%2BHVfR8HpFwNwsxTMzza%2BOXJ1%2B58Ev2sVEV%2ByEawXqxf8FllNWEQ9ePXzsqQOecIDU8jampSAVD76Al2BIIx4Dv2Nz7%2FYq%2B5%2BP8sNXE6WdAhdQlOM9rzUdaGiN8M9UjnKvQjzuA0UjV3AxDIcHywqRoEbXoVrKgyBtKXYEUvprmiN9oaoyvr9wl62NHJbtJeDzOo17YmprVzWOppLO2RRNwf1FSOzSUAXsCIR4QdP13UPfjhUde2mjuBXUjcXNEabOnJmq7Y4Nd7z1fu%2BJ%2FR2Jpgrm0jauAI8GlnSlBi4I0bO6sLBWHc9esxRdmjOZf5n%2B5CLWzCzOvsbKupBZ1xgmElUoC%2BgoKtRGQfNomoaND8P8XS%2Bby1olO7O6GHTl1DejGDOrNB%2BvpO7I%2Ba31%2FDP9Z28YUmqoqhCKcG2EYD6ZMUTojZ8WHmsqD%2BI6wnWFajugCkuuZaV%2FZS47wp99R7E3LbxPV6rtr7dV1pmyuBWs3hr7dZ380LC2tzseffvUHm86C1JC2A%2FrGcn509cn%2BPvTk9ibc1R06qL91Ms1CadF000ll9rVS2VykLzVr0lHOgtpuJ9yUFyXxqhKZjbH2nJRI9IZwyw2kXjvXV%2FIOWgaBcc2a%2BtjdVXR1J3iBDx8QUpQUJAuJJclseogxz441H5vrPO72cm0VSyVPJq27ZaHm8ST3Y0M9d9Kkr19A1A1x4VIObTGBfNrsJ5XmE9b6KqgvrOGhr1Vns2sgeNIkXiigvHf1liZuHWZYjINSEXRVLewZjN6bYmYbvN4rcDvVzFKLnOpErMLBpvbklClznyyyPDA6DjTX3wJWICr%2Bnb3ffjXSGpl5Nxnn88uh2ORUCBaHfVQU%2BsjVuGhKqJT5lFYShr8fGH4j42bH53EnJ4EtgEEPQOTzHx9mqXLl9AT9TS82RvreOmVcMTXVh4JhIr5kp3LFu6u3Lk%2ByMylQazU3ENYAvw3AFUTimFqj5i7AAAAAElFTkSuQmCC)',
                       onclick: 'if (event.button == 0) { \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  }; \
                                  if (event.button == 1 || event.button == 2) { \
                                      Services.appinfo.invalidateCachesOnRestart(); \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  };'
                    };            
                    for (var p in props)
                       toolbaritem.setAttribute(p, props[p]);            
                    return toolbaritem;
                 }      
              });
              CustomizableUI.registerToolbarNode(tb);
           } catch(e) { };   
                 
           var menuitem = document.createXULElement('menuitem');   
           var props = {
              id: 'restartfirefox-fileMenu2',
              label: 'Neustart',
              tooltiptext: 'Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)',
              onclick: 'if (event.button == 0) { \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  }; \
                                  if (event.button == 1 || event.button == 2) { \
                                      Services.appinfo.invalidateCachesOnRestart(); \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  };'
           };            
           for (var p in props)
              menuitem.setAttribute(p, props[p]);      
           document.getElementById('menu_FilePopup').insertBefore(menuitem, document.getElementById('menu_FileQuitItem'));
    
           var pane1 = document.getElementById('appmenuPrimaryPane');   
           if (pane1) {   
              menuitem = document.createXULElement('menuitem');   
              var props = {
                 id: 'restartfirefox-fileMenu',
                 class: 'menuitem-iconic',
                 label: 'Neustart',
                 tooltiptext: 'Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)',
                 onclick: 'if (event.button == 0) { \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  }; \
                                  if (event.button == 1 || event.button == 2) { \
                                      Services.appinfo.invalidateCachesOnRestart(); \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \
                                  };'
              };            
              for (var p in props)
                 menuitem.setAttribute(p, props[p]);
              pane1.insertBefore(menuitem, document.getElementById('appmenu-quit'));
           };
    
        })();
    Alles anzeigen

    Mfg.

    Endor

  • Schaltfläche um Lesezeichen Leiste ein/auszublenden ?

    • Endor
    • 26. Juni 2022 um 09:50

    Hallo Horstmann

    Wie oben geschrieben, bei meinem Script kannst Du Icon nehmen was Du möchtest.

    Wichtig ist nur, dass es eine Png Datei ist und toolbar.png heißt.

    Im Chrome Ordner im Unterordner Icons ablegen und fertig.

    Wenn Du einen anderen Ordner verwenden willst, dann Zeile 21 im Script

    entsprechend anpassen.

    Mfg.
    Endor

  • Schaltfläche um Lesezeichen Leiste ein/auszublenden ?

    • Endor
    • 26. Juni 2022 um 08:54

    Hallo Horstmann.

    Hier eine Anleitung zur Verwendung von Scripten:
    https://github.com/Endor8/userChr…erChrome#readme

    Für Dein Anliegen würde ich ein ähnliches Script wie oben vorschlagen:

    JavaScript
    (function() {
        if (location != 'chrome://browser/content/browser.xhtml')
            return;
         let d1 = document.getElementById("PersonalToolbar");
             d1.style.visibility = "collapse";
        try {
            CustomizableUI.createWidget({
                id: 'bookmarkbar-button',
                type: 'custom',
                defaultArea: CustomizableUI.AREA_NAVBAR,
                    onBuild: function(aDocument) {
                        var toolbaritem = aDocument.createXULElement('toolbarbutton');
                        toolbaritem.onclick = aEvent => onClick(aEvent);
                        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
                        var buttonicon = "toolbar.png"
                        var props = {
                            id: 'bookmarkbar-button',
                            class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                            label: 'Toggle',
                            tooltiptext: 'Lesezeichenleiste ein- bzw. ausblenden',
                            style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) +'");',
                        };
                        for(var p in props)
                            toolbaritem.setAttribute(p, props[p]);
                        return toolbaritem;
                    }
            });
        } catch(e) {};
    
    
       // Funktion zum Abfragen der Tastatur ("belauscht" Eingaben)
    // Hinweis: Tasten, die anderweitig bereits "abgefangen" werden, ergeben keinen Event
    document.addEventListener('keydown', (event) => {
            var keyName = event.key;
    
    
            // Funktion wird ausgeführt, wenn STRG + Alt + l gedrückt wird
            if (event.ctrlKey && event.altKey && keyName == 'l') {
               onClick();        
            }
        }, false
    );
    
    
        function onClick(aEvent) {
    
            let d1 = document.getElementById("PersonalToolbar");
                         
            if (d1.style.visibility == "") {
                d1.style.visibility = "collapse";
            } else if (d1.style.visibility == "visible") {
                d1.style.visibility = "collapse";
            } else if (d1.style.visibility == "collapse") {
                d1.style.visibility = "visible";
            }
        }
    })();
    Alles anzeigen

    CSS Code braucht es damit keinen.

    Es genügt im Chrome Ordner einen Unterordner anzulegen mit der Bezeichnung:

    Icons

    Darin dann dieses Symbol abspeichern oder ein eigenes Verwenden.

    Wenn Du ein eigenes Verwenden willst ist nur wichtig, dass Du es
    toolbar.png nennst und im angegebenen Ordner speicherst.

    Bei Problemen frag einfach hier nach.

    Schönen Sonntag wünsche ich Dir.

    Mfg.
    Endor

  • Exakte Bezeichnung für ein Element

    • Endor
    • 18. Juni 2022 um 22:13

    Ja habe ich gesehen.

    Dachte halt vielleicht kannst Du es noch brauchen.

    Schönen Abend Dir weiterhin.

    Mfg.
    Endor

  • Exakte Bezeichnung für ein Element

    • Endor
    • 18. Juni 2022 um 22:08

    Hallo 2002Andreas.

    Ich habe dieses Icon hier auch rot gemacht:

    CSS
        addon-card[addon-id="firefox@tampermonkey.net"] img {
        filter: invert(43%) sepia(97%) saturate(7298%) hue-rotate(356deg) brightness(91%) contrast(131%)!important;
        }

    Vielleicht kannst Du das ja noch brauchen. ;)

    Mfg.
    Endor

  • Was hört Ihr gerade?

    • Endor
    • 18. Juni 2022 um 12:43

    Happy Birthday Sir Paul MCCartney.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Mfg.
    Endor

  • Firefox 101 - openbookModokiFor40.uc - automatisch aufklappen

    • Endor
    • 13. Juni 2022 um 20:57
    Zitat von bananovic

    Am Script kann es nicht liegen, das ist identisch mit meinem und wohl auch dem von Endor.

    Genau so ist es. Hier funktioniert es auch einwandfrei.

    Hast Du meinen Zusatz oben beachtet:

    Zitat von Endor

    Schau mal in about:config nach gib oben in die Filterzeile:

    userChrome.openbook.open


    Hier steht bei beiden true.

    Wenn bei Dir nicht auf true ändern.

    Mfg.
    Endor

  • Der Glückwunsch-Thread

    • Endor
    • 13. Juni 2022 um 19:35

    Hallo Palli

    Auch von mir alles Gute zum Geburtstag.

    Viele Gesundheit Glück und Erfolg wünsche ich Dir.

    Mfg.
    Endor

  • Firefox 101 - openbookModokiFor40.uc - automatisch aufklappen

    • Endor
    • 11. Juni 2022 um 21:13

    Habe vorhin falsch verstanden. Dachte Du meintest die

    Schlagwörter Liste.

    Also Speicherort Liste ist hier auch mit deinem CSS Code

    aufgeklappt. Speichere eine Änderung bei einem Lesezeichen,

    oder speichere ein neues Lesezeichen und lass die Liste aufgeklappt.
    Nach dem Speichern sollte sich das Script automatisch merken ob die

    einzelnen Listen offen oder geschlossen waren. So ist es hier jedenfalls.

    Mfg.
    Endor


    Schau mal in about:config nach gib oben in die Filterzeile:

    userChrome.openbook.open

    Hier steht bei beiden true.

    Wenn bei Dir nicht auf true ändern.

    Mfg.
    Endor

  • Firefox 101 - openbookModokiFor40.uc - automatisch aufklappen

    • Endor
    • 11. Juni 2022 um 19:33

    Es liegt an Deinem CSS Code.

    Das Script selber funktioniert einwandfrei.

    Ich musste hier diesen Eintrag aus dem CSS Code in Zeile 12, entfernen:

    #editBMPanel_tagsRow > label:nth-child(1)

    Dann geht es hier wieder.

    Mfg.
    Endor

  • Der Glückwunsch-Thread

    • Endor
    • 10. Juni 2022 um 20:49

    Hallo *Nobbi*

    Auch von mir alles alles Gute zum Geburtstag!

    Vor allem viel Gesundheit wünsche ich Dir.

    Mfg.
    Endor

  • Brauchbare Open With-Erweiterung?

    • Endor
    • 4. Juni 2022 um 20:05

    Gerne :)

    Mfg.
    Endor

  • Brauchbare Open With-Erweiterung?

    • Endor
    • 4. Juni 2022 um 19:54

    wie wäre es mit einem Script :) :

    Code
    // ==UserScript==
    // @name            OpenWith
    // @description        Fügt dem Kontextmenü ein Menü hinzu, zum Öffnen der aktuelle Seite und eines ausgewählten Links in einem anderen Browser.
    // @description        und eines ausgewählten Links in einem anderen Browser.
    // @version            1.2.1b  69+
    // @author             y2k
    // @include            main
    // @charset            UTF-8
    // @namespace          http://tabunfirefox.web.fc2.com/
    // @note               Anwendungssymbol anzeigen
    // @note               als .uc.js Script umgeschrieben
    // ==/UserScript==
    (function() {
    "use strict";
    /*
        Vor Verwendung, Pfad auf eigene Umgebung ändern(\ wird durch \\ ersetzt)
        Zum Übergeben von Argumenten, wie folgt vorgehen:
        C:\\Program Files\\Internet Explorer\\iexplore.exe<>$1 Argument Argument
        ※ $1 wird in URL umgewandelt
    */
    const BrowserPath = {
        "Firefox Beta":        "C:\\Programme\\Firefox\\Beta64bit\\BetaMultiLoader.exe",
        "Firefox Nightly":     "C:\\Programme\\Firefox\\firefox-22.0a1.en-US.win64-x86_64\\Fiefox-Test\\NightlyMultiLoader.exe",
        "Internet Explorer":   "C:\\Program Files\\Internet Explorer\\iexplore.exe",
    };
    
    const FlatMenu = false;
    
    const OpenWith = {
        start: function() {
            const cm = document.getElementById("contentAreaContextMenu");
            cm.addEventListener("popupshowing", function(e) {
                if (e.target == this) { OpenWith.onpopup(e); }
            }, false);
        },
    
        createMenu: function() {
            if (this.pageItem || this.linkItem) {
                return;
            }
    
            const contextMenu = document.getElementById("contentAreaContextMenu");
            const pageMenu = this.$C("menu", { id: "context-open-with-page", label: "Seite öffnen..." });
            contextMenu.insertBefore(pageMenu, contextMenu.querySelector(":scope > #context-bookmarkpage, :scope > #context-savepage"));
    
            const linkMenu = this.$C("menu", { id: "context-open-with-link", label: "Link öffnen..." });
            contextMenu.insertBefore(linkMenu, contextMenu.querySelector(":scope > #context-sep-open"));
    
            this.pageItem = this.createMenuItem(pageMenu, "openPage", FlatMenu? "Seite öffnen mit $1 ":" Öffnen mit $1");
            this.linkItem = this.createMenuItem(linkMenu, "openLink", FlatMenu? "Link öffnen mit $1 ":" Öffnen mit $1");
        },
        
        createMenuItem: function(menu, method, format) {
            const frag = document.createDocumentFragment();
            
            let menuitem = [];
            for (let i of Object.keys(BrowserPath)) {
                const item = this.$C("menuitem", {
                    label:    format.replace("$1", i),
                    class:    "menuitem-iconic",
                    image:    "moz-icon:file:///" + BrowserPath[i].split("<>")[0] + "?size=16",
                    value:    JSON.stringify([ method, i ]),
                });
                item.addEventListener("command", this, false);
    
                frag.appendChild(item);
                menuitem[menuitem.length] = item;
            }
            
            if (!FlatMenu) {
                const menupopup = this.$C("menupopup");
                menupopup.appendChild(frag);
                menu.appendChild(menupopup);
                menuitem = [ menu ];
            }
            else {
                const parent = menu.parentNode;
                parent.insertBefore(frag, menu);
                parent.removeChild(menu);
            }
            
            return menuitem;
        },
    
        $C: function(tag, attrs) {
            const elem = document.createXULElement(tag);
            if (attrs) {
                for (let key of Object.keys(attrs))
                    elem.setAttribute(key, attrs[key]);
            }
            return elem;
        },
    
        onpopup: function(e) {
            this.createMenu();
            
            const isHtml = /^(https?|file):/.test(gBrowser.currentURI.spec);
            const pageItemHidden = !isHtml || gContextMenu.onLink || gContextMenu.onTextInput;
            const linkItemHidden = !isHtml || !gContextMenu.onLink || gContextMenu.onTextInput;
            
            const pageItem = this.pageItem;
            for (let i = 0, l = pageItem.length; i < l; i++) {
                pageItem[i].hidden = pageItemHidden;
            }
            const linkItem = this.linkItem;
            for (let i = 0, l = linkItem.length; i < l; i++) {
                linkItem[i].hidden = linkItemHidden;
            }
        },
    
        handleEvent: function(event) {
            if (event.type === "command") {
                const [ method, key ] = JSON.parse(event.originalTarget.getAttribute("value"));
                const url = method === "openPage"? gBrowser.currentURI.spec: gContextMenu.linkURL;
                this.launch(BrowserPath[key], url);
            }
        },
        
        launch: function(browserPath, openURL) {
            let [ path, args ] = browserPath.split("<>");
            if (args) {
                args = args.split("^^").map(a => a.replace("$1", openURL));
            } else {
                args = [ openURL ];
            }
            
            const file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
            file.initWithPath(path);
            
            const process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
            process.init(file);
            process.run(false, args, args.length, {});
        },
    };
    
    OpenWith.start();
    
    })();
    Alles anzeigen

    In Zeile 22, 23 und 24 nicht vergessen die Bezeichnung und den Pfad auf Dein System anzupassen.
    Wenn du noch mehr Browser haben solltest entsprechen weitere Zeilen einfügen.

    Mfg.
    Endor

  • In memoriam

    • Endor
    • 19. Mai 2022 um 20:49

    Vangelis im Alter von 79 Jahren gestorben

    Komponist Vangelis im Alter von 79 Jahren gestorben
    Seine Filmmusiken prägten die 1980er-Jahre - jetzt ist der griechische Komponist Vangelis im Alter von 79 Jahren gestorben. Er war insbesondere durch die Musik…
    www.tagesschau.de

    R.I.P.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Mfg.
    Endor

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Endor
    • 12. Mai 2022 um 11:33

    Habe die Änderung mal nach Github übertragen:

    userChrome.js/closetab at master · Endor8/userChrome.js
    Skripte für die Firefox-Erweiterung userChromeJS. Contribute to Endor8/userChrome.js development by creating an account on GitHub.
    github.com

    Mfg.
    Endor

  • Separates Downloads-Fenster?

    • Endor
    • 10. Mai 2022 um 20:46

    NoNameNeeded

    Nur als Hinweis zum Script noch, Mittelklick oder Rechtsklick auf Schaltfläche,

    Löscht den Scriptcache und startet Firefox neu , Linksklick startet nur Firefox neu.

    Teste das mal, wenn mal ein Script nicht will, rechts klick auf Schaltfläche machen
    und schauen ob es beim Neustart dann funktioniert.

    Mfg.
    Endor

  • Separates Downloads-Fenster?

    • Endor
    • 10. Mai 2022 um 17:32

    2002Andreas

    :) Danke für den Gegentest.

    Hier laufen sie ja auch beide.....

    Mfg.
    Endor

  • Separates Downloads-Fenster?

    • Endor
    • 10. Mai 2022 um 17:24

    NoNameNeeded

    Das verwende ich auch und hier funktioniert es einwandfrei.

    Ich habe hier nur in Zeile 17 einen kürzeren Intervall als du.
    10 statt 60, Vielleicht liegt es daran. Teste mal meine Version:

    JavaScript
    // ==UserScript==
    // @name          MemoryUsage.uc.js
    // @namespace     http://space.geocities.yahoo.co.jp/gl/alice0775
    // @description   Memory Usage resident memory in MB
    // @include       main
    // @charset       UTF-8
    // @author        Alice0775
    // @compatibility 99+
    // @version       2022/03/31 23:00 Clicking on the button minimizes memory and updates the usage display.
    // @version       2021/09/18 20:00 no longer available resident-unique from MRM due to Bug 1665318. so use commit size instead of resident-unique size
    // @version       2021/09/18 20:00 missing MRM
    // @version       2021/06/17 22:00 use ChromeUtils.requestProcInfo
    // @version       2021/06/17 19:00 
    // @version       2021/06/15
    // ==/UserScript==
    var ucjsMemoryUsage = {
      INTERVAL: 10, //Abstand in Sekunden
    
      MRM : Components.classes['@mozilla.org/memory-reporter-manager;1']
             .getService(Components.interfaces.nsIMemoryReporterManager),
    
      init: function() {
        try {
          CustomizableUI.createWidget({
              id: 'memoryUsageButton',
              type: 'custom',
              onBuild: function(aDocument) {
                  let toolbaritem = aDocument.createXULElement('toolbarbutton');
                  let props = {
                      id: 'memoryUsageButton',
                      class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                      label: 'MemoryUsage',
                      tooltiptext: 'Speicher Belegung minimieren',
                      onclick: 'ucjsMemoryUsage.MRM.minimizeMemoryUsage(()=>{});ucjsMemoryUsage.requestMemory()'
                  };
                  for (let p in props)
                      toolbaritem.setAttribute(p, props[p]);
                  return toolbaritem;
              }
          });
        } catch(e) {}
    
        style = `#memoryUsageButton .toolbarbutton-text {
                  display: inline-block !important;
                  font-weight: bold !important;
                  font-size: 13px !important;
                }
                #memoryUsageButton .toolbarbutton-icon {
                  display: none !important;
                }`
        let sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
        let uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(style));
        if(!sss.sheetRegistered(uri, sss.AUTHOR_SHEET))
          sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
    
    
        window.addEventListener("unload", this, false);
        window.setInterval(this.requestMemory, this.INTERVAL * 1000);
        this.requestMemory();
      },
    
      uninit: function() {
        window.removeEventListener("unload", this, false);
      },
    
      requestMemory: async function() {
        let winTop = Services.wm.getMostRecentWindow("navigator:browser");
        if (winTop == window) {
          let total =0;
          const regex = new RegExp("^resident-unique$");
          const handleReport = (aProcess, aPath, aKind, aUnits, aAmount) => {
            if(regex.test(aPath)) {
              //Services.console.logStringMessage("aPath " + aPath);
              total += aAmount;
            }
          };
    
          await new Promise((r) => {
            ucjsMemoryUsage.MRM
               .getReports(handleReport, null, r, null, false);
            }
          );
          //Services.console.logStringMessage("total " + txt);
          let txt = Math.ceil(total/1024/1024);
          for (let win of Services.wm.getEnumerator("navigator:browser")) {
            if (win.closed || !win.gBrowser) {
              continue;
            }
            let btn = win.document.getElementById("memoryUsageButton");
            if (btn)
             btn.setAttribute("label", txt + " MB");
          }
        }
      },
    
      handleEvent: function(event) {
        switch (event.type) {
          case "unload": 
            this.uninit();
            break;
        }
      }
    }
    ucjsMemoryUsage.init();
    Alles anzeigen

    Mfg.
    Endor

  • Separates Downloads-Fenster?

    • Endor
    • 10. Mai 2022 um 17:10

    NoNameNeeded

    Welches Script das Wochenlang ging geht neuestes nicht mehr?

    Was das Löschen des Scriptcache betrifft

    Ich verwende dazu ein Script welches über

    Eine Schaltfläche Firefox neu startet und dabei diesen Scriptcache löscht. Ein Klick

    Firefox wird neu gestartet und fertig.

    Script siehe hier:

    userChrome.js/restartfirefox-plus.uc.js at master · Endor8/userChrome.js
    Skripte für die Firefox-Erweiterung userChromeJS. Contribute to Endor8/userChrome.js development by creating an account on GitHub.
    github.com

    Mfg.

    Endor

  • Separates Downloads-Fenster?

    • Endor
    • 10. Mai 2022 um 10:41

    :) Funktioniert hier auch bestens.

    aborix vielen Dank!

    Mfg.
    Endor

Unterstütze uns!

Jährlich (2025)

92,9 %

92,9% (604,17 von 650 EUR)

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