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

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

    • Endor
    • 12. August 2024 um 20:02

    Hallo bege
    Vielen Dank für Deine Version.
    Habe die jetzt mal bei mir hoch geladen.

    userChrome.js/Firefox 128/Appmenu.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

    Hinweis:
    Ich habe mit milupo Hilfe noch den Eintrag zum Öffnen der Entwickler Werkzeuge hinzugefügt.
    Zeile 24 habe ich so angepasst

    Code
    fileManager: '',
       // fileManager: 'C:\\Program files\\FreeCommander XE\\FreeCommander.exe',
       // Parameter für Dateimanager oder leer ('')

    Des weiteren habe ich beim Eintrag Beenden ein identisches aber größeres Symbol eingebaut.
    Finde das past besser zu den anderen.
    Was sagst Du dazu?
    Mfg.
    Endor

  • "Neues", altes Appmenu. Update, und bräuchte Hilfe!

    • Endor
    • 12. August 2024 um 19:39

    Mira_Belle
    Ohne Appmenu_edit.uc.js vorläufig.

    Mfg.
    Endor

  • "Neues", altes Appmenu. Update, und bräuchte Hilfe!

    • Endor
    • 12. August 2024 um 19:33
    Zitat von milupo

    Web-Entwickler

    Auch von mir vielen Dank für den Code.
    An dem versuche ich mich schon den ganzen Nachmittag.
    Mit Deinem passt es, und funktioniert bestens.
    Vielen Dank.
    Mfg.
    Endor

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

    • Endor
    • 12. August 2024 um 13:37

    Danke milupo.

    Mfg.
    Endor

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

    • Endor
    • 12. August 2024 um 13:06

    Auweia da hätte ich eigentlich selbst drauf kommen müssen.
    Hand vors Gesicht hau.

    Vielen Dank, Sören Hentzschel und milupo.
    Mfg.
    Endor

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

    • Endor
    • 12. August 2024 um 12:01

    Hallo zusammen.
    Eine Frage zu obigem Script:

    Bei Klick auf Downloads tut sich da bei euch etwas, bei mir nicht.

    Das hier muss wohl geändert werden:

    Code
                name: 'Downloads',
                command: "BrowserDownloadsUI();",
                id: 'AMdownloads',

    Hat da jemand von euch eine Idee?
    Mfg.
    Endor

  • Benutzt eigentlich noch jemand das "Suchfeld"?

    • Endor
    • 9. August 2024 um 08:49

    Es gibt noch ein Script vom selben Autor:

    Code
    // ==UserScript==
    // @name           patchForBug1904014_allow_search_oneoff_with_empty_text.uc.js
    // @description    undoing Bug 1904014 - Remove function to do an empty search using the search bar one-off buttons.
    // @include        chrome://browser/content/browser.xhtml
    // @compatibility  129
    // @version        2024/07/14 fix add search engene button
    // @version        2024/07/8
    // ==/UserScript==
    (function() {
      let func = SearchOneOffs.prototype._on_click.toString();
    
      func = func.replace(
      'if (!this.textbox.value) {',
      'if (false) {'
      );
      SearchOneOffs.prototype._on_click = new Function(
             func.match(/\(([^)]*)/)[1],
             func.replace(/[^{]*\{/, '').replace(/}\s*$/, '')
      );
    })();
    (function() {
      let func = SearchOneOffs.prototype._on_command.toString();
      func = func.replace(
      'if (!this.textbox.value) {',
      'if (false) {'
      );
      func = func.replace(
      'if (target.classList.contains("searchbar-engine-one-off-add-engine")) {',
      `if (target.classList.contains("searchbar-engine-one-off-add-engine")) {
        const lazy = {};
    
        ChromeUtils.defineESModuleGetters(lazy, {
          SearchUIUtils: "resource:///modules/SearchUIUtils.sys.mjs",
        });`
      );
      
      let AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;
      SearchOneOffs.prototype._on_command = new AsyncFunction(
             func.match(/\(([^)]*)/)[1],
             func.replace(/[^{]*\{/, '').replace(/}\s*$/, '')
      );
    })();
    (function() {
      let PSAC = document.getElementById("PopupSearchAutoComplete");
      //PSAC.addEventListener("popupShowing", event => { 
        PSAC.addEventListener("click", event => { 
          if (event.button == 2) {
            // Ignore right clicks.
            return;
          }
          let button = event.originalTarget.closest("[class~='searchbar-engine-one-off-add-engine]");
          if (button) {
            return;
          }
          button = event.originalTarget.closest(".search-panel-header");
          if (!button) {
            return;
          }
          if (!this.searchbar.value) {
            BrowserSearch.searchBar.handleSearchCommand(event, Services.search.defaultEngine);
          }
        });
    
        PSAC.addEventListener("keydown", event => { 
          if (event.keyCode !== KeyEvent.DOM_VK_RETURN) {
            // Ignore right clicks.
            return;
          }
          let button = event.originalTarget.closest(".search-panel-header");
          if (!button) {
            return;
          }
          if (!this.searchbar.value) {
            BrowserSearch.searchBar.handleSearchCommand(event, Services.search.defaultEngine);
          }
        });
    
      //}, {once: true});
    })();
    //      this._searchbarEngine = this.querySelector(".search-panel-header");
    Alles anzeigen

    Wurde eben erst veröffentlicht.
    Mfg.
    Endor

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

    • Endor
    • 8. August 2024 um 20:51

    Ok. Packe das Script bei Thunderbird dazu.
    Das andere muss ich mir erst mal in Ruhe durch den Kopf gehen lassen.
    Klingt ja eigentlich sehr gut aber die Zeit das so umzusetzen....
    Mal sehen.
    Trotzdem vielen Dank für Deinen Vorschlag.
    Mfg.
    Endor

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

    • Endor
    • 8. August 2024 um 19:45
    Zitat von Shelly

    Läuft auch im Thunderbird

    Danke für den Hinweis.
    :thumbup:

    milupo
    Soll ich das Script auch in den Ordner für Thunderbird Scripte bei Github packen?

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

    • Endor
    • 7. August 2024 um 11:24
    Zitat von milupo

    Super, ich danke dir.

    Gerne. Nochmals danke für Deine Mühe.
    :thumbup:
    Dann lade ich es jetzt hoch.

    Edit:
    Erledigt - https://github.com/Endor8/userChr…datecheck.uc.js
      
    Mfg.
    Endor

  • Der Glückwunsch-Thread

    • Endor
    • 7. August 2024 um 10:49

    Hallo Amsterdammer !
    Alles alles Gute zum Geburtstag.
    Vor allem viel Gesundheit aber auch viel Glück und Wohlergehen
    wünsche ich Dir von ganzen Herzen.

    Mfg.
    Endor

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

    • Endor
    • 7. August 2024 um 10:45

    Mira_Belle
    vielen Dank.
    :thumbup:

    Mfg.
    Endor

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

    • Endor
    • 7. August 2024 um 10:10

    Hallo milupo.

    Habe nun eine Info eingebaut und eine Deutsche Beschreibung hinzugefügt.
    Schau Dir das bitte mal an ob es so passt:

    Code
    // ==UserScript==
    // @name           addons_ver_day_updatecheck.uc.js 
    // @description    Bei about:addons beim Titel der Erweiterung Versionsinfo und Installationsdatum hinzufügen
    // @update         Anpassung zur Verwendung der ESM-Module mit der Dateiendung .sys.mjs von milupo
    // @note           Wer vor dem Datum der Installation, einen Text haben möchte, Zeile 40 aktivieren 
    // @note           und Zeile 41 deaktivieren. (// ← entfernen bzw. hinzufügen)
    // @include        main
    // ==/UserScript==
    
    if (typeof window === "undefined" || globalThis !== window) {
        this.EXPORTED_SYMBOLS = ["AboutAddonsVerboseChild"];
    	ChromeUtils.defineESModuleGetters(this, { AddonManager: "resource://gre/modules/AddonManager.sys.mjs", });
        try {
            ChromeUtils.registerWindowActor("AboutAddonsVerbose", {
                child: {
                    moduleURI: __URI__,
                    events: {
                        DOMDocElementInserted: {},
                    },
                },
                matches: ["about:addons"],
            });
        } catch (e) {Cu.reportError(e);}
        this.AboutAddonsVerboseChild = class extends JSWindowActorChild {
            handleEvent({type}) {
                if (type !== "DOMDocElementInserted") return;
                const win = this.contentWindow;
                const doc = win.document;
                doc.addEventListener("view-loaded", () => {
                    const addons = doc.querySelectorAll(".addon-name");
                    for (let addon of addons) {
                        const addonId = addon.querySelector("a")?.href.slice("addons://detail/".length);
                        if (addonId) AddonManager.getAddonByID(addonId).then(result => {
                            const {version, updateDate} = result;
                            const info = doc.createElement("span");
                            info.style.fontSize = "1rem";
                            info.style.fontStyle = "normal";
    						info.style.fontWeight = "900";
                            info.style.marginInlineEnd = "8px";
    //                      info.textContent = `${version} - Installation: ${updateDate.toLocaleDateString("de-DE")}`;
                            info.textContent = `${version} - ${updateDate.toLocaleDateString("de-DE")}`;
                            addon.insertAdjacentElement("afterend", info);
                        }).catch(err => Cu.reportError(err));
                    }
                });
            }
        };
    }
    else {
        try {
            const fileHandler = Services.io.getProtocolHandler("file").QueryInterface(Ci.nsIFileProtocolHandler);
            const scriptFile = fileHandler.getFileFromURLSpec(Components.stack.filename);
            const resourceHandler = Services.io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler);
            if (!resourceHandler.hasSubstitution("about-addons-verbose-ucjs")) {
                resourceHandler.setSubstitution("about-addons-verbose-ucjs", Services.io.newFileURI(scriptFile.parent));
            }
            ChromeUtils.import(`resource://about-addons-verbose-ucjs/${scriptFile.leafName}?${scriptFile.lastModifiedTime}`);
        } catch (e) {Cu.reportError(e)}
    }
    Alles anzeigen

    Mfg.
    Endor

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

    • Endor
    • 6. August 2024 um 19:41

    milupo .
    Vielen vielen Dank.
    Funktioniert bestens. In Firefox 129, Firefox 130b1 und Firefox 131 Nightly getestet.
    Darf ich die bei mir in Github hochladen?
    Sollten wir im Kopfbereich einen Hinweis auf Deine Änderungen einfügen?
    Mfg.
    Endor

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

    • Endor
    • 6. August 2024 um 14:15

    Genau das ist es.
    Wie gesagt, ohne Änderungen funktioniert es, warum auch immer.
    Mit nicht. :/

    Hast du in about:config:
    browser.addons.showVersionInAboutAddons
    extensions.showVersionInAboutAddons

    auf true? Bei mir gibt es die übrigens nicht.

    Mfg.
    Endor

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

    • Endor
    • 6. August 2024 um 13:16

    Zeile 30 definiert:
    const {version, updateDate} = result;

    Daher kommt das Datum.



    Im unveränderten Script aus Beitrag eins funktioniert es einwandfrei.
    Aber sobald ich etwas ändere tut sich nichts mehr.

    Mfg.
    Endor

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

    • Endor
    • 6. August 2024 um 13:04

    Hallo milupo .

    Das script fügt bei about:addons bei den Erweiterungen im jeweiligen Titel
    die Versionsnummer und das Installationsdatum hinzu. Lasse das Script jetzt so wie
    es ist, da es ja funktioniert. Habe Deine Änderungen probiert, aber das funktioniert
    leider nicht.

    Zitat von milupo

    about-addons-verbose.uc.js


    Das habe ich nirgendswo gefunden. Der Autor hatte das Script
    letzten November bei einer Japanischen Seite hoch geladen.
    Da war das nicht dabei.

    Mfg.
    Endor

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

    • Endor
    • 6. August 2024 um 09:56

    Hallo zusammen, Hallo milupo .

    Ich verwende dieses Script hier:

    Code
    // ==UserScript==
    // @name           Show addon details in about:addons
    // @include        main
    // ==/UserScript==
    
    if (typeof window === "undefined" || globalThis !== window) {
        this.EXPORTED_SYMBOLS = ["AboutAddonsVerboseChild"];
        ChromeUtils.defineModuleGetter(this, "AddonManager", "resource://gre/modules/AddonManager.jsm");
        try {
            ChromeUtils.registerWindowActor("AboutAddonsVerbose", {
                child: {
                    moduleURI: __URI__,
                    events: {
                        DOMDocElementInserted: {},
                    },
                },
                matches: ["about:addons"],
            });
        } catch (e) {Cu.reportError(e);}
        this.AboutAddonsVerboseChild = class extends JSWindowActorChild {
            handleEvent({type}) {
                if (type !== "DOMDocElementInserted") return;
                const win = this.contentWindow;
                const doc = win.document;
                doc.addEventListener("view-loaded", () => {
                    const addons = doc.querySelectorAll(".addon-name");
                    for (let addon of addons) {
                        const addonId = addon.querySelector("a")?.href.slice("addons://detail/".length);
                        if (addonId) AddonManager.getAddonByID(addonId).then(result => {
                            const {version, updateDate} = result;
                            const info = doc.createElement("span");
                            info.style.fontSize = "1rem";
                            info.style.fontStyle = "normal";
    						info.style.fontWeight = "900";
                            info.style.marginInlineEnd = "8px";
                            info.textContent = `${version} - ${updateDate.toLocaleDateString("de-DE")}`;
                            addon.insertAdjacentElement("afterend", info);
                        }).catch(err => Cu.reportError(err));
                    }
                });
            }
        };
    }
    else {
        try {
            const fileHandler = Services.io.getProtocolHandler("file").QueryInterface(Ci.nsIFileProtocolHandler);
            const scriptFile = fileHandler.getFileFromURLSpec(Components.stack.filename);
            const resourceHandler = Services.io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler);
            if (!resourceHandler.hasSubstitution("about-addons-verbose-ucjs")) {
                resourceHandler.setSubstitution("about-addons-verbose-ucjs", Services.io.newFileURI(scriptFile.parent));
            }
            ChromeUtils.import(`resource://about-addons-verbose-ucjs/${scriptFile.leafName}?${scriptFile.lastModifiedTime}`);
        } catch (e) {Cu.reportError(e)}
    }
    Alles anzeigen

    in Zeile 8 steht:

    Code
    ChromeUtils.defineModuleGetter(this, "AddonManager", "resource://gre/modules/AddonManager.jsm");

    die Datei AddonManager.jsm gibt es ja nicht mehr. Wenn ich das umändere auf
    AddonManager.sys.mjs diese Datei gibt es, geht es nicht mehr, genau so wie wenn ich diese Zeile entferne.

    Konsole sagt die Importregel müsste angepasst werden. Nur wie?

    Hast Du / Ihr eine Idee?
    Mfg.
    Endor

  • Der Glückwunsch-Thread

    • Endor
    • 31. Juli 2024 um 08:12

    Hallo Artist!

    Alles alles Gute zum Geburtstag.
    Vor allem viel Gesundheit aber auch viel Glück und Wohlergehen
    wünsche ich Dir von ganzen Herzen.

    Mfg.
    Endor

  • CSS Code für neue Einträge im Kontextmenü

    • Endor
    • 29. Juli 2024 um 19:29

    Habe ich schon getestet, hat aber nicht funktioniert.
    Auch nach Neustart nicht.

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