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. 2002Andreas

Beiträge von 2002Andreas

  • Änderungen der Kachelansicht bei Startseite und neuem Tab

    • 2002Andreas
    • 5. September 2026 um 14:20
    Zitat von Skippy

    Super! Nochmals danke.

    Freut mich wenn ich dir damit helfen konnte, war gern geschehen :)

  • Lesezeichen Ordner nicht auswählbar

    • 2002Andreas
    • 5. September 2026 um 14:18
    Zitat von Darki25

    Ich kann keinen Ordner auswählen

    Das Popup hast du nicht?

  • Sidebar - Symbol für Downloads

    • 2002Andreas
    • 5. September 2026 um 13:58
    Zitat von Mira_Belle

    Es funktioniert hier auch bei mir!

    Danke für den Test und die Bestätigung:thumbup::)

    Zitat von Mira_Belle

    Danke.

    Den Dank reiche ich mal an die KI weiter;)

  • Sidebar - Symbol für Downloads

    • 2002Andreas
    • 5. September 2026 um 13:37
    Zitat von angel-ch

    funktioniert bei mir nicht.

    :/

    In einem anderen Profil getestet...funktioniert hier:

    Funktionieren denn andere Skripte bei dir?

  • Sidebar - Symbol für Downloads

    • 2002Andreas
    • 5. September 2026 um 12:09
    Zitat von Mira_Belle

    doch bitte Deine genaue Fragestellung,

    Zitat

    Ich möchte bitte für die Firefox Version 155 ein .uc.js Skript, welches mir in der neuen Sidebar auch den Button für: Downloads anzeigt.

    Dann hat mich die KI noch ein paar Einzelheiten gefragt, und der 2te Versuch mit dem Skript hat dann funktioniert.:)

  • Sidebar - Symbol für Downloads

    • 2002Andreas
    • 5. September 2026 um 11:55
    Zitat von angel-ch

    wie durch ein JavaScript etc?

    Ich habe mal eine KI gefragt mit diesem Ergebnis:

    JavaScript
    // ==UserScript==
    // @name           Downloads Sidebar.uc.js
    // @description    Fügt der neuen Firefox-Sidebar ein natives Downloads-Panel hinzu.
    // @version        2.0
    // @author         KI ChatGPT
    // @compatibility  Firefox 155
    // ==/UserScript==
    
    (function DownloadsSidebar() {
        "use strict";
    
        /*
         * ==============================================================
         * Downloads Sidebar
         * Firefox 155 + userChromeJS
         *
         * Es wird KEIN eigenes Downloads-Frontend erzeugt.
         * Stattdessen wird die native Firefox-Seite "about:downloads"
         * als Sidebar-Panel verwendet.
         *
         * Das hat den Vorteil, dass Firefox selbst:
         *
         *   - Download-Fortschritt
         *   - laufende Downloads
         *   - Öffnen der Dateien
         *   - Datei im Ordner anzeigen
         *   - Entfernen
         *   - Download-Historie
         *
         * weiterhin verwaltet.
         * ==============================================================
         */
    
    
        const COMMAND_ID = "viewDownloadsSidebar";
        const TOOL_ID = "downloads";
    
        const PANEL_ELEMENT_ID = "sidebar-switcher-downloads";
    
        const PANEL_URL = "about:downloads";
    
        const TOOLS_PREF = "sidebar.main.tools";
    
    
        /*
         * --------------------------------------------------------------
         * Debug
         * --------------------------------------------------------------
         */
    
        const DEBUG = true;
    
        function log(...args) {
            if (DEBUG) {
                console.log(
                    "[Downloads Sidebar]",
                    ...args
                );
            }
        }
    
        function warn(...args) {
            console.warn(
                "[Downloads Sidebar]",
                ...args
            );
        }
    
    
        /*
         * --------------------------------------------------------------
         * Nur browser.xhtml
         * --------------------------------------------------------------
         */
    
        if (
            location.href !==
            "chrome://browser/content/browser.xhtml"
        ) {
            return;
        }
    
    
        /*
         * --------------------------------------------------------------
         * Prüfen, ob die neue Sidebar aktiv ist
         * --------------------------------------------------------------
         */
    
        function isNewSidebarEnabled() {
            return Services.prefs.getBoolPref(
                "sidebar.revamp",
                false
            );
        }
    
    
        /*
         * --------------------------------------------------------------
         * sidebar.main.tools
         * --------------------------------------------------------------
         */
    
        function getSidebarTools() {
    
            let value = "";
    
            try {
                value =
                    Services.prefs.getStringPref(
                        TOOLS_PREF,
                        ""
                    );
            } catch (e) {
                return [];
            }
    
            return value
                .split(",")
                .map(x => x.trim())
                .filter(Boolean);
        }
    
    
        function setSidebarTools(tools) {
    
            /*
             * Duplikate vermeiden.
             */
    
            tools =
                [...new Set(
                    tools.filter(Boolean)
                )];
    
    
            Services.prefs.setStringPref(
                TOOLS_PREF,
                tools.join(",")
            );
        }
    
    
        function enableDownloadsTool() {
    
            const tools =
                getSidebarTools();
    
    
            if (
                !tools.includes(TOOL_ID)
            ) {
    
                tools.push(
                    TOOL_ID
                );
    
                setSidebarTools(
                    tools
                );
    
                log(
                    "Downloads zu sidebar.main.tools hinzugefügt."
                );
            }
        }
    
    
        /*
         * --------------------------------------------------------------
         * SidebarController abwarten
         * --------------------------------------------------------------
         */
    
        function waitForSidebarController() {
    
            if (
                typeof SidebarController ===
                "undefined"
            ) {
    
                return false;
            }
    
            if (
                typeof SidebarController.sidebars ===
                "undefined"
            ) {
    
                return false;
            }
    
            return true;
        }
    
    
        /*
         * --------------------------------------------------------------
         * Native Sidebar-Definition
         * --------------------------------------------------------------
         *
         * Mozilla verwendet intern ungefähr folgende Struktur:
         *
         * {
         *   name,
         *   elementId,
         *   url,
         *   revampL10nId,
         *   iconUrl
         * }
         *
         * Das entspricht der Architektur der neuen Sidebar.
         * --------------------------------------------------------------
         */
    
        function createSidebarDefinition() {
    
            return {
    
                name:
                    TOOL_ID,
    
                elementId:
                    PANEL_ELEMENT_ID,
    
                url:
                    PANEL_URL,
    
                /*
                 * Titel.
                 *
                 * Wenn keine entsprechende FTL-ID vorhanden ist,
                 * verwendet Firefox den normalen title-Fallback.
                 */
    
                title:
                    "Downloads",
    
                /*
                 * Icon der normalen Firefox-Downloadfunktion.
                 */
    
                iconUrl:
                    "chrome://browser/skin/downloads/downloads.svg",
    
                /*
                 * Damit die alte Sidebar-Logik nicht versucht,
                 * einen nicht vorhandenen Menüeintrag zu manipulieren.
                 */
    
                visible:
                    true,
    
                /*
                 * Kein eigenes Kontextmenü notwendig.
                 */
    
                contextMenuId:
                    null,
    
                toolContextMenuId:
                    null
            };
        }
    
    
        /*
         * --------------------------------------------------------------
         * Sidebar registrieren
         * --------------------------------------------------------------
         */
    
        function registerSidebar() {
    
            const sidebars =
                SidebarController.sidebars;
    
    
            /*
             * Bereits vorhanden?
             */
    
            if (
                sidebars.has(
                    COMMAND_ID
                )
            ) {
    
                log(
                    "Downloads-Sidebar bereits registriert."
                );
    
                return true;
            }
    
    
            const sidebar =
                createSidebarDefinition();
    
    
            /*
             * Die Map wird auch von show(), getTools()
             * und dem Sidebar-Launcher verwendet.
             */
    
            sidebars.set(
                COMMAND_ID,
                sidebar
            );
    
    
            log(
                "Downloads-Sidebar registriert."
            );
    
    
            return true;
        }
    
    
        /*
         * --------------------------------------------------------------
         * getTools() erweitern
         * --------------------------------------------------------------
         *
         * In Firefox befindet sich die interne toolsNameMap
         * als lexical const im browser-sidebar.js und ist deshalb
         * aus userChromeJS nicht direkt erreichbar.
         *
         * Deshalb erweitern wir getTools() um unser Tool.
         * --------------------------------------------------------------
         */
    
        function patchGetTools() {
    
            if (
                SidebarController
                    .__ucDownloadsGetToolsPatched
            ) {
    
                return;
            }
    
    
            const originalGetTools =
                SidebarController.getTools;
    
    
            if (
                typeof originalGetTools !==
                "function"
            ) {
    
                warn(
                    "SidebarController.getTools() nicht gefunden."
                );
    
                return;
            }
    
    
            SidebarController.getTools =
                function () {
    
                    let tools =
                        originalGetTools.call(
                            this
                        );
    
    
                    /*
                     * Bereits vorhanden?
                     */
    
                    if (
                        tools.some(
                            tool =>
                                tool.commandID ===
                                COMMAND_ID
                        )
                    ) {
    
                        return tools;
                    }
    
    
                    const sidebar =
                        this.sidebars.get(
                            COMMAND_ID
                        );
    
    
                    if (!sidebar) {
                        return tools;
                    }
    
    
                    const disabled =
                        !getSidebarTools().includes(
                            TOOL_ID
                        );
    
    
                    tools.push({
    
                        commandID:
                            COMMAND_ID,
    
                        view:
                            COMMAND_ID,
    
                        name:
                            TOOL_ID,
    
                        iconUrl:
                            sidebar.iconUrl,
    
                        /*
                         * Falls Firefox 155 die
                         * l10n-ID erwartet, lassen wir
                         * den Text über title laufen.
                         */
    
                        l10nId:
                            null,
    
                        disabled:
    
                            disabled,
    
                        hidden:
                            false,
    
                        attention:
                            false,
    
                        contextMenu:
                            null
    
                    });
    
    
                    return tools;
                };
    
    
            SidebarController
                .__ucDownloadsGetToolsPatched =
                true;
    
    
            /*
             * toolsAndExtensions wird gecacht.
             * Ein eventuell bereits erzeugter Cache muss
             * verworfen werden.
             */
    
            SidebarController
                ._toolsAndExtensions =
                null;
    
    
            log(
                "getTools() erweitert."
            );
        }
    
    
        /*
         * --------------------------------------------------------------
         * toolsAndExtensions reparieren
         * --------------------------------------------------------------
         *
         * Der Launcher verwendet diese Map.
         * --------------------------------------------------------------
         */
    
        function patchToolsAndExtensions() {
    
            /*
             * Getter nicht überschreiben.
             *
             * Stattdessen den Cache nach getTools()
             * neu aufbauen.
             */
    
            SidebarController
                ._toolsAndExtensions =
                null;
    
    
            try {
    
                const map =
                    SidebarController
                        .toolsAndExtensions;
    
    
                if (
                    !map.has(
                        COMMAND_ID
                    )
                ) {
    
                    const sidebar =
                        SidebarController.sidebars.get(
                            COMMAND_ID
                        );
    
    
                    if (!sidebar) {
                        return;
                    }
    
    
                    map.set(
                        COMMAND_ID,
                        {
    
                            commandID:
                                COMMAND_ID,
    
                            view:
                                COMMAND_ID,
    
                            name:
                                TOOL_ID,
    
                            iconUrl:
                                sidebar.iconUrl,
    
                            l10nId:
                                null,
    
                            disabled:
                                !getSidebarTools()
                                    .includes(
                                        TOOL_ID
                                    ),
    
                            hidden:
                                false,
    
                            attention:
                                false
    
                        }
                    );
    
    
                    log(
                        "Downloads in toolsAndExtensions eingetragen."
                    );
                }
    
            } catch (e) {
    
                warn(
                    "toolsAndExtensions konnte nicht erweitert werden:",
                    e
                );
            }
        }
    
    
        /*
         * --------------------------------------------------------------
         * toggleTool() patchen
         * --------------------------------------------------------------
         *
         * Wichtig:
         *
         * Firefox kennt unser TOOL_ID nicht in seiner
         * internen toolsNameMap.
         *
         * Ohne diesen Patch würde "Downloads" beim
         * Umschalten in "Sidebar anpassen" nicht korrekt
         * in sidebar.main.tools gespeichert.
         * --------------------------------------------------------------
         */
    
        function patchToggleTool() {
    
            if (
                SidebarController
                    .__ucDownloadsTogglePatched
            ) {
    
                return;
            }
    
    
            const originalToggleTool =
                SidebarController.toggleTool;
    
    
            if (
                typeof originalToggleTool !==
                "function"
            ) {
    
                warn(
                    "SidebarController.toggleTool() nicht gefunden."
                );
    
                return;
            }
    
    
            SidebarController.toggleTool =
                function (commandID) {
    
                    /*
                     * Unser eigenes Tool
                     */
    
                    if (
                        commandID ===
                        COMMAND_ID
                    ) {
    
                        const tools =
                            getSidebarTools();
    
    
                        const index =
                            tools.indexOf(
                                TOOL_ID
                            );
    
    
                        /*
                         * Wenn vorhanden -> entfernen
                         *
                         * Wenn nicht vorhanden -> hinzufügen
                         */
    
                        if (
                            index !== -1
                        ) {
    
                            tools.splice(
                                index,
                                1
                            );
    
                        } else {
    
                            tools.push(
                                TOOL_ID
                            );
                        }
    
    
                        setSidebarTools(
                            tools
                        );
    
    
                        /*
                         * Tool-Zustand aktualisieren.
                         */
    
                        const map =
                            this.toolsAndExtensions;
    
    
                        const tool =
                            map.get(
                                COMMAND_ID
                            );
    
    
                        if (tool) {
    
                            tool.disabled =
                                !tools.includes(
                                    TOOL_ID
                                );
                        }
    
    
                        /*
                         * Launcher benachrichtigen.
                         */
    
                        window.dispatchEvent(
                            new CustomEvent(
                                "SidebarItemChanged"
                            )
                        );
    
    
                        log(
                            "Downloads-Tool umgeschaltet:",
                            tools.includes(
                                TOOL_ID
                            )
                        );
    
    
                        return;
                    }
    
    
                    return originalToggleTool.call(
                        this,
                        commandID
                    );
                };
    
    
            SidebarController
                .__ucDownloadsTogglePatched =
                true;
        }
    
    
        /*
         * --------------------------------------------------------------
         * refreshTools() patchen
         * --------------------------------------------------------------
         *
         * Wenn sidebar.main.tools geändert wird,
         * muss der Launcher den Status unseres Tools
         * ebenfalls aktualisieren.
         * --------------------------------------------------------------
         */
    
        function patchRefreshTools() {
    
            if (
                SidebarController
                    .__ucDownloadsRefreshPatched
            ) {
    
                return;
            }
    
    
            const originalRefreshTools =
                SidebarController.refreshTools;
    
    
            if (
                typeof originalRefreshTools !==
                "function"
            ) {
    
                return;
            }
    
    
            SidebarController.refreshTools =
                function () {
    
                    /*
                     * Zuerst Firefox seine normalen
                     * Tools aktualisieren lassen.
                     */
    
                    originalRefreshTools.call(
                        this
                    );
    
    
                    /*
                     * Unser Tool aktualisieren.
                     */
    
                    const tool =
                        this.toolsAndExtensions
                            ?.get(
                                COMMAND_ID
                            );
    
    
                    if (tool) {
    
                        tool.disabled =
                            !getSidebarTools()
                                .includes(
                                    TOOL_ID
                                );
                    }
    
    
                    window.dispatchEvent(
                        new CustomEvent(
                            "SidebarItemChanged"
                        )
                    );
                };
    
    
            SidebarController
                .__ucDownloadsRefreshPatched =
                true;
        }
    
    
        /*
         * --------------------------------------------------------------
         * Sidebar öffnen
         * --------------------------------------------------------------
         *
         * Wir verwenden die normale SidebarController.show().
         *
         * Dadurch läuft die Anzeige durch die originale
         * Firefox-Sidebar-Logik.
         *
         * Firefox lädt:
         *
         *     about:downloads
         *
         * in den Sidebar-Browser.
         * --------------------------------------------------------------
         */
    
        function testPanel() {
    
            try {
    
                const sidebar =
                    SidebarController.sidebars.get(
                        COMMAND_ID
                    );
    
    
                if (!sidebar) {
    
                    warn(
                        "Downloads-Panel ist nicht registriert."
                    );
    
                    return false;
                }
    
    
                /*
                 * URL sicherheitshalber setzen.
                 */
    
                sidebar.url =
                    PANEL_URL;
    
    
                return true;
    
            } catch (e) {
    
                warn(
                    "Panel-Test fehlgeschlagen:",
                    e
                );
    
                return false;
            }
        }
    
    
        /*
         * --------------------------------------------------------------
         * Launcher neu aufbauen
         * --------------------------------------------------------------
         *
         * SidebarItemAdded/Changed veranlasst die
         * Custom-Lit-Komponenten der neuen Sidebar,
         * ihre Liste erneut zu lesen.
         * --------------------------------------------------------------
         */
    
        function notifySidebar() {
    
            window.dispatchEvent(
                new CustomEvent(
                    "SidebarItemAdded"
                )
            );
    
            window.dispatchEvent(
                new CustomEvent(
                    "SidebarItemChanged"
                )
            );
        }
    
    
        /*
         * --------------------------------------------------------------
         * Initialisierung
         * --------------------------------------------------------------
         */
    
        function initialize() {
    
            if (
                !isNewSidebarEnabled()
            ) {
    
                log(
                    "Neue Sidebar ist nicht aktiviert."
                );
    
                return;
            }
    
    
            if (
                !waitForSidebarController()
            ) {
    
                return false;
            }
    
    
            /*
             * Reihenfolge ist wichtig.
             */
    
            registerSidebar();
    
            patchGetTools();
    
            patchToggleTool();
    
            patchRefreshTools();
    
    
            /*
             * Downloads standardmäßig aktivieren.
             *
             * Wenn du das NICHT möchtest, entferne
             * diese Zeile.
             */
    
            enableDownloadsTool();
    
    
            /*
             * toolsAndExtensions nach dem Eintrag
             * neu erzeugen.
             */
    
            patchToolsAndExtensions();
    
    
            /*
             * URL prüfen.
             */
    
            testPanel();
    
    
            /*
             * Launcher informieren.
             */
    
            notifySidebar();
    
    
            log(
                "Downloads Sidebar erfolgreich initialisiert."
            );
    
    
            return true;
        }
    
    
        /*
         * --------------------------------------------------------------
         * SidebarController wird während des Browserstarts
         * relativ spät vollständig initialisiert.
         *
         * Daher mehrere kurze Versuche.
         * --------------------------------------------------------------
         */
    
        let attempts = 0;
    
        const timer =
            setInterval(
                () => {
    
                    attempts++;
    
    
                    if (
                        initialize() ||
                        attempts >= 40
                    ) {
    
                        clearInterval(
                            timer
                        );
                    }
    
                },
                250
            );
    
    
    })();
    Alles anzeigen
  • Schlagwort fehlt unter: Lesezeichen hinzufügen

    • 2002Andreas
    • 5. September 2026 um 11:27
    Zitat von .DeJaVu

    danke für die Zusammenarbeit.

    gerne doch:)

  • Schlagwort fehlt unter: Lesezeichen hinzufügen

    • 2002Andreas
    • 5. September 2026 um 11:25
    Zitat von .DeJaVu

    Nö, auch nicht.

    Siehe bitte mein Edit in Beitrag Nr. 6

  • Schlagwort fehlt unter: Lesezeichen hinzufügen

    • 2002Andreas
    • 5. September 2026 um 11:09
    Zitat von .DeJaVu

    also bleibt nur ein Schalter.

    Der Eintrag fehlt in Fx 155..Beta und Nightly.

    Und auch in der ESR 153:

    Keine Ahnung warum das bei dir anders sein soll:/


    Edit:

    Man muss erst hier einmalig ein Schlagwort vergeben, dann wird es in dem Popup angezeigt;)

  • Schlagwort fehlt unter: Lesezeichen hinzufügen

    • 2002Andreas
    • 5. September 2026 um 10:42
    Zitat von .DeJaVu

    Bei mir wird es angezeigt

    :/

    Neues Profil:

  • Schlagwort fehlt unter: Lesezeichen hinzufügen

    • 2002Andreas
    • 5. September 2026 um 10:27
    Zitat von Son Goku

    wo sind sind die Schlagwörter

    Über ein Skript kannst du das wieder einblenden:

    JavaScript
    // ==UserScript==
    // @name           openbookModoki.uc.js
    // @namespace      https://github.com/Endor8/userChrome.js/blob/master/openbookmodoki/OpenBookModoki.uc.js
    // @description    Lesezeichen Bearbeiten Panel: Veränderbare Panelgröße hinzugefügt. Schlüsselwort und Ordner-Struktur
    // @description    Felder sind geschlossen. Weitere Einstellungen: Beschreibung, Ordner, Dieses Lesezeichen in der Sidebar laden,
    // @description    und Schlüsselwort können ein-/ausgeblendet werden.
    // @include        main
    // @source         https://www.camp-firefox.de/forum/thema/135858-skript-openbookmodoki-funktioniert-nicht-mehr/?postID=1218464#post1218464
    // @author         Alice0775
    // @version        2023/11/15 17:00 Fenster schließen, Zeitanpassung nach @Aborix aus 2019; https://www.camp-firefox.de/forum/thema/127571-lesezeichen-speichern-anzeigedauer-gr%C3%B6%C3%9Fe-des-dialogfensters-zur-bearbeitung/?postID=1108858#post1108858
    // @version        2023/01/27 14:30 Fx109 by Sören Hentzschel
    // @version        2020/05/11 10:30 Fx76 by aborix
    // @version        2018/03/15 10:30 Fx59 by aborix
    // @version        2017/11/17 02:30 Fx57
    // @version        2016/03/20 02:30 remove tst hack
    // @version        2015/08/31 02:30 Fx40
    // @version        2013/07/07 02:30 fix onFolderMenuListCommand
    // @version        2012/12/08 22:30 Bug 788290 Bug 788293 Remove E4X
    // @version        2012/07/24 14:30 Bug 761723 implement toString of function objects by saving source
    // @version        2010/12/06 10:30 Bug Bug 597557 - Bookmarks & Identity panels should use an Arrowpanel
    // @version        2010/04/01 00:00 Bug 556342  - Invalid Treeview in bookmark menu via star pane
    // @version        2009/12/22 00:00 namePicker in front
    // @version        2009/12/21 14:00 BETTER WORKAROUND FIX  Bug 536024 -  When i expand folder-tree on Edit This Bookmark, the bookmarked folder is changed.
    // @version        2009/12/20 16:00 WORKAROUND FIX  Bug 536024 -  When i expand folder-tree on Edit This Bookmark, the bookmarked folder is changed.
    // @version        2009/08/11 18:00 Tree Style Tab0.8.2009081101 Unterstützung für das Umbenennen von Objekten
    // @version        2009/08/07 00:00 Tree Style Tab0.8.2009073102 Treestyletab-Tabzeile ausblenden, wenn vorhanden
    // @version        2009/08/06 19:00 Tree Style Tab0.8.2009073102 Problem, dass der übergeordnete Tab für einen Moment angezeigt wird, behoben 
    // @version        2009/08/06 18:00 Tree Style Tab0.8.2009073102 entsprechend
    // @version        2009/06/24 00:00 Firefox3.5 Es wurde ein Fehler behoben, durch den der Offen / Geschlossen Status des Expanders in der 
    // @version        2009/06/24 00:00 Ordnerstruktur und der Tag-Auswahl nicht gespeichert wurde
    // @version        2009/01/02 02:00 Beschreibung, Position, loadInSidebar, Schlüsselwort und Einstellung anzeigen / ausblenden
    // @version        2009/01/01 22:28
    // ==/UserScript==
    
    var openbookResizer = {
    
      drag  : false,
      height: null,
      width : null,
      eventOffset: null,
      timer: null,
      PREHIDEROW    : "userChrome.openbook.hideRow",  // description, location, loadInSidebar, keyword
      PREFTREEHEIGHT: "userChrome.openbook.treeHeight",
      PREFTREEWIDTH : "userChrome.openbook.treeWidth",
      PREFOPENTREE  : "userChrome.openbook.openTree",
      PREFOPENTAG   : "userChrome.openbook.openTag",
    
      get tree(){
        return gEditItemOverlay._folderTree;
      },
    
      get getHideRow(){
        try {
          return Services.prefs.getCharPref(this.PREHIDEROW).replace(/\s/g,'').slice(',');
        } catch(e) {
          return [];
        }
      },
    
      get getPrefTreeHeight(){
        try {
          return Services.prefs.getIntPref(this.PREFTREEHEIGHT);
        } catch(e) {
          return 150;
        }
      },
      get getPrefTreeWidth(){
        try {
          return Services.prefs.getIntPref(this.PREFTREEWIDTH);
        } catch(e) {
          return 250;
        }
      },
    
      get editBookmarkPanel(){
        return StarUI.panel;
      },
    
      get treeExpander(){
        return gEditItemOverlay._element('foldersExpander');
      },
    
      get tagExpander(){
        return gEditItemOverlay._element('tagsSelectorExpander');
      },
    
      get getPrefOpenTree(){
        try {
          return Services.prefs.getBoolPref(this.PREFOPENTREE);
        } catch(e) {
          return false;
        }
      },
    
      get getPrefOpenTag(){
        try {
          return Services.prefs.getBoolPref(this.PREFOPENTAG);
        } catch(e) {
          return false;
        }
      },
    
      init: function(){
        //window.removeEventListener('load', this, false);
        window.addEventListener('unload', this, false);
    
        var style = " \
          .openbookResizerGripper { \
            list-style-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAApklEQVQokY3QK4uCURCA4QeDLCoIXoIYNFiUFVZBq2JQEEx+UcTmpi1b121eosX/a5lg8jvTzsy8M+8cGGKNusQY44QMlRTgAzOcsUqBitH0FVCWpzeNpmZsytUb4oY9qil6BfRxDaiZp1eO5OBl01u9JX7QxiRFr4XfmNbFZ+gdojbCBbt4a6CDP/wH1McDR9SwwB1b+I4bejG1ER8xxwaluHOJ8RM+9xjk9q2RpwAAAABJRU5ErkJggg=='); \
            cursor: sw-resize; \
          }";
        var sspi = document.createProcessingInstruction(
          'xml-stylesheet',
          'type="text/css" href="data:text/css,' + encodeURIComponent(style) + '"'
        );
        document.insertBefore(sspi, document.documentElement);
        sspi.getAttribute = function(name) {
        return document.documentElement.getAttribute(name);
        };
    
        this.folderTreeRow   = "folderTreeRow";
        this.tagsSelectorRow = "tagsSelectorRow";
    
        gEditItemOverlay.initPanel_org = gEditItemOverlay.initPanel;
        gEditItemOverlay.initPanel = function(aInfo) {
          aInfo.hiddenRows = openbookResizer.getHideRow;
          gEditItemOverlay.initPanel_org(aInfo);
        }
    
        // selected tree visible
        func = gEditItemOverlay.toggleFolderTreeVisibility.toString();
        func = func.replace(
          'var currentFolder = this._getFolderIdFromMenuList();',
          ''
        );
        func = func.replace(
          /expander.className = "expander-up";*/,
          'var currentFolder = this._getFolderIdFromMenuList(); \
          var onselect = this._folderTree.getAttribute("onselect"); \
          this._folderTree.removeAttribute("onselect"); \
          $&;'
        );
        func = func.replace(
          'this._folderTree.focus();',
          '$&; \
          setTimeout(function(tree){ \
            var start = new Object(); \
            var end = new Object(); \
            var numRanges = tree.view.selection.getRangeCount(); \
            if (numRanges > 0) { \
              tree.view.selection.getRangeAt(0,start,end); \
              var v = start.value; \
              tree.treeBoxObject.ensureRowIsVisible(v); \
            } \
            tree.setAttribute("onselect", onselect); \
          }, 0, this._folderTree);'
        );
        try{
          gEditItemOverlay.toggleFolderTreeVisibility = new Function(
             func.match(/\((.*)\)\s*\{/)[1],
             func.replace(/^function\s*.*\s*\(.*\)\s*\{/, '').replace(/}$/, '')
          );
        } catch(ex){}
    
        // selected tree visible
        func = gEditItemOverlay.onFolderMenuListCommand.toString();
        func = func.replace(
          'this._folderTree.selectItems([container]);',
          '{var onselect = this._folderTree.getAttribute("onselect"); \
          this._folderTree.removeAttribute("onselect"); \
          $&; \
          setTimeout(function(tree){ \
            var start = new Object(); \
            var end = new Object(); \
            var numRanges = tree.view.selection.getRangeCount(); \
            if (numRanges > 0) { \
              tree.view.selection.getRangeAt(0,start,end); \
              var v = start.value; \
              tree.treeBoxObject.ensureRowIsVisible(v); \
            } \
            tree.setAttribute("onselect", onselect); \
          }, 0, this._folderTree);}'
        );
        try{
          gEditItemOverlay.onFolderMenuListCommand = new Function(
             func.match(/\((.*)\)\s*\{/)[1],
             func.replace(/^function\s*.*\s*\(.*\)\s*\{/, '').replace(/}$/, '')
          );
        } catch(ex){}
    
        this.editBookmarkPanel.addEventListener('popupshowing', this, false);
        this.editBookmarkPanel.addEventListener('popupshown', this, false);
        this.editBookmarkPanel.addEventListener('popuphiding', this, false);
      },
    
      uninit: function(){
        window.removeEventListener('unload', this, false);
        this.editBookmarkPanel.removeEventListener('popupshowing', this, false);
        this.editBookmarkPanel.removeEventListener('popupshown', this, false);
        this.editBookmarkPanel.removeEventListener('popuphiding', this, false);
      },
    
      handleEvent: function(event){
        switch(event.type){
          case 'unload':
            this.uninit();
            break;
          case 'popupshowing':
            this.popupshowing(event);
            break;
          case 'popupshown':
            this.popupshown(event);
            break;
          case 'popuphiding':
            this.popuphiding(event);
        }
      },
    
      popuphiding: function(event){
        if (this.editBookmarkPanel != event.originalTarget)
          return;
        var state = !gEditItemOverlay._element(this.folderTreeRow).hidden;
        Services.prefs.setBoolPref(this.PREFOPENTREE, state);
        var state = !gEditItemOverlay._element(this.tagsSelectorRow).hidden;
        Services.prefs.setBoolPref(this.PREFOPENTAG, state);
    
        gEditItemOverlay._element(this.folderTreeRow).hidden = true;
        gEditItemOverlay._element(this.tagsSelectorRow).hidden = true;
      },
    
      popupshowing: function(event){
        if (this.editBookmarkPanel != event.originalTarget)
          return;
    
        this.tree.height = this.getPrefTreeHeight;
        //this.tree.width = this.getPrefTreeWidth;
        //this.editBookmarkPanel.width = this.getPrefTreeWidth;
    
        if (!document.getElementById("openbookResizerbottomBox")) {
          var panel = StarUI.panel;
    
          var innerarrow = panel.openOrClosedShadowRoot.querySelector('.panel-arrowcontent');
          if (innerarrow)
            innerarrow.setAttribute('flex', 1);
    
          var box = document.createXULElement("hbox");
          box.setAttribute('id', 'openbookResizerbottomBox');
          box.setAttribute('align',"start");
    
          var resizer = document.createXULElement("image");
          resizer.setAttribute("class", "openbookResizerGripper");
          resizer.setAttribute('onmousedown', 'openbookResizer.mousedown(event)');
    
          box.appendChild(resizer);
          panel.appendChild(box);
    
          panel.setAttribute('onmousemove', 'openbookResizer.mousemove(event)');
          panel.setAttribute('onmouseup', 'openbookResizer.mouseup(event)');
        }
      },
    
      popupshown: function(event){
        if (this.editBookmarkPanel != event.originalTarget)
          return;
        setTimeout(function(self) {
          if (self.getPrefOpenTree &&
              gEditItemOverlay._element(self.folderTreeRow).hidden ) {
            gEditItemOverlay.toggleFolderTreeVisibility();
          }
          if (self.getPrefOpenTag &&
              gEditItemOverlay._element(self.tagsSelectorRow).hidden ) {
            gEditItemOverlay.toggleTagsSelector();
          }
          try {
            gEditItemOverlay._element(Services.prefs
              .getCharPref("browser.bookmarks.editDialog.firstEditField")).focus();
          } catch(e) {}
        }, 100, this);
      },
    
      mousedown: function(event){
        this.drag = true;
        this.height = parseInt(this.tree.boxObject.height);
        this.width = parseInt(this.editBookmarkPanel.boxObject.width);
        this.eventOffset = event;
      },
    
      mousemove: function(event) {
        if (this.timer)
          clearTimeout(this.timer);
        this.timer = setTimeout(function(event, self){
          if (self.drag) {
            // make sure height [150,screen-300] and width is [300,screen-50]
            var newValue;
            newValue = self.height + event.pageY - self.eventOffset.pageY;
            if (newValue <= screen.height - 300 && newValue >= 150) {
              self.tree.height = newValue;
            }
            newValue = self.width - event.pageX + self.eventOffset.pageX;
            if (newValue <= screen.width - 50 && newValue >= 300) {
              //self.tree.width = newValue;
              self.editBookmarkPanel.width = newValue;
            }
          }
        }, 10, event, this);
      },
      mouseup: function(event) {
        if (this.drag) {
          Services.prefs.setIntPref(this.PREFTREEHEIGHT, this.tree.height);
          Services.prefs.setIntPref(this.PREFTREEWIDTH, this.editBookmarkPanel.boxObject.width);
        }
        this.drag = false;
      }
    }
    //window.addEventListener("load", openbookResizer, false);
    openbookResizer.init();
    
    /* Fenster schließen nach 6 Sekunden */
    
    (function() {
      if (window.StarUI) {
        const delay = 6;
        StarUI._autoCloseTimeout = delay * 1000;
      }
    })();
    Alles anzeigen
  • Skript "OpenbookModoki" klappt die Lesezeichenliste nicht mehr auf

    • 2002Andreas
    • 4. September 2026 um 22:08
    Zitat von sinu

    klappt die Lesezeichenliste nicht mehr auf.

    Funktioniert hier einwandfrei.

    Zitat von sinu

    2 Dateien austauschen muss

    Du hast auch die richtigen Dateien am richtigen Ort ausgetauscht?

    Hier kannst du sie downloaden:

    Beitrag

    RE: JavaScript in der Nightly 155.0a1 (2026-07-28)

    Bitte mal testen.

    Die Datei und den Ordner im Installatiosnordner umbenennen.

    Dann die .zip entpacken und beides in den Ordner wieder einfügen.

    Ordner.zip
    2002Andreas
    29. Juli 2026 um 20:33
  • Änderungen der Kachelansicht bei Startseite und neuem Tab

    • 2002Andreas
    • 4. September 2026 um 21:56
    Zitat von Skippy

    ein wenig enger zusammen zu schieben.

    Die Werte in Zeile 16 - 18 anpassen wie du es möchtest.

  • Problem mit mehreren Fenstern wenn Video in Vollbild läuft

    • 2002Andreas
    • 4. September 2026 um 20:08
    Zitat von Christoph2703

    Gibt es eine Möglichkeit, dies wieder zu ändern?

    Bei Vollbild ist die doch immer ausgeblendet:/

    Mit der Windows Taste kannst du sie dann wieder einblenden.

  • Änderungen der Kachelansicht bei Startseite und neuem Tab

    • 2002Andreas
    • 4. September 2026 um 17:47
    Zitat von Skippy

    Sollte das nicht schon das Logo und den Text blocken?

    Ja.


    Zitat von Skippy

    bei fast allem nicht so richtig weiter.

    Ich habe zwecks Test mal den Hintergrund gelb eingefärbt, dann sieht das hier so aus:

    Mit diesem Code:

    CSS
    @-moz-document url(about:newtab), url(about:home) {
     body {
        background-color: yellow !important;
      }
      
    .top-site-outer .tile {
      background: none !important;
      box-shadow: none !important;
      }
    
    .logo-and-wordmark-wrapper {
      display: none !important;
    }
    
    li.top-site-outer {
      margin-top: -10px !important;
      margin-bottom: 0px !important;
      margin-left: 5px !important;  
    }
    
    .top-site-outer .tile .icon-wrapper {  
      min-width: 70px !important;
      min-height: 70px !important;
    }
      
    .top-site-outer .rich-icon {
      border: none !important;
    }
    
    .top-site-outer .title.pinned span {  
      padding: 0 0px !important;
      }
    }
    Alles anzeigen

    Zeile 2 - 4 ist für den Hintergrund, musst du dann wieder entfernen.

  • µBlock Origin Ad-Blocker -Diskussionsthread

    • 2002Andreas
    • 4. September 2026 um 15:29
    Zitat von Boersenfeger

    das war tatsächlich die Lösung!

    :/

    Du wolltest doch aber die beta installieren.

    Zitat von Boersenfeger

    uBlock Origin in der Version 1.74.1b2

  • Änderungen der Kachelansicht bei Startseite und neuem Tab

    • 2002Andreas
    • 4. September 2026 um 15:24
    Zitat von Skippy

    Wie bekomme ich das weg?

    In den Einstellungen hier unten den Haken entfernen:

    Zitat von Skippy

    Abstände seitlich neben den Kacheln ändern

    In Zeile 10 den Wert mal ändern und testen:


    Zitat von Skippy

    wenn ich den weißen Rahmen

    Auch bitte testen:

    CSS
    .nova-enabled .top-site-outer .tile {
      background: none !important;
      box-shadow: none !important;
      }

    oder auch:

    CSS
    .top-site-outer .tile {
       --newtab-background-card: none !important;
       box-shadow: none !important;
    }
  • µBlock Origin Ad-Blocker -Diskussionsthread

    • 2002Andreas
    • 4. September 2026 um 14:31
    Zitat von regie510

    muss man sich für die Beta-Versionen von uBlock speziell anmelden?

    Nein, nur an anderer Stelle downloaden:

    Releases · gorhill/uBlock
    uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean. - gorhill/uBlock
    github.com
  • µBlock Origin Ad-Blocker -Diskussionsthread

    • 2002Andreas
    • 4. September 2026 um 12:53
    Zitat von Boersenfeger

    Schön, dass du das Problem nicht hast

    Also liegt es an deinem Firefox wenn es bei dir nicht funktioniert.;)

    Erstell doch mal ein zusätzliches neues Profil, und teste es damit.

    Funktioniert es damit, liegt es an deinem Profil, und du kannst das neue wieder löschen, und musst den Fehler suchen.

  • Tab Aktiv und Inaktiv Schließen Kreuz

    • 2002Andreas
    • 4. September 2026 um 12:48
    Zitat von Son Goku

    Danke schön

    gerne wie immer:)

Unterstütze uns!

Jährlich (2026)

76,1 %

76,1% (589,79 von 775 EUR)

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