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

  • In memoriam

    • Endor
    • 27. August 2022 um 21:24

    Vielen Dank euch allen.

    Mfg.
    Endor

  • In memoriam

    • Endor
    • 27. August 2022 um 18:44

    Heute ist meine liebe Mutter leider gestorben.
    Mutter ich werde Dich immer vermissen.

    Ruhe in Frieden.

    Mfg.
    Endor

  • Icons verschwinden im "Überhangmenü" bei Skriptaktivierung (Mehrzeilige Tableiste)

    • Endor
    • 20. August 2022 um 16:10

    Was mich betrifft, auch gern geschehen. :)

    Mfg.
    Endor

  • Icons verschwinden im "Überhangmenü" bei Skriptaktivierung (Mehrzeilige Tableiste)

    • Endor
    • 20. August 2022 um 13:34

    Dafür verwende ich ein Script, von aborix, damit ist er dann

    über den Anpassen Dialog frei verschiebbar:

    JavaScript
    (function() {
      if (location != 'chrome://browser/content/browser.xhtml')
        return;  
      var menuButton = document.getElementById('PanelUI-menu-button');
     
      if (!CustomizableUI.getPlacementOfWidget('ucjs_PanelUI-button')) { 
        try {
          CustomizableUI.createWidget({
            id: 'ucjs_PanelUI-button',
            type: 'custom',
            defaultArea: CustomizableUI.AREA_NAVBAR,
            onBuild: function(aDocument) {
              var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem');
              toolbaritem.id = 'ucjs_PanelUI-button';
              toolbaritem.className = 'chromeclass-toolbar-additional';          
              toolbaritem.setAttribute('label', 'Firefox Anpassen');          
              return toolbaritem;            
            }
          });
          if (!CustomizableUI.getPlacementOfWidget('ucjs_PanelUI-button')) {     
            menuButton.style.display = 'none';
            return; 
          };        
        } catch(e) {        
          menuButton.style.display = 'none';
          return;      
        };    
      };
      
      setTimeout(function() { 
       document.getElementById('ucjs_PanelUI-button').appendChild(menuButton);       
       menuButton.setAttribute('consumeanchor', 'ucjs_PanelUI-button');
       menuButton.setAttribute('label', 'Firefox Anpassen');
       menuButton.setAttribute('tooltiptext', 'Firefox Anpassen + Panel');        
      }, 0);
    
    }());
    Alles anzeigen

    Dieses Script macht dann die Schaltfläche für das Überhangmenü frei verschiebbar:

    JavaScript
    (function() {
    
      if (location != 'chrome://browser/content/browser.xhtml')
        return;
    
      // Mehr-Werkzeuge-Schaltfläche verschiebbar
    
      try {
        CustomizableUI.createWidget({
          id: 'ucjs_overflow-item',
          type: 'custom',
          defaultArea: CustomizableUI.AREA_NAVBAR,
          onBuild: function(aDocument) {
            var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem');
            toolbaritem.id = 'ucjs_overflow-item';
            toolbaritem.className = 'chromeclass-toolbar-additional';
            toolbaritem.setAttribute('label', 'Mehr Werkzeuge');
            return toolbaritem;
          }
        });
      } catch(e) { };
    
      document.getElementById('ucjs_overflow-item').appendChild(document.getElementById('nav-bar-overflow-button'));
    
    })();
    Alles anzeigen

    Mfg.
    Endor

  • scrollbars.uc.js anpassen - geschafft und erledigt!

    • Endor
    • 19. August 2022 um 12:45

    Mira_Belle.

    Ja könnte eventuell so sein.

    Aber Deine Version die Du gemacht hast ist definitiv die bessere
    Variante, da sie unabhängig von anderen Scripten funktioniert.
    Übrigens klasse Arbeit!!! :thumbup: :thumbup:

    Mfg.
    Endor

  • scrollbars.uc.js anpassen - geschafft und erledigt!

    • Endor
    • 19. August 2022 um 07:59

    Hallo Speravir.

    Vom usercssloader.uc.js Script habe ich hier eine aktuellere Version,

    vielleicht testet ihr die mal.

    JavaScript
    // ==UserScript==
    // @name           UserCSSLoader
    // @description    CSS Codes - Styles laden und verwalten
    // @namespace      http://d.hatena.ne.jp/Griever/
    // @author         Griever
    // @include        main
    // @license        MIT License
    // @compatibility  Firefox 4 - 102*
    // @charset        UTF-8
    // @version        0.0.4K
    // @note           Fx92: getURLSpecFromFile() -> getURLSpecFromActualFile()
    // @note           AUTHOR_SHEET Verwendung hinzugefügt, wichtig: am Ende des Dateinamens .author.css
    // @note           Version 0.0.4.g ermoeglicht "Styles importieren" per Mittelklick und Verwendung
    // @note           eines anderen Dateimanager (s. vFileManager in Zeile 53)
    // @note           Frei verschiebbare Schaltfläche eingebaut von aborix 
    // @note           0.0.4 Remove E4X
    // @note           CSSEntry-Klasse erstellt
    // @note           Style-Test-Funktion überarbeitet
    // @note           Wenn die Datei gelöscht wurde, CSS beim Neu erstellen und Löschen des Menüs abbrechen
    // @note           uc einlesen .uc.css temporäre Korrespondenz zum erneuten Lesen
    // ==/UserScript==
    
    /****** Bedienungsanleitung ******
    
    CSS-Ordner im Chrome-Ordner erstellen, CSS-Dateien dort ablegen - speichern.
    Diejenigen, deren Dateiname mit "xul-" beginnen, diejenigen, die mit ".as.css" enden, sind AGENT_SHEET, 
    alle andere außer USER_SHEET werden gelesen. Da der Inhalt der Datei nicht überprüft wird,
    darauf achten, @ Namespace Angabe nicht zu vergessen!
    
    CSS-Menü wird zur Menüleiste hinzugefügt
    Linksklick auf Stil, zum aktivieren/deaktivieren
    Mittelklick auf Stil zum aktivieren/deaktivieren, ohne Menü zu schließen
    Rechtsklick auf Stil zum Öffnen im Editor
    
    Verwenden des in "view_source.editor.path" angegebenen Editors
    Ordner kann geändert werden, indem ein Pfad in "UserCSSLoader.FOLDER" eingefügt wird
    
     **** Anleitung Ende ****/
    
    (function(){
    
    let { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components;
    if (!window.Services)
        Cu.import("resource://gre/modules/Services.jsm");
    // Wenn beim Start ein anderes Fenster angezeigt wird (das zweite Fenster), wird es beendet
    let list = Services.wm.getEnumerator("navigator:browser");
    while(list.hasMoreElements()){ if(list.getNext() != window) return; }
    
    if (window.UCL) {
        window.UCL.destroy();
        delete window.UCL;
    }
    const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
    
    window.UCL = {
        // vFileManager: 'C:\\Programme\\totalcmd\\TOTALCMD.EXE',
        vFileManager: '',
        USE_UC: "UC" in window,
        AGENT_SHEET: Ci.nsIStyleSheetService.AGENT_SHEET,
        USER_SHEET : Ci.nsIStyleSheetService.USER_SHEET,
        AUTHOR_SHEET: Ci.nsIStyleSheetService.AUTHOR_SHEET,
        readCSS    : {},
        get disabled_list() {
            let obj = [];
            try {
                obj = this.prefs.getCharPref("disabled_list").split("|");
            } catch(e) {}
            delete this.disabled_list;
            return this.disabled_list = obj;
        },
        get prefs() {
            delete this.prefs;
            return this.prefs = Services.prefs.getBranch("UserCSSLoader.")
        },
        get styleSheetServices(){
            delete this.styleSheetServices;
            return this.styleSheetServices = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
        },
        get FOLDER() {
            let aFolder;
            try {
                // UserCSSLoader.FOLDER verwenden
                let folderPath = this.prefs.getCharPref("FOLDER");
                aFolder = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile)
                aFolder.initWithPath(folderPath);
            } catch (e) {
                aFolder = Services.dirsvc.get("UChrm", Ci.nsIFile);
                aFolder.appendRelativePath("CSS");
            }
            if (!aFolder.exists() || !aFolder.isDirectory()) {
                aFolder.create(Ci.nsIFile.DIRECTORY_TYPE, 0664);
            }
            delete this.FOLDER;
            return this.FOLDER = aFolder;
        },
        getFocusedWindow: function() {
            let win = document.commandDispatcher.focusedWindow;
            if (!win || win == window) win = content;
            return win;
        },
    
        init: function() {
            const cssmenu = $C("menu", {
                id: "usercssloader-menu",
                label: "CSS",
                accesskey: "C",
                onclick: "if (event.button == 1) UCL.rebuild()"
            });
            const menupopup = $C("menupopup", {
                id: "usercssloader-menupopup"
            });
            cssmenu.appendChild(menupopup);
    
            let menu = $C("menu", {
                label: "Style Loader Menü",
                accesskey: "M"
            });
            menupopup.appendChild(menu);
            let mp = $C("menupopup", { id: "usercssloader-submenupopup" });
            menu.appendChild(mp);
            mp.appendChild($C("menuitem", {
                label: "Styles importieren",
                accesskey: "R",
                acceltext: "Alt + R",
                oncommand: "UCL.rebuild();"
            }));
            mp.appendChild($C("menuseparator"));
            mp.appendChild($C("menuitem", {
                label: "CSS Datei erstellen",
                accesskey: "D",
                oncommand: "UCL.create();"
            }));
            mp.appendChild($C("menuitem", {
                label: "CSS Ordner öffnen",
                accesskey: "O",
                oncommand: "UCL.openFolder();"
            }));
            mp.appendChild($C("menuitem", {
                label: "userChrome.css bearbeiten",
                hidden: false,
                oncommand: "UCL.editUserCSS(\'userChrome.css\');"
            }));
            mp.appendChild($C("menuitem", {
                label: "userContent.css bearbeiten",
                hidden: false,
                oncommand: "UCL.editUserCSS(\'userContent.css\');"
            }));
            mp.appendChild($C("menuseparator"));
            mp.appendChild($C("menuitem", {
                label: "Style Test (Chrome)",
                id: "usercssloader-test-chrome",
                hidden: true,
                accesskey: "C",
                oncommand: "UCL.styleTest(window);"
            }));
            mp.appendChild($C("menuitem", {
                label: "Style Test (Web)",
                id: "usercssloader-test-content",
                hidden: true,
                accesskey: "W",
                oncommand: "UCL.styleTest();"
            }));
            mp.appendChild($C("menuitem", {
                label: "Styles dieser Seite auf userstyles.org finden",
                accesskey: "S",
                oncommand: "UCL.searchStyle();"
            }));
    
            menu = $C("menu", {
                label: ".uc.css",
                accesskey: "U",
                hidden: !UCL.USE_UC
            });
            menupopup.appendChild(menu);
            mp = $C("menupopup", { id: "usercssloader-ucmenupopup" });
            menu.appendChild(mp);
            mp.appendChild($C("menuitem", {
                label: "Importieren(.uc.js)",
                oncommand: "UCL.UCrebuild();"
            }));
            mp.appendChild($C("menuseparator", { id: "usercssloader-ucseparator" }));
    
            CustomizableUI.createWidget({
                id: 'usercssloader-menu-item',
                type: 'custom',
                defaultArea: CustomizableUI.AREA_NAVBAR,
                onBuild: function(aDocument) {
                    let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem');
                    toolbaritem.id = 'usercssloader-menu-item';
                    toolbaritem.className = 'chromeclass-toolbar-additional';
                    return toolbaritem;
                }
            });
            $('usercssloader-menu-item').appendChild(cssmenu);
            
            let refNode = $('helpMenu');
            refNode.parentNode.insertBefore(cssmenu, refNode.nextSibling);
            
            $("mainKeyset").appendChild($C("key", {
                id: "usercssloader-rebuild-key",
                oncommand: "UCL.rebuild();",
                key: "R",
                modifiers: "alt",
            }));
            this.rebuild();
            this.initialized = true;
            if (UCL.USE_UC) {
                setTimeout(function() {
                    UCL.UCcreateMenuitem();
                }, 1000);
            }
            window.addEventListener("unload", this, false);
        },
        uninit: function() {
            const dis = [];
            for (let x of Object.keys(this.readCSS)) {
                if (!this.readCSS[x].enabled)
                    dis.push(x);
            }
            this.prefs.setCharPref("disabled_list", dis.join("|"));
            window.removeEventListener("unload", this, false);
        },
        destroy: function() {
            var i = document.getElementById("usercssloader-menu");
            if (i) i.parentNode.removeChild(i);
            var i = document.getElementById("usercssloader-rebuild-key");
            if (i) i.parentNode.removeChild(i);
            this.uninit();
        },
        handleEvent: function(event) {
            switch(event.type){
                case "unload": this.uninit(); break;
            }
        },
        rebuild: function() {
            let ext = /\.css$/i;
            let not = /\.uc\.css/i;
            let files = this.FOLDER.directoryEntries.QueryInterface(Ci.nsISimpleEnumerator);
            
            while (files.hasMoreElements()) {
                let file = files.getNext().QueryInterface(Ci.nsIFile);
                if (!ext.test(file.leafName) || not.test(file.leafName)) continue;
                let CSS = this.loadCSS(file);
                CSS.flag = true;
            }
            for (let leafName of Object.keys(this.readCSS)) {
                const CSS = this.readCSS[leafName];
                if (!CSS.flag) {
                    CSS.enabled = false;
                    delete this.readCSS[leafName];
                }
                delete CSS.flag;
                this.rebuildMenu(leafName);
            }
            if (this.initialized) {
                if (typeof(StatusPanel) !== "undefined")
                    StatusPanel._label = "Style importiert";
                else
                    XULBrowserWindow.statusTextField.label = "Styles importieren";
            }
        },
        loadCSS: function(aFile) {
            var CSS = this.readCSS[aFile.leafName];
            if (!CSS) {
                CSS = this.readCSS[aFile.leafName] = new CSSEntry(aFile);
                if (this.disabled_list.indexOf(CSS.leafName) === -1) {
                    CSS.enabled = true;
                }
            } else if (CSS.enabled) {
                CSS.enabled = true;
            }
            return CSS;
        },
        rebuildMenu: function(aLeafName) {
            var CSS = this.readCSS[aLeafName];
            var menuitem = document.getElementById("usercssloader-" + aLeafName);
            if (!CSS) {
                if (menuitem)
                    menuitem.parentNode.removeChild(menuitem);
                return;
            }
            if (!menuitem) {
                menuitem = $C("menuitem", {
                    label        : aLeafName,
                    id            : "usercssloader-" + aLeafName,
                    class        : "usercssloader-item " + (CSS.SHEET == this.AGENT_SHEET? "AGENT_SHEET" : CSS.SHEET == this.AUTHOR_SHEET? "AUTHOR_SHEET": "USER_SHEET"),
                    type        : "checkbox",
                    autocheck    : "false",
                    oncommand    : "UCL.toggle('"+ aLeafName +"');",
                    onclick        : "UCL.itemClick(event);"
                });
                document.getElementById("usercssloader-menupopup").appendChild(menuitem);
            }
            menuitem.setAttribute("checked", CSS.enabled);
        },
        toggle: function(aLeafName) {
            var CSS = this.readCSS[aLeafName];
            if (!CSS) return;
            CSS.enabled = !CSS.enabled;
            this.rebuildMenu(aLeafName);
        },
        itemClick: function(event) {
            if (event.button == 0) return;
            
            event.preventDefault();
            event.stopPropagation();
            let label = event.currentTarget.getAttribute("label");
            
            if (event.button == 1) {
                this.toggle(label);
            }
            else if (event.button == 2) {
                closeMenus(event.target);
                this.edit(this.getFileFromLeafName(label));
            }
        },
        getFileFromLeafName: function(aLeafName) {
            let f = this.FOLDER.clone();
            f.QueryInterface(Ci.nsIFile); // use appendRelativePath
            f.appendRelativePath(aLeafName);
            return f;
        },
        styleTest: function(aWindow) {
            aWindow || (aWindow = this.getFocusedWindow());
            new CSSTester(aWindow, function(tester){
                if (tester.saved)
                    UCL.rebuild();
            });
        },
        searchStyle: function() {
            let word;
            try {
                word = gBrowser.currentURI.host;
            } catch {
                word = gBrowser.currentURI.spec;
            }
            openWebLinkIn("https://userstyles.org/styles/search/" + word, "tab", {});
        },
        openFolder:function(){
            if (this.vFileManager.length != 0) {
                var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
                var process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
                var args=[this.FOLDER.path];
                file.initWithPath(this.vFileManager);
                process.init(file);
                // Verzeichnis mit anderem Dateimanager öffnen
                process.run(false, args, args.length);
            } else {
                // Verzeichnis mit Dateimanager des Systems öffnen
                this.FOLDER.launch();
            }
        },
        editUserCSS: function(aLeafName) {
            let file = Services.dirsvc.get("UChrm", Ci.nsIFile);
            file.appendRelativePath(aLeafName);
            this.edit(file);
        },
        edit: function(aFile) {
            var editor = Services.prefs.getCharPref("view_source.editor.path");
            if (!editor) return alert("Unter about:config den vorhandenen Schalter:\n view_source.editor.path mit dem Editorpfad ergänzen");
            try {
                var UI = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
                UI.charset = window.navigator.platform.toLowerCase().indexOf("win") >= 0? "Shift_JIS": "UTF-8";
                var path = UI.ConvertFromUnicode(aFile.path);
                var app = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsIFile);
                app.initWithPath(editor);
                var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
                process.init(app);
                process.run(false, [path], 1);
            } catch (e) {}
        },
        create: function(aLeafName) {
            if (!aLeafName) aLeafName = prompt("Name des Styles", dateFormat(new Date(), "%Y_%m%d_%H%M%S"));
            if (aLeafName) aLeafName = aLeafName.replace(/\s+/g, " ").replace(/[\\/:*?\"<>|]/g, "");
            if (!aLeafName || !/\S/.test(aLeafName)) return;
            if (!/\.css$/.test(aLeafName)) aLeafName += ".css";
            let file = this.getFileFromLeafName(aLeafName);
            this.edit(file);
        },
        UCrebuild: function() {
            let re = /^file:.*\.uc\.css(?:\?\d+)?$/i;
            let query = "?" + new Date().getTime();
            Array.slice(document.styleSheets).forEach(function(css){
                if (!re.test(css.href)) return;
                if (css.ownerNode) {
                    css.ownerNode.parentNode.removeChild(css.ownerNode);
                }
                let pi = document.createProcessingInstruction('xml-stylesheet','type="text/css" href="'+ css.href.replace(/\?.*/, '') + query +'"');
                document.insertBefore(pi, document.documentElement);
            });
            UCL.UCcreateMenuitem();
        },
        UCcreateMenuitem: function() {
            let sep = $("usercssloader-ucseparator");
            let popup = sep.parentNode;
            if (sep.nextSibling) {
                let range = document.createRange();
                range.setStartAfter(sep);
                range.setEndAfter(popup.lastChild);
                range.deleteContents();
                range.detach();
            }
    
            let re = /^file:.*\.uc\.css(?:\?\d+)?$/i;
            Array.slice(document.styleSheets).forEach(function(css) {
                if (!re.test(css.href)) return;
                let fileURL = decodeURIComponent(css.href).split("?")[0];
                let aLeafName = fileURL.split("/").pop();
                let m = $C("menuitem", {
                    label        : aLeafName,
                    tooltiptext    : fileURL,
                    id            : "usercssloader-" + aLeafName,
                    type        : "checkbox",
                    autocheck    : "false",
                    checked        : "true",
                    oncommand    : "this.setAttribute('checked', !(this.css.disabled = !this.css.disabled));",
                    onclick        : "UCL.UCItemClick(event);"
                });            
                m.css = css;
                popup.appendChild(m);
            });
        },
        UCItemClick: function(event) {
            if (event.button == 0) return;
            event.preventDefault();
            event.stopPropagation();
    
            if (event.button == 1) {
                event.target.doCommand();
            }
            else if (event.button == 2) {
                closeMenus(event.target);
                let fileURL = event.currentTarget.getAttribute("tooltiptext");
                let file = Services.io.getProtocolHandler("file").QueryInterface(Components.interfaces.nsIFileProtocolHandler).getFileFromURLSpec(fileURL);
                this.edit(file);
            }
        },
    };
    
    function CSSEntry(aFile) {
        this.path = aFile.path;
        this.leafName = aFile.leafName;
        this.lastModifiedTime = 1;
        this.SHEET = /^xul-|\.as\.css$/i.test(this.leafName) ? 
            Ci.nsIStyleSheetService.AGENT_SHEET:
            /\.author\.css$/i.test(this.leafName)?
            Ci.nsIStyleSheetService.AUTHOR_SHEET:
            Ci.nsIStyleSheetService.USER_SHEET;
    }
    CSSEntry.prototype = {
        sss: Components.classes["@mozilla.org/content/style-sheet-service;1"]
                        .getService(Components.interfaces.nsIStyleSheetService),
        _enabled: false,
        get enabled() {
            return this._enabled;
        },
        set enabled(isEnable) {
            var aFile = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsIFile)
            aFile.initWithPath(this.path);
        
            var isExists = aFile.exists(); // Wenn die Datei existiert true
            var lastModifiedTime = isExists ? aFile.lastModifiedTime : 0;
            var isForced = this.lastModifiedTime != lastModifiedTime; // Wenn es eine Änderung in der Datei gibt true
    
            var fileURL = Services.io.getProtocolHandler("file").QueryInterface(Components.interfaces.nsIFileProtocolHandler).getURLSpecFromActualFile(aFile);
            var uri = Services.io.newURI(fileURL, null, null);
    
            if (this.sss.sheetRegistered(uri, this.SHEET)) {
                // Wenn diese Datei bereits gelesen wurde
                if (!isEnable || !isExists) {
                    this.sss.unregisterSheet(uri, this.SHEET);
                }
                else if (isForced) {
                    // Nach Stornierung erneut einlesen
                    this.sss.unregisterSheet(uri, this.SHEET);
                    this.sss.loadAndRegisterSheet(uri, this.SHEET);
                }
            } else {
                // Datei wurde nicht gelesen
                if (isEnable && isExists) {
                    this.sss.loadAndRegisterSheet(uri, this.SHEET);
                }
            }
            if (this.lastModifiedTime !== 1 && isEnable && isForced) {
                log(this.leafName + " wurde aktualisiert");
            }
            this.lastModifiedTime = lastModifiedTime;
            return this._enabled = isEnable;
        },
    };
    
    function CSSTester(aWindow, aCallback) {
        this.win = aWindow || window;
        this.doc = this.win.document;
        this.callback = aCallback;
        this.init();
    }
    CSSTester.prototype = {
        sss: Components.classes["@mozilla.org/content/style-sheet-service;1"]
                        .getService(Components.interfaces.nsIStyleSheetService),
        preview_code: "",
        saved: false,
        init: function() {
            this.dialog = openDialog(
                "data:text/html;charset=utf8,"+encodeURIComponent('<!DOCTYPE HTML><html lang="de"><head><title>CSSTester</title></head><body></body></html>'),
                "",
                "width=550,height=400,dialog=no");
            this.dialog.addEventListener("load", this, false);
        },
        destroy: function() {
            this.preview_end();
            this.dialog.removeEventListener("unload", this, false);
            this.previewButton.removeEventListener("click", this, false);
            this.saveButton.removeEventListener("click", this, false);
            this.closeButton.removeEventListener("click", this, false);
        },
        handleEvent: function(event) {
            switch(event.type) {
                case "click":
                    if (event.button != 0) return;
                    if (this.previewButton == event.currentTarget) {
                        this.preview();
                    }
                    else if (this.saveButton == event.currentTarget) {
                        this.save();
                    }
                    else if (this.closeButton == event.currentTarget) {
                        this.dialog.close();
                    }
                    break;
                case "load":
                    var doc = this.dialog.document;
                    doc.body.innerHTML = '\
                        <style type="text/css">\
                            :not(input):not(select) { padding: 0px; margin: 0px; }\
                            table { border-spacing: 0px; }\
                            body, html, #main, #textarea { width: 100%; height: 100%; }\
                            #textarea { font-family: monospace; }\
                        </style>\
                        <table id="main">\
                            <tr height="100%">\
                                <td colspan="4"><textarea id="textarea"></textarea></td>\
                            </tr>\
                            <tr height="40">\
                                <td><input type="button" value="Vorschau" id="Vorschau"/></td>\
                                <td><input type="button" value="Speichern" id="Speichern"/></td>\
                                <td width="80%"><span class="log"></span></td>\
                                <td><input type="button" value="Schließen" id="Schliessen"/></td>\
                            </tr>\
                        </table>\
                    ';
                    this.textbox = doc.querySelector("textarea");
                    this.previewButton = doc.querySelector('input[value="Vorschau"]');
                    this.saveButton = doc.querySelector('input[value="Speichern"]');
                    this.closeButton = doc.querySelector('input[value="Schließen"]');
                    this.logField = doc.querySelector('.log');
    
                    var code = "@namespace url(" + this.doc.documentElement.namespaceURI + ");\n";
                    code += this.win.location.protocol.indexOf("http") === 0?
                        "@-moz-document domain(" + this.win.location.host + ") {\n\n\n\n}":
                        "@-moz-document url(" + this.win.location.href + ") {\n\n\n\n}";
                    this.textbox.value = code;
                    this.dialog.addEventListener("unload", this, false);
                    this.previewButton.addEventListener("click", this, false);
                    this.saveButton.addEventListener("click", this, false);
                    this.closeButton.addEventListener("click", this, false);
    
                    this.textbox.focus();
                    let p = this.textbox.value.length - 3;
                    this.textbox.setSelectionRange(p, p);
    
                    break;
                case "unload":
                    this.destroy();
                    this.callback(this);
                    break;
            }
        },
        preview: function() {
            var code = this.textbox.value;
            if (!code || !/\:/.test(code))
                return;
            code = "data:text/css;charset=utf-8," + encodeURIComponent(this.textbox.value);
            if (code == this.preview_code)
                return;
            this.preview_end();
            var uri = Services.io.newURI(code, null, null);
            this.sss.loadAndRegisterSheet(uri, Ci.nsIStyleSheetService.AGENT_SHEET);
            this.preview_code = code;
            this.log("Preview");
        },
        preview_end: function() {
            if (this.preview_code) {
                let uri = Services.io.newURI(this.preview_code, null, null);
                this.sss.unregisterSheet(uri, Ci.nsIStyleSheetService.AGENT_SHEET);
                this.preview_code = "";
            }
        },
        save: function() {
            var data = this.textbox.value;
            if (!data) return;
    
            var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
            fp.init(window, "", Ci.nsIFilePicker.modeSave);
            fp.appendFilter("CSS Files","*.css");
            fp.defaultExtension = "css";
            if (window.UCL)
                fp.displayDirectory = UCL.FOLDER;
            var res = fp.show();
            if (res != fp.returnOK && res != fp.returnReplace) return;
    
            var suConverter = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter);
            suConverter.charset = "UTF-8";
            data = suConverter.ConvertFromUnicode(data);
            var foStream = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
            foStream.init(fp.file, 0x02 | 0x08 | 0x20, 0664, 0);
            foStream.write(data, data.length);
            foStream.close();
            this.saved = true;
        },
        log: function() {
            this.logField.textContent = dateFormat(new Date(), "%H:%M:%S") + ": " + $A(arguments);
        }
    };
    
    UCL.init();
    
    function $(id) { return document.getElementById(id); }
    function $A(arr) { return Array.slice(arr); }
    function $C(name, attr) {
        var el = document.createXULElement(name);
        if (attr) Object.keys(attr).forEach(function(n) { el.setAttribute(n, attr[n]) });
        return el;
    }
    function dateFormat(date, format) {
        format = format.replace("%Y", ("000" + date.getFullYear()).substr(-4));
        format = format.replace("%m", ("0" + (date.getMonth()+1)).substr(-2));
        format = format.replace("%d", ("0" + date.getDay()).substr(-2));
        format = format.replace("%H", ("0" + date.getHours()).substr(-2));
        format = format.replace("%M", ("0" + date.getMinutes()).substr(-2));
        format = format.replace("%S", ("0" + date.getSeconds()).substr(-2));
        return format;
    }
    
    function log() { Application.console.log(Array.slice(arguments)); }
    
    })();
    Alles anzeigen

    Wie man sieht unterstützt sie jetzt auch Author_Sheet:

    JavaScript
    AGENT_SHEET: Ci.nsIStyleSheetService.AGENT_SHEET,
    USER_SHEET : Ci.nsIStyleSheetService.USER_SHEET,
    AUTHOR_SHEET: Ci.nsIStyleSheetService.AUTHOR_SHEET,

    Quelle kann ich keine Angeben, da das Original Script von Griever

    nicht mehr geht. Aborix und andere Leute aus Asien haben es
    dann wieder laufffähig gemacht. Die aktuelle Änderung habe ich in
    einem Script aus den asiatischen Tiefen gefunden, und dann in unsere
    Version übertragen.

    Mfg.
    Endor

  • scrollbars.uc.js anpassen - geschafft und erledigt!

    • Endor
    • 16. August 2022 um 12:15

    Hallo Mira_Belle

    Wenn überhaupt, dann kann Dir nur aborix, unser Script Genie, helfen.

    Mal abwarten.

    Mfg.
    Endor

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

    • Endor
    • 14. August 2022 um 15:21

    Hallo Dharkness

    Ja ist hier auch so und steht hier auch auf false.

    Mfg.
    Endor

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

    • Endor
    • 14. August 2022 um 14:30

    Nur als Info, von diesem Script gibt es eine neuere Version:

    1.1

    JavaScript
    // ==UserScript==
    // @name                 dav_LinkifiesLocationBar
    // @version              1.1
    // @description          dav_LinkifiesLocationBar
    // @shutdown        dav_LinkifiesLocationBar.globalShutdown();
    // ==/UserScript==
    
    /*
    Idea based on
    https://addons.mozilla.org/en-US/firefox/addon/locationbar%C2%B2/
    https://github.com/simonlindholm/locationbar2
    */
    setTimeout(function() {
        if (location.href != 'chrome://browser/content/browser.xhtml') return;
    
        const colorizeExtensionFile = false,
            selectUrlbarText = true,
            pathnameArrow = true,
            fontMonospace = true,
            usePunycode = true;
    
        //https://stackoverflow.com/questions/183485/converting-punycode-with-dash-character-to-unicode/301287#301287
        var punycode=new function(){this.utf16={decode:function(r){for(var o,e,t=[],n=0,f=r.length;n<f;){if(55296==(63488&(o=r.charCodeAt(n++)))){if(e=r.charCodeAt(n++),55296!=(64512&o)||56320!=(64512&e))throw new RangeError("UTF-16(decode): Illegal UTF-16 sequence");o=((1023&o)<<10)+(1023&e)+65536}t.push(o)}return t},encode:function(r){for(var o,e=[],t=0,n=r.length;t<n;){if(55296==(63488&(o=r[t++])))throw new RangeError("UTF-16(encode): Illegal UTF-16 value");o>65535&&(o-=65536,e.push(String.fromCharCode(o>>>10&1023|55296)),o=56320|1023&o),e.push(String.fromCharCode(o))}return e.join("")}};var r=36,o=700,e=1,t=26,n=38,f=2147483647;function h(r,o){return r+22+75*(r<26)-((0!=o)<<5)}function a(f,h,a){var i;for(f=a?Math.floor(f/o):f>>1,f+=Math.floor(f/h),i=0;f>(r-e)*t>>1;i+=r)f=Math.floor(f/(r-e));return Math.floor(i+(r-e+1)*f/(f+n))}this.decode=function(o,n){var h,i,u,c,d,l,p,g,s,C,v,w,y,A,E=[],M=[],R=o.length;for(h=128,u=0,c=72,(d=o.lastIndexOf("-"))<0&&(d=0),l=0;l<d;++l){if(n&&(M[E.length]=o.charCodeAt(l)-65<26),o.charCodeAt(l)>=128)throw new RangeError("Illegal input >= 0x80");E.push(o.charCodeAt(l))}for(p=d>0?d+1:0;p<R;){for(g=u,s=1,C=r;;C+=r){if(p>=R)throw RangeError("punycode_bad_input(1)");if((v=(A=o.charCodeAt(p++))-48<10?A-22:A-65<26?A-65:A-97<26?A-97:r)>=r)throw RangeError("punycode_bad_input(2)");if(v>Math.floor((f-u)/s))throw RangeError("punycode_overflow(1)");if(u+=v*s,v<(w=C<=c?e:C>=c+t?t:C-c))break;if(s>Math.floor(f/(r-w)))throw RangeError("punycode_overflow(2)");s*=r-w}if(c=a(u-g,i=E.length+1,0===g),Math.floor(u/i)>f-h)throw RangeError("punycode_overflow(3)");h+=Math.floor(u/i),u%=i,n&&M.splice(u,0,o.charCodeAt(p-1)-65<26),E.splice(u,0,h),u++}if(n)for(u=0,y=E.length;u<y;u++)M[u]&&(E[u]=String.fromCharCode(E[u]).toUpperCase().charCodeAt(0));return this.utf16.encode(E)},this.encode=function(o,n){var i,u,c,d,l,p,g,s,C,v,w,y;n&&(y=this.utf16.decode(o));var A=(o=this.utf16.decode(o.toLowerCase())).length;if(n)for(p=0;p<A;p++)y[p]=o[p]!=y[p];var E,M,R=[];for(i=128,u=0,l=72,p=0;p<A;++p)o[p]<128&&R.push(String.fromCharCode(y?(E=o[p],M=y[p],(E-=(E-97<26)<<5)+((!M&&E-65<26)<<5)):o[p]));for(c=d=R.length,d>0&&R.push("-");c<A;){for(g=f,p=0;p<A;++p)(w=o[p])>=i&&w<g&&(g=w);if(g-i>Math.floor((f-u)/(c+1)))throw RangeError("punycode_overflow (1)");for(u+=(g-i)*(c+1),i=g,p=0;p<A;++p){if((w=o[p])<i&&++u>f)return Error("punycode_overflow(2)");if(w==i){for(s=u,C=r;!(s<(v=C<=l?e:C>=l+t?t:C-l));C+=r)R.push(String.fromCharCode(h(v+(s-v)%(r-v),0))),s=Math.floor((s-v)/(r-v));R.push(String.fromCharCode(h(s,n&&y[p]?1:0))),l=a(u,c+1,c==d),u=0,++c}}++u,++i}return R.join("")},this.ToASCII=function(r){for(var o=r.split("."),e=[],t=0;t<o.length;++t){var n=o[t];e.push(n.match(/[^A-Za-z0-9-]/)?"xn--"+punycode.encode(n):n)}return e.join(".")},this.toUnicode=function(r){for(var o=r.split("."),e=[],t=0;t<o.length;++t){var n=o[t];e.push(n.match(/^xn--/)?punycode.decode(n.slice(4)):n)}return e.join(".")}};
    
        function getWindow(){
            return window;
        }
        function getMostRecentWindow(){
            var win = Components.classes["@mozilla.org/appshell/window-mediator;1"]
                .getService(Components.interfaces.nsIWindowMediator)
                .getMostRecentWindow("navigator:browser");
            return win;
        }
        var localWindow = getWindow();
        localWindow.dav_LinkifiesLocationBar = {};
    
        var styleBase = `
            @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    
            .claseLocationBar{
               display: block;
               position: absolute;
               height: 24px;
               width: 100%;
               line-height: 24px;
               white-space:nowrap;
               overflow:hidden;
            }
            .claseLocationBar span{
                position: relative;
               margin: 0 1px;
               display: inline-block;
            }
            .claseLocationBar span:hover{
                text-decoration: underline;
                cursor: pointer;
            }
            .claseLocationBar .label_pathname {
                margin-inline: unset !important;
            }
            locationBarTag{
              display: inline;
            }
            /*************************************
            *************** COLORS ***************
            *************************************/
            .claseLocationBar span.protocol{
               font-weight: normal;
               color: #777777;
               margin-right: -1px;
            }
            .claseLocationBar .subdomain {
               font-weight: bold;
               color: #C68007;
            }
            .claseLocationBar span.hostname{
               font-weight: bold;
               color: red;
            }
            .claseLocationBar span.port{
               color: #5F58A3;
            }
            .claseLocationBar span.pathname{
               color: black;
            }
            .claseLocationBar span.hash{
               color: #1054C9;
               margin-left: -1px;
            }
            .claseLocationBar span.search{
               color: #03AA03;
               margin-left: -1px;
            }
            .claseLocationBar .extension{
                color: rgb(96,86,143);
            }
        `;
    
        var style_fontMonospace = !fontMonospace?"":`
            @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
            .urlbar-input-box[dav_LinkifiesLocationBar]{
              font-family: monospace ;
              margin-top: 4px;
            }
            .claseLocationBar{
             margin-top: -4px;
             line-height: 28px;
            }
            .claseLocationBar .pathname:after{
              top: 10px;
            }
            .claseLocationBar span.port{
                margin-left: -1px;
            }
            .claseLocationBar .subdomain {
              margin-right: -1px;
            }
            .claseLocationBar span.hostname{
              margin-right: 1px;
            }
        `;
    
        var style_pathnameArrow = !pathnameArrow?"":`
            @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
            .claseLocationBar span.pathname{
                padding-left:9px;
                margin: 0 2px;
            }
            .claseLocationBar .pathname:before{
                content:' ';
                display: block;
                position: absolute;
                border-style: solid;
                border-width: 4px 4px 4px 7px;
                border-color: transparent transparent transparent #6fa880;
                border-color: transparent transparent transparent #5ba8bf;
                top: 10px;
                left: 0px;
            }
            .claseLocationBar .label_pathname{
                display: none;
            }
        `;
    
        var stylexul = `
            .urlbar-input-box[dav_LinkifiesLocationBar] #urlbar-input:focus ~ .claseLocationBar{
               display: none !important;
            }
            .urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input:focus{
               opacity: 1;
            }
            .urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input{
               opacity: 0;
            }
        `;
    
    /*
    AGENT_SHEET: 0
    USER_SHEET: 1
    AUTHOR_SHEET: 2
    */
        var CSS_Loader = {
            sss: Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService),
            load: function(cssCode) {
                this.unload(cssCode);
                var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
                this.sss.loadAndRegisterSheet(uri, this.sss.AGENT_SHEET);
            },
            unload: function(cssCode) {
                var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
                if (this.sss.sheetRegistered(uri,this.sss.AGENT_SHEET))
                {
                    this.sss.unregisterSheet(uri,this.sss.AGENT_SHEET);
                }
            }
        }
    
        const CLIKS = {
            left: 0,
            middle: 1,
            right: 2
        }
    
        function extend() {
            var copy, target = {};
            for (var i = 0, l = arguments.length; i < l; i++) {
                var options = arguments[i];
                for (var name in options) {
                    copy = options[name];
                    if (copy !== undefined) {
                        target[name] = copy;
                    }
                }
            }
            return target;
        }
    
        var styleString = (style) => {
            return Object.keys(style).reduce((prev, curr) => {
                return `${prev += curr.split(/(?=[A-Z])/).join('-').toLowerCase()}:${style[curr]};`
            }, '');
        };
    
        function createElement(elto) {
            elto = extend({
                attrArray: {},
                evtListener: [],
                estilos: {}
            }, elto);
    
            var node = getWindow().document.createXULElement(elto.type);
    
            Object.keys(elto.attrArray).forEach(key => {
                if(key == "innerHTML"){
                    node.innerHTML = encodeHTML(elto.attrArray[key]);
                }
                else {
                    node.setAttribute(key, elto.attrArray[key]);
                }
            });
    
            elto.evtListener.forEach(evt => {
                node.addEventListener(evt.type, evt.funcion, false);
            });
    
            let estilo = styleString(elto.estilos);
            if (estilo) {
                node.setAttribute("style", estilo);
            }
    
            return node;
        }
    
        function encodeHTML(text) {
            return decodeURI(text)
                .replace(/&/g, '&amp;')
                .replace(/</g, '&lt;')
                .replace(/>/g, '&gt;')
                .replace(/"/g, '&quot;')
                .replace(/'/g, '&apos;');
        }
    
        function appendPart(text, clase) {
            if (!text) return;
    
            if(clase == "pathname")
            {
                let sp = createElement({
                    type: "label",
                    attrArray: {
                        class: "label_pathname",
                        innerHTML:"/"
                    }
                });
                divLocationBar.appendChild(sp);
            }
            let sp = createElement({
                type: "span",
                attrArray: {
                    class: clase,
                    innerHTML:text
                },
                evtListener: [{
                    type: "click",
                    funcion: clickPart
                }]
            });
            divLocationBar.appendChild(sp);
            sp.setAttribute("href", divLocationBar.textContent);
            return sp;
        }
    
        function clickPart(evt) {
            if (evt.button == CLIKS.right) return;
    
            let target = evt.target;
            if (target.className != "protocol") {
                let href = target.getAttribute("href");
                var where = evt.button == CLIKS.middle || evt.ctrlKey ? "tab" : "current";
                evt.view.openLinkIn(href, where, {
                    allowThirdPartyFixup: true,
                    targetBrowser: gBrowser.selectedBrowser,
                    indicateErrorPageLoad: true,
                    allowPinnedTabHostChange: true,
                    disallowInheritPrincipal: true,
                    allowPopups: false,
                    triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()
                });
    
                evt.stopPropagation();
            }
        }
    
        function borraPrevio() {
            var divPrevio = localWindow.document.querySelector(".claseLocationBar");
            if (divPrevio) {
                divPrevio.parentNode.removeChild(divPrevio)
            }
        }
    
        var debounce = (fn, ms = 0) => {
          let timeoutId;
          return function(...args) {
            clearTimeout(timeoutId);
            timeoutId = setTimeout(() => fn.apply(this, args), ms);
          };
        };
    
        var pintaLocation = debounce(pintaLocation_, 50);
    
        function pintaLocation_() {
            divLocationBar.innerHTML = '';
    
            var urlBarInput = getWindow().document.querySelector("#urlbar-input").value;
            var urlGBrowser = gBrowser.currentURI.displaySpec;
    
            if(urlGBrowser.startsWith("about")){
                divLocationBar.innerHTML = encodeHTML(urlBarInput);
                return;
            }
    
            var url = urlGBrowser.indexOf(urlBarInput) != -1 ? urlGBrowser : urlBarInput;
    
            try {
                var { protocol, hostname, port, pathname, hash, search } = new URL(url);
            } catch (e) {
                divLocationBar.innerHTML = encodeHTML(urlBarInput);
                return;
            }
            if(usePunycode){
                hostname = punycode.toUnicode(hostname);
            }
    
    
            var partido = hostname.split(".");
            var subdomain;
            if(partido.length > 2 && !partido.every( v => v == v-0 ))//chequeamos que no sean todos numeros, porque entonces es una IP
            {
                subdomain = partido.splice(0, partido.length-2).join(".");
                hostname= partido.join(".");
            }
    
            appendPart(protocol + "//", "protocol");
            if (subdomain) {
                appendPart(subdomain+".", "subdomain");
            }
            appendPart(hostname, "hostname");
            if (port) {
                appendPart(":" + port, "port");
            }
            var arrayPathname = pathname.split("/");
            var arrayPathnameLength = arrayPathname.length;
            arrayPathname.forEach((elto, index) => {
                if (elto) {
                    let sp = appendPart(elto, "pathname");
                    if(colorizeExtensionFile && index == arrayPathnameLength-1)
                    {
                        let arrayDot = elto.split(".");
                        if(arrayDot.length > 1)
                        {
                            let extension = arrayDot.pop();
                            sp.innerHTML = "";
                            sp.appendChild(createElement({
                                type: "locationBarTag",
                                attrArray: {
                                    href:sp.getAttribute("href"),
                                    innerHTML: arrayDot.join(".")
                                }
                            }));
                            sp.appendChild(createElement({
                                type: "locationBarTag",
                                attrArray: {
                                    class: "extension",
                                    href:sp.getAttribute("href"),
                                    innerHTML: "."+extension
                                }
                            }));
                        }
                    }
                }
            });
            appendPart(search, "search");
            appendPart(hash, "hash");
        }
    
        /******************* INIT ***************************/
        var urlbarInput = getWindow().document.querySelector("#urlbar-input");
        var timeMouseMove = -1;
        function hideDivLocatonBar(){
            urlbarInput.focus();
        }
        var divLocationBar = createElement({
            type: "div",
            attrArray: {
                class: "claseLocationBar"
            },
            evtListener: [{
                type: "click",
                funcion: function(evt) {
                    hideDivLocatonBar()
                    if(selectUrlbarText){
                        urlbarInput.select();
                    }
                }
            },{
                type: "mouseenter",
                funcion: function(evt) {
                    //esto es el ratón entrando por encima
                    if(evt.screenY == divLocationBar.screenY)
                    {
                        timeMouseMove = setTimeout(hideDivLocatonBar, 500);
                    }
                }
            },{
                type: "mouseleave",
                funcion: function(evt) {
                    clearTimeout(timeMouseMove);
                }
            }]
        });
    
        borraPrevio();
        urlbarInput.parentNode.appendChild(divLocationBar);
        urlbarInput.parentNode.setAttribute("dav_LinkifiesLocationBar", true);
        urlbarInput.addEventListener("blur", pintaLocation);
        pintaLocation();
    
        var last_displaySpec = "";
        var intevalID = setInterval(function(){
            //console.log("setInterval", intevalID,  localWindow == window, localWindow == getMostRecentWindow());
            let actual_displaySpec = gBrowser.currentURI.displaySpec;
            if(last_displaySpec != actual_displaySpec){
                last_displaySpec = actual_displaySpec;
                pintaLocation();
            }
        }, 50);
        CSS_Loader.load(styleBase);
        CSS_Loader.load(style_pathnameArrow);
        CSS_Loader.load(style_fontMonospace);
        CSS_Loader.load(stylexul);
        /******************* END INIT ***************************/
        dav_LinkifiesLocationBar.shutdown = function(win){
            borraPrevio();
            clearTimeout(intevalID);
            urlbarInput.parentNode.removeAttribute("dav_LinkifiesLocationBar");
            CSS_Loader.unload(styleBase);
            CSS_Loader.unload(style_pathnameArrow);
            CSS_Loader.unload(style_fontMonospace);
            CSS_Loader.unload(stylexul);
            urlbarInput.removeEventListener("blur", pintaLocation);
        }
    
        dav_LinkifiesLocationBar.globalShutdown = function(){
            var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
                        .getService(Components.interfaces.nsIWindowMediator);
            var ws = wm.getEnumerator(null);
            while(ws.hasMoreElements()) {
                var w = ws.getNext();
                w.dav_LinkifiesLocationBar.shutdown(w);
            }
        }
    }, 10);
    Alles anzeigen

    Mfg.
    Endor

  • Der Glückwunsch-Thread

    • Endor
    • 13. August 2022 um 11:00

    Hallo milupo.

    Auch von mir alles alles gute zum Geburtstag!!

    Wünsche Dir vor allem viel Gesundheit, aber auch viel Glück und Erfolg.

    Bleib gesund und pass auf Dich auf.
    Viele Grüße

    Endor

  • Was hört Ihr gerade?

    • Endor
    • 9. August 2022 um 13:56

    In Memoriam Olivia Newton John:

    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.

    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

  • In memoriam

    • Endor
    • 7. August 2022 um 12:19

    Hoffe ich auch. Wenn es aber so abläuft wie hier,

    Ein Mann hat zwei Personen umgebracht.

    Da er zum Tatzeitpunkt nicht zurechnungsfähig war.....

    kann er leider nicht zur Verantwortung gezogen werden.

    So läuft es hier leider... Schw......

    Mfg.
    Endor

  • Der Glückwunsch-Thread

    • Endor
    • 7. August 2022 um 12:16

    Hallo Amsterdammer .

    Alles Gute zum Geburtstag.

    Vor allem viel Gesundheit, aber auch viel Glück und Erfolg

    wünsche ich Dir. Bleib Gesund.

    Mfg.
    Endor

  • In memoriam

    • Endor
    • 1. August 2022 um 12:20

    Nichelle Nichols ist tot.

    Star-Trek-Darstellerin Nichols: "Lieutenant Uhura" ist tot
    Die Schauspielerin Nichelle Nichols war vor allem für ihre Rolle als Kommunikationsoffizierin Lieutenant Uhura in "Star Trek" bekannt. Sie ebnete vielen…
    www.tagesschau.de

    R.I.P

    Mfg.
    Endor

  • Der Glückwunsch-Thread

    • Endor
    • 31. Juli 2022 um 19:35

    Hallo Artist

    Alles alles Gute zum Geburtstag.

    Vor allem viel Gesundheit wünsche ich Dir.

    Mfg.
    Endor

  • Der Glückwunsch-Thread

    • Endor
    • 29. Juli 2022 um 08:11

    Hallo Road-Runner!

    Alles alles Gute zum Geburtstag!
    Vor allem viel Gesundheit, aber auch Glück und Erfolg

    wünsche ich Dir. Bleib gesund und pass auf Dich auf.

    Viele Grüße

    Endor

  • Der Glückwunsch-Thread

    • Endor
    • 27. Juli 2022 um 11:28

    Hallo AngelOfDarkness .

    Alles alles Gute zum Geburtstag!!

    Vor allem viel Gesundheit aber auch Glück und Erfolg

    wünsche ich Dir.
    Mfg.

    Endor

  • Der Glückwunsch-Thread

    • Endor
    • 25. Juli 2022 um 15:43

    Auch von mir nachträglich, alles Gute vor allem viel Gesundheit.

    Mfg.
    Endor

  • Schaltfläche um Lesezeichen Leiste ein/auszublenden ?

    • Endor
    • 24. Juli 2022 um 17:00

    Also, bei Linksklick wird nur Firefox neu gestartet ohne Löschen des Scriptcaches.

    Neustarten mit Löschen des Scriptcaches nur mit Rechs- oder Mittelklick auf die Schaltfläche.

    Zitat von Horstmann

    wobei das erstere kein Browserfenster öffnet, das zweite schon .

    Hier öffnet sich bei beiden Firefox wieder.
    Keinerlei Unterschied.
    ist auch logisch, da sie einen gemeinsamen Ausführungsbefehl im Scipt haben:

    JavaScript
    if (event.button == 1 || event.button == 2) { \
                                      Services.appinfo.invalidateCachesOnRestart(); \
                                      Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit); \

    Mfg.
    Endor

  • Anpassen des Bibliothek-Fensters

    • Endor
    • 18. Juli 2022 um 19:44

    Teste mal:

    CSS
    :root {
            --default-focusring-width: 1px !important;
            --default-focusring: var(--default-focusring-width) solid !important; border-radius: 24px 1px !important;
    }

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