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

Beiträge von BarbaraZ-

  • Neue Version ExtraConfigMenu.uc.js; die Kosmetik stimmt nicht mehr

    • BarbaraZ-
    • 17. Januar 2025 um 16:42

    Die CSS-Ordner bis Startup-Cacheordner werden nicht aufgerufen.

    Hier mein Codes und das Skript:

    CSS
    /*
    // ==UserScript==
    // @name           extras_config_menu.uc.js
    // @compatibility  Firefox 135*.*
    // @include        main
    // @version        1.0.20250112
    // @edit           @aborix 7/21 CSS Dateien als Untermenü eingefügt 
    // @edit           @2002Andreas 8/21 Shadow CSS Dateien als Untermenü + Ordner eingefügt
    // @edit 	   @BrokenHeart	1/25 Anpass. wg. Änderung der Sicherheitsrichtlinien bei 'inlineEvents'
    // ==/UserScript==
    */
    var uProfMenu = {
      // Beginn der Konfiguration
      // In der folgenden Zeile (11) den Pfad zum Texteditor eintragen. Bei Fehleintrag wird view_source.editor.path ausgelesen:
      //TextOpenExe: 'E:\\Notepad++\\notepad++.exe',
      TextOpenExe: 'E:\\Notepad++\\notepad++.exe',
      // Falls gewuenscht, in Zeile 15 einen Dateimanager eintragen (komplett leer lassen fuer Dateimanager des Systems) Beispiele:
      // vFileManager: 'C:\\TotalCommander\\TOTALCMD64.exe',
      vFileManager: 'C:\\TotalCommander\\TOTALCMD64.exe',
      // In der folgenden Zeile (19) 'menu' eintragen, damit es unter "Extras" als Menue erscheint, sonst die id des gewuenschten Elements *nach* dem der Button erscheinen soll (z.B. 'urlbar', 'searchbar', 'undoclosetab-button','abp-toolbarbutton')
      // Bitte nicht so etwas wie die Menue- oder Navigationsleiste (sondern einen Menuepunkt oder einen Button mit id auf diesen Leisten) eintragen:
      warpmenuto: 'urlbar-container',
      // Unter Linux sollte/kann versucht werden, die userChromeJS-Skripte zu sortieren, unter Windows ist das evtl. nicht noetig (die Sortierung wird Gross- und Kleinschreibung *nicht* beruecksichtigen - dazu wird die sort()-Funktion entsprechend mit einer Vergleichsfunktion aufgerufen)
      sortScripts: 0,   // 1 zum Erzwingen der Sortierung
      // Einbindung GM-Skripte-Ordner (0: nein, 1: Greasemonkey [Profil-Verzeichnis], 2: UserScriptLoader [Chrome-Verzeichnis], 3: Scriptish [Profil-Verzeichnis]):
      gmOrdner: 0,
      // Einbindung CSS-Ordner (0: nein, 1: UserCSSLoader-Ordner im Chrome-Verzeichnis):
      cssOrdner: 1,
      // In Zeile 30 gueltige about:Adressen eintragen, die ebenfalls aufgerufen werden sollen.
      // - Zum Ausblenden: abouts: [],
      // - Damit die about:-Seiten nicht als Untermenue, sondern direkt als Menuepunkte aufgefuehrt werden, muss das erste Element '0' sein:
      // abouts: ['0','about:about','about:addons','about:cache','about:config','about:support'],
      abouts: ['about:about','about:addons','about:cache','about:config','about:crashes','about:downloads','about:home','about:logins','about:memory','about:support','about:preferences','about:performance','about:profiles'],
      // Die normalen Firefox-Einstellungen auch zur Verfuegung stellen (0: nein, 1: ja):
      showNormalPrefs: 1,
      // Stellt "Skriptliste in Zwischenablage" zur Verfuegung (1: ja, 2: mit getrennter Nummerierung, 3: mit gemeinsamer Nummerierung) oder nicht (0):
      enableScriptsToClip: 1,
      // Um den Eintrag "Neustart" zu erzwingen (falls z.B. das andere Skript zu spaet eingebunden und nicht erkannt wird), auf 1 setzen:
      enableRestart: 0,
      // Ende der Konfiguration
    
      init: function() {
        if (this.warpmenuto.toLowerCase() == 'menu') {
          // aufgrund des gewaehlten warpmenuto als Untermenue von Extras anlegen
          var zielmenu = document.getElementById('menu_ToolsPopup');
          if (zielmenu==null) {
            userChrome.log("extras_config_menu.uc.js findet Zielmenue nicht, evtl. weil ein anderes Fenster als das Hauptfenster " +
                           "geoeffnet wurde. Falls dieser Fehler auch im Hauptfenster auftritt, bitte die vorgehende Definition " +
                           "von 'zielmenu' kontrollieren.");
           return
          }
          var menu = zielmenu.appendChild(this.createME("menu","Config Men\u00FC",0,0,"ExtraConfigMenu"));
          menu.setAttribute("class","menu-iconic");
          menu.setAttribute("ondblclick","openTrustedLinkIn('about:config', 'tab');");
         } else {
    		 
    	 // als verschiebbaren Button anlegen
          if (window.__SSi == "window0") {
            CustomizableUI.createWidget({
              id: "ExtraConfigMenu-button",
              defaultArea: CustomizableUI.AREA_NAVBAR,
              label: "Extra Config Menü",
              tooltiptext: "Extra Config Menü\nRechtsklick \öffnet about:config"
            });
    		
          }
          var menu = document.getElementById("ExtraConfigMenu-button");
          menu.setAttribute("type", "menu");
    	  menu.addEventListener('click', function(event) {
    			if (event.button == 2 && !this.open) { 
    				openTrustedLinkIn("about:config", "tab");
    				event.preventDefault();
    			};
    	 },true);
    	  
        }
    	
        //ab hier ist alles gleich, egal ob Button oder Menue
        var css = " \
          #ExtraConfigMenu, #ExtraConfigMenu-button { \
            list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACnElEQVR4Xm2RzYtbZRSHn/fr3pvJzTB3qiNM2k2pMBUGhEHaqsUqdeFGQalCobgREaFu/B/cqCtxVSjoQhBEQRBmIfWDKgNGJUPt0Nhah9JJ4iSd5E6+bu5972tAO4SS5/DjXZ1znsMrNiq1eikMQqYYJCmjxNH5+zdW777L0J5KKl9VPmnf+ut9KWkwhbheuzNcOVYOmGKc5iRO0r1ykeXCx0h7kt4fC3z5wfqbQnAJwQHa5S7jAZSRuJ0mkf81cheobhBXZa+ri1uptQjHAZoZCEC1PiPgDuwxCfwerBU7b73zXn//3usCcdt4HkZ7SGZg431U51NUCgwlO3cV/bVXhR/6p9ut+nP9QYeNn7/n8qUPZxvQ/Q6VVWHk4ZqWRvlJjpx9hcGfW2wO95N2q8m3618A2WwDt/0RplSAXsBed57eyossHl5GYdHacG3zGpADM06wjQ1UUIN+CLHPvfAxojPnKLiE+bDE1R9+5GatAmgPeGCAteQ7l5GBhGSyuROyd/gFouUyWkqEErR2mwXAAA8BRS0AgMQBjSra30ZkEeDzz9Dn4ZcvMO51SMcJcTdGChmA0ABA6cAgzyG3I8jLEBylV4fWoaeIc0V7t0Uv7pFbC+CA+28mp/8+SwXKnMVmz1O9HpE+eobMZdjcoY1GIHD/NwIdoH1fBaNguzlg88pVyoUi4vTbFI8eJxsNAIfSkrliESllH/L0v0jktNNomFGv1TFrL3Fo9QSMR3jaEEXzLC09gjaKp595No0WjyCEB4zRclICUMDxtRMce/wJ1MIi2SglXShhfI/cOjxPoZRmbq4gXzt/gVrtBrdvbiG+Wf+p/mvll1BpiVAGhCDPxuAUDotz4HKHlIJON6bRbL4hhPjcMx5mkn8BBLEUrsVZbq0AAAAASUVORK5CYII=);  \
    		 margin-top: 0px !important; \);  \
    		 margin-top: 0px !important; \
    		 opacity: 1 !important;\
          } \
          #ExtraConfigMenu-button > dropmarker, #ExtraConfigMenu-button > hbox > .toolbarbutton-menu-dropmarker { \
            display: none !important; \
          }";
        var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
        var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
        sss.loadAndRegisterSheet(uri,sss.AGENT_SHEET);
    	menu.addEventListener('popupshowing', function(event) {
    			uProfMenu.getScripts(0);
    			uProfMenu.getCss(3);
    			uProfMenu.getCss(4);
    			uProfMenu.getCss(5);
    	 },true);
    	
        var menupopup = menu.appendChild(this.createME("menupopup",0,0,0,"ExtraConfigMenu-popup"));
        // Anlegen von Untermenues fuer userChromeJS-Skripte und CSS-Dateien (befuellen spaeter)
        var submenu = menupopup.appendChild(this.createME("menu","Meine Scripte",0,0,"submenu-ucjs"));
        var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-ucjs-items"));
        // var submenu = menupopup.appendChild(this.createME("menu","uc.xul",0,0,"submenu-ucxul"));
        // var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-ucxul-items"));
        var submenu = menupopup.appendChild(this.createME("menu","Meine CSS-Dateien",0,0,"submenu-css"));
        var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-css-items"));
        //var submenu = menupopup.appendChild(this.createME("menu","CSSShadow",0,0,"submenu-CSSShadow"));
        //var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-CSSShadow-items"));
        //var submenu = menupopup.appendChild(this.createME("menu","cssweb",0,0,"submenu-cssweb"));
        var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-cssweb-items"));
        if (this.enableScriptsToClip) menupopup.appendChild(this.createME("menuitem","Skriptliste in Zwischenablage","uProfMenu.getScripts(1)","uProfMenu_clipboard",0));
        // Ende Anlegen von Untermenues
        menupopup.appendChild(document.createXULElement('menuseparator'));
        // Einbindung von Konfigdateien
        menupopup.appendChild(this.createME("menuitem","config Einträge.css","uProfMenu.edit(0,'config Einträge.css');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","userChrome.css","uProfMenu.edit(0,'userChrome.css');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","userChromeShadow.css","uProfMenu.edit(0,'userChromeShadow.css');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","userContent.css","uProfMenu.edit(0,'userContent.css');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","userChrome.js","uProfMenu.edit(0,'userChrome.js');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","prefs.js","uProfMenu.edit(1,'prefs.js');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","user.js","uProfMenu.edit(1,'user.js');","uProfMenu_edit"),0);
    
        // Ende Einbindung von Konfigdateien
        menupopup.appendChild(document.createXULElement('menuseparator'));
        // Einbindung von Ordnern
        switch (this.gmOrdner) {
          case 1:
            menupopup.appendChild(this.createME("menuitem","GM-skripty","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'gm_scripts');","uProfMenu_folder"),0);
            break;
          case 2:
            menupopup.appendChild(this.createME("menuitem","USL-skripty","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'UserScriptLoader');","uProfMenu_folder"),0);
            break;
          case 3:
            menupopup.appendChild(this.createME("menuitem","Skripty Scriptish","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'scriptish_scripts');","uProfMenu_folder"),0);
            break;
        }
    
        menupopup.appendChild(this.createME("menuitem","CSS-Ordner ","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'css');","uProfMenu_folder"),0);
        //menupopup.appendChild(this.createME("menuitem","CSSShadow-Ordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'CSSShadow');","uProfMenu_folder"),0);
        //menupopup.appendChild(this.createME("menuitem","CSSWeb-Ordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'CSSWeb');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Chromeordner","uProfMenu.prefDirOpen('UChrm');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Profilordner","uProfMenu.prefDirOpen('ProfD');","uProfMenu_folder"),0);
        //menupopup.appendChild(this.createME("menuitem","Icons-Ordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'Icons');","uProfMenu_folder"),0);
        //menupopup.appendChild(this.createME("menuitem","Installationsordner","uProfMenu.prefDirOpen('CurProcD');","uProfMenu_folder"),0);
        //menupopup.appendChild(this.createME("menuitem","Addonordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'extensions');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Startup-Cacheordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfLD')+uProfMenu.getDirSep()+'startupCache');","uProfMenu_folder"),0);
      /*   menupopup.appendChild(this.createME("menuitem","Ordner about","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'about');","uProfMenu_folder"),0); */
        // Ende Einbindung von Ordnern
    	
        // Einbindung von abouts
        if (this.abouts.length>0) {
          menupopup.appendChild(document.createXULElement('menuseparator'));
          // falls der erste Eintrag des Arrays = '0' ist, dann kein Untermenue anlegen, sondern direkt als Menuepunkte einbinden
          if (this.abouts[0]=='0') {
            for (var i = 1; i < this.abouts.length; i++) {
            menupopup.appendChild(this.createME("menuitem",this.abouts[i],"openTrustedLinkIn('"+this.abouts[i]+"','tab')","uProfMenu_about"),0);
            }
           } else {
            // der erste Eintrag des arrays ist ungleich '0', deshalb als Untermenue einrichten
            var submenu = menupopup.appendChild(this.createME("menu","uc.js",0,0,"submenu-about"));
            var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-about-items"));
            this.fillMenu("submenu-about","submenu-about-items", "about:",this.abouts,"uProfMenu_about",1);
          }
        }
        // Ende Einbindung von abouts
        // Separator, falls dieser nicht schon durch abouts generiert wurde und weitere Menuepunkte folgen werden
        if (this.abouts.length==0 && (this.showNormalPrefs || typeof(ToolRstartMod) != "undefined")) menupopup.appendChild(document.createXULElement('menuseparator'));
        // Falls gewuenscht (s. Konfigurationsabschnitt), Zugriff auf die normalen Einstellungen
        if (this.showNormalPrefs) menupopup.appendChild(this.createME("menuitem","Einstellungen","try{openOptionsDialog();}catch(e){openPreferences();}","uProfMenu_prefs"),0);
        // Falls addRestartButton installiert ist, Neustart zur Verfuegung stellen (addRestartButton 1.0.20120105mod erforderlich)
        if(this.enableRestart) menupopup.appendChild(this.createME("menuitem","Neustart",
        "Services.appinfo.invalidateCachesOnRestart(); Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit,0);"));
        },
    
      getDirSep:function() {
        // Betriebssystem nach https://developer.mozilla.org/en/Code_snippets/Miscellaneous ermitteln
        var osString = Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS;
        var dirsep = "/";
        switch(osString) {
          case "WINNT":
            dirsep = "\\";
            break;
          case "Linux":
            dirsep = "/";
            break;
          case "Darwin":
            dirsep = "/";
            break;
        }
        return dirsep;
      },
    
      edit:function(OpenMode,Filename){
        var Path = "";
        var dSep = this.getDirSep();  // die Trennzeichen zwischen Ordnern abhaengig vom Betriebssystem machen
        switch (OpenMode){
          //Current is Chrome Directory
          case 0:
            var Path = this.getPrefDirectoryPath("UChrm") + dSep + Filename;
            break;
          //Current is Profile Directory
          case 1:
            var Path = this.getPrefDirectoryPath("ProfD") + dSep + Filename;
            break;
          //Current is Root
          case 2:
            var Path = Filename;
            break;
          //Current is CSS folder
          case 3:
            var Path = this.getPrefDirectoryPath("UChrm") + dSep + "CSS" + dSep + Filename;
            break;
          //Current is CSSWeb folder
          case 4:
            var Path = this.getPrefDirectoryPath("UChrm") + dSep + "CSSWeb" + dSep + Filename;
            break;
    		//Current is CSSShadow folder
          case 5:
            var Path = this.getPrefDirectoryPath("UChrm") + dSep + "CSSShadow" + dSep + Filename;
            break;
        }
        this.launch(this.TextOpenExe,Path);
      },
    
      dirOpen:function(Path){
        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 = [Path];
          file.initWithPath(this.vFileManager);
          process.init(file);
          // Verzeichnis mit anderem Dateimanager oeffnen
          process.run(false, args, args.length);
         } else {
          // Verzeichnis mit Dateimanager des Systems oeffnen
          var dir = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
          dir.initWithPath(Path);
          dir.launch();
        }
      },
    
      prefDirOpen:function(prefDir){
        Path = this.getPrefDirectoryPath(prefDir);
        this.dirOpen(Path);
      },
    
      getPrefDirectoryPath:function(str){
        // get profile directory
        var file = Components.classes["@mozilla.org/file/directory_service;1"]
          .getService(Components.interfaces.nsIProperties)
          .get(str, Components.interfaces.nsIFile);
        if (str == 'CurProcD') {
          file = file.parent;
        };
        return file.path;
      },
    
      launch:function(RanPath,OpenPath){
        var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsIFile);
        var proc = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
        var args = [OpenPath];
        file.initWithPath(RanPath);
        // falls der im Konfigurationsabschnitt definierte Editor nicht gefunden wird, auf Einstellung in about:config ausweichen:
        if (!file.exists()) {
          var pref = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
          RanPath = pref.getCharPref("view_source.editor.path");
          file.initWithPath(RanPath);
        }
        proc.init(file);
        proc.run(false, args, args.length);
      },
    
      stringComparison:function(a, b){
        a = a.toLowerCase();
        a = a.replace(/ä/g,"a");
        a = a.replace(/ö/g,"o");
        a = a.replace(/ü/g,"u");
        a = a.replace(/ß/g,"s");
        b = b.toLowerCase();
        b = b.replace(/ä/g,"a");
        b = b.replace(/ö/g,"o");
        b = b.replace(/ü/g,"u");
        b = b.replace(/ß/g,"s");
        return(a==b)?0:(a>b)?1:-1;
      },
    
      getScripts:function(iType) {
        // Arrays (jeweils ein Array fuer uc.js und uc.xul) nehmen Namen der gefundenen Skripte auf
        let ucJsScripts = [];
        let ucXulScripts = [];
        // Suchmuster, also die Dateierweiterungen uc.js und uc.xul
        let extjs = /\.uc\.js$/i;
        //let extxul = /\.uc\.xul$/i;
        let aFolder = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
        aFolder.initWithPath(Services.dirsvc.get("UChrm", Ci.nsIFile).path);
        // files mit Eintraegen im Chrome-Ordner befuellen
        let files = aFolder.directoryEntries.QueryInterface(Ci.nsISimpleEnumerator);
        // Ordner bzw. files durchlaufen und kontrollieren, ob gesuchte Dateien dabei sind
        while (files.hasMoreElements()) {
          let file = files.getNext().QueryInterface(Ci.nsIFile);
          // keine gewuenschte Datei, deshalb continue
          //if (!extjs.test(file.leafName) && !extxul.test(file.leafName)) continue;
          // uc.js gefunden -> im Array ablegen
          if (extjs.test(file.leafName)) ucJsScripts.push(file.leafName);
          // uc.xul gefunden -> im Array ablegen
          //if (extxul.test(file.leafName)) ucXulScripts.push(file.leafName);
        }
        if (this.sortScripts) {
          ucJsScripts.sort(this.stringComparison);
          //ucXulScripts.sort(this.stringComparison);
        }
        // Aufruf der naechsten Methoden um die beiden Untermenues oder die Zwischenablage zu befuellen
        if (iType==0) {
          this.fillMenu("submenu-ucjs","submenu-ucjs-items", "Meine Scripte",ucJsScripts,"uProfMenu_ucjs",0);
          //this.fillMenu("submenu-ucxul","submenu-ucxul-items", "uc.xul",ucXulScripts,"uProfMenu_ucxul",0);
         } else {
          var result = this.fillClipboardValue(ucJsScripts,ucXulScripts);
          Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper).copyString(result);
        }
      },
    
      getCss:function(iType) {
        // Array nimmt Namen der gefundenen css-Dateien auf
        let cssFiles = [];
        // Suchmuster, also die Dateierweiterung css
        let extcss = /\.css$/i;
        let aFolder = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
        if (iType==3) {
          aFolder.initWithPath(Services.dirsvc.get("UChrm", Ci.nsIFile).path+this.getDirSep()+"CSS");
         } else if (iType==4) {
          aFolder.initWithPath(Services.dirsvc.get("UChrm", Ci.nsIFile).path+this.getDirSep()+"CSSWeb");
        }  else if (iType==5) {
          aFolder.initWithPath(Services.dirsvc.get("UChrm", Ci.nsIFile).path+this.getDirSep()+"CSSShadow");
        }
        // files mit Eintraegen im CSS- bzw. CSSWeb-Ordner befuellen
        let files = aFolder.directoryEntries.QueryInterface(Ci.nsISimpleEnumerator);
        // Ordner bzw. files durchlaufen und kontrollieren, ob gesuchte Dateien dabei sind
        while (files.hasMoreElements()) {
          let file = files.getNext().QueryInterface(Ci.nsIFile);
          // css gefunden -> im Array ablegen
          if (extcss.test(file.leafName)) cssFiles.push(file.leafName);
        }
        if (this.sortScripts) {
          cssFiles.sort(this.stringComparison);
        }
        // Untermenue befuellen
        if (iType==3) {
          this.fillMenu("submenu-css","submenu-css-items","Meine CSS-Dateien",cssFiles,"uProfMenu_css",3);
         } else if (iType==4) {
          this.fillMenu("submenu-cssweb","submenu-cssweb-items","Meine CSSWeb-Dateien",cssFiles,"uProfMenu_css",4);
        }  else if (iType==5) {
          this.fillMenu("submenu-CSSShadow","submenu-CSSShadow-items","Meine CSSShadow-Dateien",cssFiles,"uProfMenu_css",5);
        }
      },
    
      fillMenu:function(whichsubmenu, whichsubmenuitems, strlabel, scriptArray,sClass,sTyp) {
        // Beschriftung des Untermenues mit Anzahl der gefundenen Dateien ergaenzen
        var e = document.getElementById(whichsubmenu);
        e.setAttribute('label',strlabel + ' (' + scriptArray.length + ')');
        var popup = document.getElementById(whichsubmenuitems);
        // zunaechst Untermenue zuruecksetzen
        while(popup.hasChildNodes()){
          popup.removeChild(popup.firstChild);
        }
        // Untermenue endlich befuellen
        for (var i = scriptArray.length-1; i > -1; i--) {
          // Typunterscheidung (userChromeJS-Skript oder about: oder css)
          if (sTyp==0){
            var mitem = this.createME("menuitem",scriptArray[i],"uProfMenu.edit(0,'"+scriptArray[i]+"')",sClass,0);
    		mitem.addEventListener('click', function(event) {
    			uProfMenu.openAtGithub(event,'"+scriptArray[i]+"');
    			event.preventDefault();
    		},true);
    		
            mitem.setAttribute("tooltiptext"," Linksklick: Bearbeiten,\n Mittelklick: https://github.com/.../"+this.cleanFileName(scriptArray[i])+" oeffnen,\n Rechtsklick: Suche auf GitHub");
           } else if (sTyp==1){
            var mitem = this.createME("menuitem",scriptArray[i],"openTrustedLinkIn('"+scriptArray[i]+"','tab')",sClass,0);
           } else if (sTyp==3){
            var mitem = this.createME("menuitem",scriptArray[i],"uProfMenu.edit(3,'"+scriptArray[i]+"')",sClass,0);
           } else if (sTyp==4){
            var mitem = this.createME("menuitem",scriptArray[i],"uProfMenu.edit(4,'"+scriptArray[i]+"')",sClass,0);
          }
    	  else if (sTyp==5){
            var mitem = this.createME("menuitem",scriptArray[i],"uProfMenu.edit(5,'"+scriptArray[i]+"')",sClass,0);
          }
          popup.insertBefore(mitem, popup.firstChild);
        }
      },
    
      fillClipboardValue:function(sArray,xArray) {
        var retValue;
        var s = 0;
        var x = 0;
        s = sArray.length;
        x = xArray.length;
        switch(this.enableScriptsToClip) {
          case 1:
            retValue = "userChromeJS/uc.js ("+s+"):\n------------------------\n"+sArray.join("\n")+
                       "\n\nuserChromeJS/uc.xul ("+x+"):\n-------------------------\n"+xArray.join("\n");
            break;
          default:
            retValue = "userChromeJS/uc.js ("+s+"):\n------------------------";
            for (var i = 0; i < s ; i++) {
              j = i + 1;
              retValue = retValue + "\n" + j + ". " + sArray[i];
            }
            retValue = retValue + "\n\nuserChromeJS/uc.xul ("+x+"):\n-------------------------";
            if (this.enableScriptsToClip==2) s = 0;
            for (var i = 0; i < x ; i++) {
              j = i + s + 1;
              retValue = retValue + "\n" + j + ". " + xArray[i];
            }
            break;
        }
        return retValue;
      },
    
      createME:function(sTyp,sLabel,sCommand,sClass,sId) {
        // Anlegen von menuitem, menu oder menupop - fuer bestimmte Typen nicht eingesetzte Parameter werden als 0 uebergeben
        const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
        var m = document.createElementNS(XUL_NS, sTyp);
        switch (sTyp) {
          case "menuitem":
            // this.createME("menuitem","Label des Items","ZuzuweisenderCodeFueroncommand","GewuenschteKlasseDesItems",0)
            m.setAttribute('label', sLabel);
            m.setAttribute('class',sClass);
    		m.addEventListener('command', function(event) {
    			Function(sCommand)();
    		}, true);
    		
            break;
          case "menu":
            // this.createME("menu","Label des Menues",0,0,"GewuenschteIdDesMenues")
            m.setAttribute('label', sLabel);
            m.setAttribute('id', sId);
            break;
          case "menupopup":
            //this.createME("menupopup",0,0,0,"GewuenschteIdDesMenupopups");
            m.setAttribute('id', sId);
            break;
        }
        return m;
      },
    
      openAtGithub:function(e,sScript) {
        if (e.button==1){
          // Mittelklick - Seite auf GitHub oeffnen (funktioniert nur, wenn Ordner- und bereinigter Dateiname [ohne Erweiterung] uebereinstimmen):
          var sUrl = "https://github.com/ardiman/userChrome.js/tree/master/"+this.cleanFileName(sScript);
          openWebLinkIn(sUrl, 'tab');
        }
        if (e.button==2){
          // Rechtsklick - Suche auf GitHub starten (funktioniert nur, wenn der Dateiname im Code hinterlegt ist):
          e.preventDefault();
          var sUrl = "https://github.com/search?langOverride=&language=&q="+sScript+"&repo=&start_value=1&type=Code";
          openWebLinkIn(sUrl, 'tab');
        }
      },
    
      cleanFileName:function(sName) {
        sName = sName.toLowerCase();
        /* Das folgende Array enthaelt regulaere Ausdruecke, um ungueltige Zeichenfolgen entfernen:
        /Datei-Erweiterungen am Ende/, /"ucjs_" am Anfang/, /"_"gefolgtVonZahlUndDanachBeliebigenZeichen/
        / "_fx"gefolgtVonZahl(en)/, /"-" oder "+" oder "."/, /"_v"gefolgtVonZahlen
        */
        var regs = [/\.uc\.js$/,/\.uc\.xul$/,/^ucjs_/,/_\d.+/,/_fx\d+/,/[-+\.]/g,/_v\d+/];
        for (var i = 0; i < regs.length; i++) {
          sName = sName.replace(regs[i],"");
        }
        return sName;
      }
    
    };
    
    uProfMenu.init();
    Alles anzeigen

    Muss leider beides einzeln senden.

  • Neue Version ExtraConfigMenu.uc.js; die Kosmetik stimmt nicht mehr

    • BarbaraZ-
    • 17. Januar 2025 um 06:47

    2002Andreas Danke, ich war so freundlich und habe mir beides mal geladen.

    Tadellos. :thumbup:

    Das einzige, was ich nicht weg bekomme ist der Hinweis auf die Bild.url.

    Erbitte hierzu Hilfe. Danke

  • UserCSSLoader (2025)

    • BarbaraZ-
    • 16. Januar 2025 um 07:23

    Hier meine Version, die auch nicht funktioniert.

    CSS
        /* UserStyles Loader Button */
       
       #usercssloader-menu {
       margin-right: 0 !important; 
       margin-left: 0 !important;
       content: '' !important;
       display: block !important;
       width: 14px !important;
       height: 20px !important;
       background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAABRUlEQVQ4jaXSLW/CUBTG8YdMTmxijiY1M62A8w2omZ1jlhA0mC6ZJTiSKewsDgesohgICWLjQ0DCkvJOPeGZGG3Xji50O8kvueeKv7kX+JorAFkAuRh3AATADYALnJjsfD5nHMuySJKFQuHxGElFA7nFYsE4XoAkdV1/AHAdjeRWqxXjtNttfp9MJnMP4DIUWK/XjDMYDBgdALehwHa7ZZzpdMrhcMhut0vbtmnbNgEYocBut2MSx9cJAq7rMokgYI6ZMt/+BOaYgDnmy7vr8+ac3Q80RhuWOw5JstxxfL/tjdEmCNT7SxZbM5JksTULid55e72/DALVnsN8c0KSzDcnP0TvSbLac4LA0+uHz5vo+dTuB/7F+wf7/Z5J+P9ARAxFUSqHw4FJKIpSEREDImJomlZSVbWWTqefz6Gqak3TtJKIGJ86u+Qm3Nb2fAAAAABJRU5ErkJggg==") !important;
       background-repeat: no-repeat !important;
       background-position: 5px 6px !important;
       background-size: 15px 15px !important;
       }
       
       #usercssloader-menu > .menu-text,
       #usercssloader-menu > .menu-right {
       display: none !important;
       }   
       
       #usercssloader-menu:hover {
       margin-right: 0 !important; 
       margin-left: 0 !important;
       content: '' !important;
       display: block !important;
       width: 14px !important;
       height: 20px !important;
       background: lightgrey !important;
       background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAABRUlEQVQ4jaXSLW/CUBTG8YdMTmxijiY1M62A8w2omZ1jlhA0mC6ZJTiSKewsDgesohgICWLjQ0DCkvJOPeGZGG3Xji50O8kvueeKv7kX+JorAFkAuRh3AATADYALnJjsfD5nHMuySJKFQuHxGElFA7nFYsE4XoAkdV1/AHAdjeRWqxXjtNttfp9MJnMP4DIUWK/XjDMYDBgdALehwHa7ZZzpdMrhcMhut0vbtmnbNgEYocBut2MSx9cJAq7rMokgYI6ZMt/+BOaYgDnmy7vr8+ac3Q80RhuWOw5JstxxfL/tjdEmCNT7SxZbM5JksTULid55e72/DALVnsN8c0KSzDcnP0TvSbLac4LA0+uHz5vo+dTuB/7F+wf7/Z5J+P9ARAxFUSqHw4FJKIpSEREDImJomlZSVbWWTqefz6Gqak3TtJKIGJ86u+Qm3Nb2fAAAAABJRU5ErkJggg==") !important;
       background-repeat: no-repeat !important;
       background-position: 5px 6px !important;
       background-size: 15px 15px !important;
       }
       
       #usercssloader-menu > .menu-text,
       #usercssloader-menu > .menu-right {
       display: none !important;
       }
    Alles anzeigen
  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • BarbaraZ-
    • 12. Januar 2025 um 19:05

    Ein zweites Profil habe ich.

    Werde ich mich demnächst mal mit beschäftigen. Muss dort nur noch die Vorbereitungen vornehmen.
    Danke für den Hinweis.

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • BarbaraZ-
    • 12. Januar 2025 um 18:51

    milupo Das mit dem Skript aus #167, der mit CSS Code verbunden ist, war mir nicht so geläufig.

    Es gehören 2 CSS Codes dazu. Aber da du nichts finden konntest ist das okay.

    Danke fürs drüberschauen. Ich kann aber, wenn gewünscht, die beiden CSS-Codes gerne hier verlinken.

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • BarbaraZ-
    • 12. Januar 2025 um 16:32

    Jepp, habe mal durchgeschaut und bin mir nur bei einem unsicher.

    Gebe es mal hier zum besten:

    CSS
    // Kontextmenu bei Mira_Belle
    
    /// Symbole.uc.js
    /* ****************************************************************************************** */
    
    /* Die Entstehung des Symbole.css => https://www.camp-firefox.de/forum/thema/134970/?postID=1205292#post1205292       */
    /* ****************************************************************************************** */
    
    /* Das JavaScript */
    /* https://www.camp-firefox.de/forum/thema/134970-symbole-in-den-kontextmen%C3%BCs-update/?postID=1216936#post1216936 */
    /* version 1.0 */
    
    /* https://www.camp-firefox.de/forum/thema/134970/?postID=1234253#post1234253 */
    /* version 1.2 */
    /* *************++++************************************************************************* */
    (function() {
    //    if (location.href !== 'chrome://browser/content/browser.xhtml') return;
        let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));
    //    var css =`
    let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);      
    let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
            /*--------------------------------------------------------------------------*/  
            /*--------- Texte im Hamburgermenü und in den Submenüs eingerückt ----------*/
            /*-------------- und in dem Anmeldenbutton das Icon eingefügt --------------*/
            /*--------------------------------------------------------------------------*/
            		
    		/*****/
            /* Hilfe - Zu einem neuen Gerät wechseln = ausblenden */    
            #helpSwitchDevice {
                display: none !important;
            }
    		
    		/* Tab in neuer Umgebung wegschalten */
            [data-l10n-id="menu-file-new-container-tab"],
    		[data-l10n-id="places-open-in-container-tab" ] {
            display: none !important; 
            }
    		/*****/
    		
            .subviewbutton:not(.subviewbutton-iconic, [checked="true"], [targetURI]) > .toolbarbutton-icon {
                width: 16px;
                height: 16px;
                margin-inline-end: 8px !important;
                -moz-context-properties: fill, fill-opacity;
                fill: currentColor;
            }
            #appMenu-fxa-label2::before,
            #fxa-manage-account-button::after {
                content: "";
                display: -moz-box;
                border-radius: 50%;
                background: var(--avatar-image-url) no-repeat center/contain;
                -moz-context-properties: fill;
                fill: currentColor;
            }
            #appMenu-fxa-label2::before {
                width: 14px;
                height: 14px;
                margin-inline-end: 8px;
            }
            /* Neuer Tab */
            #appMenu-new-tab-button2 { list-style-image: url("${ProfilePath}/new-window.svg"); }
            /* Neues Fenster */
            #appMenu-new-window-button2 { list-style-image: url("${ProfilePath}/popup.svg"); }
            /* Neues privates Fenster */
            #appMenu-new-private-window-button2 { list-style-image: url("${ProfilePath}/privateBrowsing.svg"); }
            /* Lesezeichen */
            #appMenu-bookmarks-button { list-style-image: url("${ProfilePath}/bookmark.svg"); }
            /* Neues privates Fenster */
            #appMenu-new-private-window-button2 { list-style-image: url("${ProfilePath}/privateBrowsing.svg"); }
            /* Lesezeichen */
            #appMenu-bookmarks-button { list-style-image: url("${ProfilePath}/bookmark.svg"); }
            /* Chronik */
            #appMenu-history-button { list-style-image: url("${ProfilePath}/history_2.svg"); }
            /* Download */
            #appMenu-downloads-button { list-style-image: url("${ProfilePath}/downloads.svg"); }
            /* Passwörter */
            #appMenu-passwords-button { list-style-image: url("${ProfilePath}/password2.svg"); }
            /* Add-ons und Themes */
            #appMenu-extensions-themes-button { list-style-image: url("${ProfilePath}/addon.svg"); }
            /* Drucken */
            #appMenu-print-button2 { list-style-image: url("${ProfilePath}/printer.svg"); }
            /* Seite speichern unter */
            #appMenu-save-file-button2 { list-style-image: url("${ProfilePath}/save.svg"); }
            /* In Seite suchen */
            #appMenu-find-button2 { list-style-image: url("${ProfilePath}/find.svg"); }
            /* Seite übersetzen */
            #appMenu-translate-button { list-style-image: url("${ProfilePath}/translations.svg"); }
            /* Zoom */
            #appMenu-zoom-controls::before {
                margin-top: 3px !important;
                margin-right: 10px !important;
                margin-left: -1px !important;
                content: '' !important;
                display: block !important;
                width: 16px !important;
                height: 16px !important;
                mask-image:  url("${ProfilePath}/screenshot.svg") !important;
                mask-repeat: no-repeat;
                mask-position: center;
                background-color: #e1e1e1 !important;
            }
            /*Einstellungen */
            #appMenu-settings-button { list-style-image: url("${ProfilePath}/settings.svg"); }
            /*Weitere Werkzeuge */
            #appMenu-more-button2 { list-style-image: url("${ProfilePath}/debugging-workers.svg"); }
            /* Hilfe */
            #appMenu-help-button2 { list-style-image: url("${ProfilePath}/help.svg"); }
            /* Beenden */
            #appMenu-quit-button2 { list-style-image: url("${ProfilePath}/quit.svg"); }
            /*= Panel - Bookmark =========================================================*/
       
            /* Lesezeichen bearbeiten */
           
            [data-l10n-id="bookmarks-bookmark-edit-panel"]::before {
                margin-top: 3px !important;
                margin-right: -15px !important;
                margin-left: -1px !important;
                content: '' !important;
                display: block !important;
                width: 14px !important;
                height: 14px !important;
                mask-image: url("${ProfilePath}/popup.svg") !important;
                mask-repeat: no-repeat;
                mask-position: center;
                background-color: #e1e1e1 !important;
            }
            /* Aktuellen Tab als Lesezeichen ... */
            [data-l10n-id="bookmarks-current-tab"]::before {
                margin-top: 3px !important;
                margin-right: -15px !important;
                margin-left: -1px !important;
                content: '' !important;
                display: block !important;
                width: 16px !important;
                height: 16px !important;
                mask-image: url("${ProfilePath}/new-window.svg") !important;
                mask-repeat: no-repeat;
                mask-position: center;
                background-color: #e1e1e1 !important;
            }
            /* Dieses Lesezeichen bearbeiten...  */
            #panelMenuBookmarkThisPage { list-style-image: url("${ProfilePath}/bookmark-hollow_2.svg"); }
            /* Lesezeichen durchsuchen */
            #panelMenu_searchBookmarks { list-style-image: url("${ProfilePath}/find.svg"); }
            /* Lesezeichen-Symbolleiste ausblenden */
            #panelMenu_viewBookmarksToolbar { list-style-image: url("${ProfilePath}/bookmarks-toolbar.svg"); }
            /* Lesezeichen verwalten */
            #panelMenu_showAllBookmarks { list-style-image: url("${ProfilePath}/bookmarks-tray.svg"); }
            /*= Panel - Chonik ===========================================================*/
            /*= Panel - History ==========================================================*/
       
            /* Kürzlich geschlossene Tabs */
            #appMenuRecentlyClosedTabs { list-style-image: url("${ProfilePath}/tab.svg"); }
            /* Kürzlich geschlossene Fenster */
            #appMenuRecentlyClosedWindows { list-style-image: url("${ProfilePath}/popup.svg"); }
            /* Vorherige Sitzung wiederherstellen */
            #appMenu-restoreSession{ list-style-image: url("${ProfilePath}/restore-session.svg"); }
            /* Neueste Chronik löschen ... */
            #appMenuClearRecentHistory { list-style-image: url("${ProfilePath}/forget.svg"); }
            /* Chronik verwalten */
            #PanelUI-historyMore { list-style-image: url("${ProfilePath}/history_2.svg"); }
            /* Alle Tabs wieder öffnen */
            #appMenu-library-recentlyClosedTabs { list-style-image: url("${ProfilePath}/movetowindow-16.svg"); }
            /* Alle Fenster wieder öffnen */
            #appMenu-library-recentlyClosedWindows { list-style-image: url("${ProfilePath}/restore-session.svg"); }
            /* Chronik durchsuchen */
            #appMenuSearchHistory { list-style-image: url("${ProfilePath}/document-search.svg"); }
            /*= Panel - More tools =======================================================*/
       
            /* Symbolleiste anpassen ... */
            #appmenu-moreTools-button { list-style-image: url("${ProfilePath}/Themes.svg"); }
            /* Werkzeuge für Web-... */
            #appmenu-developer-tools-view .subviewbutton:nth-child(1) { list-style-image: url("${ProfilePath}/developer.svg"); }
            /* Task Manager */
            #appmenu-developer-tools-view .subviewbutton:nth-child(2) { list-style-image: url("${ProfilePath}/performance.svg"); }
            /* Externes Debugging - Edge bug.svg */
            #appmenu-developer-tools-view .subviewbutton:nth-child(3) { list-style-image: url("${ProfilePath}/bug.svg"); }
            /* Browser-Werkzeuge - Edge webdeveloper.svg */
            #appmenu-developer-tools-view .subviewbutton:nth-child(4) { list-style-image: url("${ProfilePath}/window-dev-tools.svg"); }
            /* Browser-Inhaltswerkzeuge */
            #appmenu-developer-tools-view .subviewbutton:nth-child(5) { list-style-image: url("${ProfilePath}/command-frames.svg"); }
            /* Browser-Konsole */
            #appmenu-developer-tools-view .subviewbutton:nth-last-child(5) { list-style-image: url("${ProfilePath}/command-console.svg"); }
            /* Bildschirmgrößen testen */
            #appmenu-developer-tools-view .subviewbutton:nth-last-child(4) { list-style-image: url("${ProfilePath}/command-responsivemode.svg"); }
            /* Farbpipette */
            #appmenu-developer-tools-view .subviewbutton:nth-last-child(3) { list-style-image: url("${ProfilePath}/command-eyedropper.svg"); }
            /* Seitenquelltext anzeigen - Edge file-search.svg */
            #appmenu-developer-tools-view .subviewbutton:nth-last-child(2) { list-style-image: url("${ProfilePath}/document-search.svg"); }
            /* Erweiterungen für Entwickler */
            #appmenu-developer-tools-view .subviewbutton:nth-last-child(1) { list-style-image: url("${ProfilePath}/debugging-addons.svg"); }
       
            /*= Panel - Help =============================================================*/
       
            /* Hilfe erhalten */  
            #appMenu_menu_openHelp { list-style-image: url("${ProfilePath}/help.svg"); }
            /* Ideen und Feedback teilen ... */
            #appMenu_feedbackPage { list-style-image: url("${ProfilePath}/send.svg"); }
            /* Fehlerbehebungsmodus ... */
            #appMenu_helpSafeMode { list-style-image: url("${ProfilePath}/debugging-workers.svg"); }
            /* Weitere Informationen zur ... */
            #appMenu_troubleShooting { list-style-image: url("${ProfilePath}/more.svg"); }
            /* ?? Eine Glühbirne ?? */
            #appMenu_help_reportSiteIssue { list-style-image: url("${ProfilePath}/lightbulb.svg"); }
            /* Betrügerische Website melden ... */
            #appMenu_menu_HelpPopup_reportPhishingtoolmenu { list-style-image: url("${ProfilePath}/warning.svg"); }
            /* Über Firefox */
            #appMenu_aboutName { list-style-image: url("${ProfilePath}/info.svg"); }
            /* ================================================================================================== */
            /*Abstände für alle Icons im Kontextmenü*/
           
            menupopup:not(.in-menulist) > menu:not(.menu-iconic),
            menupopup:not(.in-menulist, [aria-label]) > menuitem:not(.menuitem-iconic, [checked="true"]) {
                padding-inline-start: calc(1em + 24px) !important;
                background-position: left 1em center;
                background-repeat: no-repeat;
                background-size: 16px;
                -moz-context-properties: fill, fill-opacity;
                fill: #E0E0E0 !important;
            }
            /*  
            menu[_moz-menuactive="true"][disabled="true"],
            menuitem[_moz-menuactive="true"][disabled="true"] { */
            /*
            :is(menu,menuitem)[_moz-menuactive="true"][disabled="true"] {
                background-color: #5C5C5C !important;
                border-radius: 4px !important;
            }  
            */
            #context-savepage { background-image: url("${ProfilePath}/save.svg"); }
            #context-pocket { background-image: url("${ProfilePath}/pocket-outline.svg"); }
            #context-selectall { background-image: url("${ProfilePath}/select-all-on.svg"); }
            #context-take-screenshot { background-image: url("${ProfilePath}/screenshot.svg"); }
            #context-viewsource { background-image: url("${ProfilePath}/document-search.svg"); }
            #context-inspect-a11y { background-image: url("${ProfilePath}/tool-accessibility.svg"); }
            #context-inspect { background-image: url("${ProfilePath}/command-pick.svg"); }
            #context-copy { background-image: url("${ProfilePath}/edit-copy.svg"); }
            #context-searchselect { background-image: url("${ProfilePath}/find.svg"); }
            #context-viewpartialsource-selection { background-image: url("${ProfilePath}/document-search.svg"); }
            #context-openlinkincurrent { background-image: url("${ProfilePath}/link-square.svg"); }
            #context-openlinkintab { background-image: url("${ProfilePath}/new-window.svg"); }
            #context-openlink { background-image: url("${ProfilePath}/popup.svg"); }
            #context-openlinkprivate { background-image: url("${ProfilePath}/privateBrowsing.svg"); }
            #context-bookmarklink { background-image: url("chrome://browser/skin/save.svg"); }
            #context-savelink { background-image: url("${ProfilePath}/image-add.svg"); }
            #context-print-selection { background-image: url("${ProfilePath}/printer.svg"); }
            #context-savelinktopocket { background-image: url("${ProfilePath}/image.svg"); }
            #context-copylink { background-image: url("${ProfilePath}/link.svg"); }
            #context-reloadimage { background-image: url("${ProfilePath}/reload_2.svg"); }
            #context-viewimage { background-image: url("${ProfilePath}/image-add.svg"); }
            #context-saveimage { background-image: url("${ProfilePath}/image.svg"); }
            #context-copyimage-contents  { background-image: url("${ProfilePath}/image-copy.svg"); }
            #context-copyimage { background-image: url("${ProfilePath}/resize-image.svg"); }
            #context-sendimage { background-image: url("${ProfilePath}/link.svg"); }
            #context-setDesktopBackground { background-image: url("${ProfilePath}/resize-image.svg"); }
            #_36bde3a5-9f17-4ad9-a587-d4a3c8e8d200_-menuitem-_background-tab_link { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACcklEQVRYR8WWzVEbQRBGtRHYHHy2iAAIgEJkIEdgcfbBEAEiAhcXrogITAbI5QAMVQ5gdfYBiEB8b6uHaq1md2ZXBk3VlHa0/fOmu6dni8GWR7Fl/4NWgOVyeSvAz5rHRVE8xWAls6//P7h3C8mWuRtLASzN0L2HkNOPWn/XnGgOI86QnwnkMgWSC4CdCkKTHf/UBCI1iMQXgaAbHV0AMIBBv+OF1qQJB7wDamwzpIXUnQgCubXRFcAbuJDRacyopYh3pIkBBHW0Fom+AHMZIx2tQyATCVybUCmd3bpCXwDsUGQnGRBE4tzkSMXM62wCkAVh6SglTE3cC+DgfwJgiyqPFlhwJIhTPf+w9a7vE6kIUDR7iTA3FqMDGOn5ztYU4zy8SwFwrDj3TeOp7Yx7JUUhNLUV4He7CzYGkIGhdsS9kDMe/N1hhfhoit0iYJcN+ctpvR5upsUZILJBd6R9MzrVALv+08N5ALkRwEQAwHzlT61X0p4qwql0QhO50PM8J/6SmQSH+j3U/G16FZC3kQIoJUzef0lxlOl8UMv5P+l9Mt2D+qlJAUSPTg6IIIjWkZO9lHMa0spoBJABdhxtHpkAPn1/SYU/GcFGG0Bj+8wE8Bv4JudXMb02gNCGn6Xc9QhWvlzz4a7gJlz7rnwFsMLhqEBO+x0acTR3mVGYSa46fhqlzbl+sVnBeAAvHOzzybUfI88EIHJEst5BXzflAULF4xRaFKd9nQdAiyz1RFSZwHCJ7dQj0PvI5UQDGcFM9VM1ttARYxEgR8y3GCMZZUYBCHvubbcp3EIRGNZTQH44Lm8NQY2NQ0t+tw+SppBtHeAFE7gPMJeICC4AAAAASUVORK5CYII="); }
            /* Rückgängig */
            #context-undo { background-image: url("${ProfilePath}/edit-cut.svg"); }
            /* Wiederherstellen */
            #context-redo{ background-image: url("${ProfilePath}/edit-copy.svg"); }
            /* Ausschneiden */
            #context-cut { background-image: url("${ProfilePath}/edit-paste.svg"); }
            /* Einfügen */
            #context-paste { background-image: url("${ProfilePath}/select-all-on.svg"); }
            /* Löschen */
            #context-delete { background-image: url("${ProfilePath}/find.svg"); }
            /* ----------------------------------------- */
            /* --------- Kontextmenüs der Tabs --------- */
            /* ----------------------------------------- */
            /* Neuer Tab */
            #context_openANewTab { background-image: url("${ProfilePath}/new-window.svg"); }
            /* Tab neu laden */
            #context_reloadTab { background-image: url("${ProfilePath}/reload_2.svg"); }
            /* Tab stummschalten */
            #context_toggleMuteTab { background-image: url("${ProfilePath}/audio-muted.svg"); }
            /* Stummschaltung für Tab aufheben */
            #context_toggleMuteTab[muted] { background-image: url("${ProfilePath}/audio.svg"); }
            /* Tab anheften */
            #context_pinTab { background-image: url("${ProfilePath}/glyph-pin-16.svg"); }
            /* Tab klonen */
            #context_duplicateTab { background-image: url("${ProfilePath}/duplicat.svg"); }
            /* Tab als Lesezeichen hinzufügen */
            #context_bookmarkTab { background-image: url("${ProfilePath}/bookmark-hollow_2.svg"); }
            /* Tab verschieben */
            #context_moveTabOptions { background-image: url("${ProfilePath}/arrow-swap.svg"); }
           
                /* <<< Submenu_Tab verschieben >>> */  
           
                /* An Anfang verschieben */
                #context_moveToStart { background-image: url("${ProfilePath}/back.svg"); }
                /* An Ende verschieben */
                #context_moveToEnd { background-image: url("${ProfilePath}/forward.svg"); }
                /* In neues Fenster verschieben */
                #context_openTabInWindow { background-image: url("${ProfilePath}/restore-session.svg"); }  
           
            /* Teilen */
            .share-tab-url-item { display: none; }
            /* Alle Tabs auswählen */
            #context_selectAllTabs { background-image: url("${ProfilePath}/tab-multiple.svg"); }
            /* Tab schließen */
            #context_closeTab { background-image: url("${ProfilePath}/stop.svg"); }
            /*Mehrere Tabs schließen */
            #context_closeTabOptions { background-image: url("${ProfilePath}/close-more.svg"); }
                /* <<< Submenu_Mehrere Tabs schließen >>> */
               
                /* Linke Tabs schließen */
                #context_closeTabsToTheStart { background-image: url("${ProfilePath}/Arrowhead Left.svg"); }
                /* Rechte Tabs schließen */
                #context_closeTabsToTheEnd { background-image: url("${ProfilePath}/Arrowhead Right.svg"); }
                /* Andere Tabs schließen */
                #context_closeOtherTabs { background-image: url("${ProfilePath}/Toggle.svg"); }    
           
            /* Geschlossenen Tab wieder öffnen */
            #context_undoCloseTab { background-image: url("${ProfilePath}/undo.svg"); }
            /* ================================================================ */
            /* Neuer Tab */
            #toolbar-context-openANewTab { background-image: url("${ProfilePath}/new-window.svg"); }
            /* Ausgewählten Tab neu laden */
            #toolbar-context-reloadSelectedTab { background-image: url("${ProfilePath}/reload_2.svg"); }
            /* Ausgewählten Tab als Lesezeichen hinzufügen... */
            #toolbar-context-bookmarkSelectedTab { background-image: url("${ProfilePath}/bookmark-hollow_2.svg"); }
            /* Alle Tabs auswählen */
            #toolbar-context-selectAllTabs { background-image: url("${ProfilePath}/tab-multiple.svg"); }
            /* Geschlossene Tabs wieder öffnen */
            #toolbar-context-undoCloseTab { background-image: url("${ProfilePath}/undo.svg"); }
            /* Symbolleiste anpassen... */
            menuitem.viewCustomizeToolbar { background-image: url("${ProfilePath}/Themes.svg"); }
            /* Lesezeichen-Symbolleiste */
            #toggle_PersonalToolbar { background-image: url("${ProfilePath}/bookmarks-toolbar.svg"); }
            /* --------------------------------------------- */
            /* - Kontextmenüs der Lesezeichen-Symbolleiste - */
            /* --------------------------------------------- */
            /* Löschen */
            #placesContext_delete { background-image: url("${ProfilePath}/delete_2.svg"); }
            /* Ausschneiden */
            #placesContext_cut { background-image: url("${ProfilePath}/edit-cut.svg"); }
            /* Kopieren */
            #placesContext_copy { background-image: url("${ProfilePath}/edit-copy.svg"); }
            /* Einfügen */
            #placesContext_paste, #placesContext_paste_group { background-image: url("${ProfilePath}/edit-paste.svg"); }
            /* Alle Lesezeichen öffnen */
            #placesContext_openBookmarkContainer\:tabs { background-image: url("${ProfilePath}/movetowindow-16.svg"); }
            /* Lesezeichen hinzufügen... */
            #placesContext_new\:bookmark { background-image: url("${ProfilePath}/bookmark-hollow_2.svg"); }
            /* Ordner hinzufügen... */
            #placesContext_new\:folder { background-image: url("${ProfilePath}/folder_2.svg"); }
            /* Trennlinie hinzufügen... */
            #placesContext_new\:separator { background-image: url("${ProfilePath}/vertical-line.svg"); }
            /* Lesezeichen verwalten */
            #placesContext_showAllBookmarks { background-image: url("${ProfilePath}/bookmarks-tray.svg"); }
            /* In neuem Tab öffnen */
            #placesContext_open\:newtab { background-image: url("${ProfilePath}/new-window.svg"); }
            /* In neuem Fenster öffnen */
            #placesContext_open\:newwindow { background-image: url("${ProfilePath}/popup.svg"); }
            /* In neuem privaten Fenster öffnen */
            #placesContext_open\:newprivatewindow { background-image: url("${ProfilePath}/privateBrowsing.svg"); }
            /* Lesezeichen bearbeiten... */
            #placesContext_show_bookmark\:info { background-image: url("${ProfilePath}/edit.svg"); }
            /* Lesezeichen löschen */
            #placesContext_deleteBookmark { background-image: url("${ProfilePath}/delete_2.svg"); }
            /* ------------------------------------------ */
            /* ------- Kontextmenüs der Menuleise ------- */
            /* ------------------------------------------ */
            /* In Überhangmenü verschieben */
            .customize-context-moveToPanel { background-image: url("${ProfilePath}/glyph-pin-16.svg"); }
            /* Aus Symbolleiste entfernen */
            .customize-context-removeFromToolbar { background-image: url("${ProfilePath}/delete_2.svg"); }
            /* --------------------------------------------- */
            /* ------- Kontextmenüs in der Menuleise ------- */
            /* --------------------------------------------- */
            /* --- Datei --- */
            /* Neuer Tab */
            #menu_newNavigatorTab { background-image: url("${ProfilePath}/new-window.svg"); }
            /* Neues Fenster */
            #menu_newNavigator { background-image: url("${ProfilePath}/popup.svg"); }
            /* Neues privates Fenster */
            #menu_newPrivateWindow { background-image: url("${ProfilePath}/privateBrowsing.svg"); }
            /* Datei öffnen... */
            #menu_openFile { background-image: url("${ProfilePath}//open.svg"); }
            /* Seite speichern unter... */
            #menu_savePage { background-image: url("${ProfilePath}/save.svg"); }
            /* Link per E-Mail senden... */
            #menu_sendLink { background-image: url("${ProfilePath}/mail.svg"); }
            /* Drucken... */
            #menu_print { background-image: url("${ProfilePath}/printer.svg"); }
            /* Daten aus einem anderen Browser importieren... */
            #menu_importFromAnotherBrowser { background-image: url("${ProfilePath}/import.svg"); }
            /* Offline arbeiten */
            #goOfflineMenuitem { background-image: url("${ProfilePath}/plug-disconnected.svg"); }
            /* Beenden */
            #menu_FileQuitItem { background-image: url("${ProfilePath}/quit.svg"); }
            /* --- Bearbeiten --- */
            /* Rückgängig */
            #menu_undo { background-image: url("${ProfilePath}/undo.svg"); }
            /* Wiederherstellen */
            #menu_redo { background-image: url("${ProfilePath}/sync.svg"); }
            /* Ausschneiden */
            #menu_cut { background-image: url("${ProfilePath}/edit-cut.svg"); }
            /* Kopieren */
            #menu_copy { background-image: url("${ProfilePath}/edit-copy.svg"); }
            /* Einfügen */
            #menu_paste { background-image: url("${ProfilePath}/edit-paste.svg"); }
            /* Löschen */
            #menu_delete { background-image: url("${ProfilePath}/delete_2.svg"); }
            /* Alles auswählen */
            #menu_selectAll { background-image: url("${ProfilePath}/select-all-on.svg"); }
            /* Seite durchsuchen... */
            #menu_find { background-image: url("${ProfilePath}/find.svg"); }
            /* --- Ansicht --- */
            /* Symbolleisten */
            #viewToolbarsMenu { background-image: url("${ProfilePath}/toolbar.svg"); }
           
                /* <<< Submenu_Symbolleisten >>> */
               
                #toggle_PersonalToolbar { background-image: url("${ProfilePath}/bookmarks-toolbar.svg"); }
                #menu_customizeToolbars { background-image: url("${ProfilePath}/Themes.svg"); }
                /* ----------------------------------- */
                /* -- Checkbox und Haken im Submenu -- */
                /* ----------------------------------- */
                menuitem[checked="true"] > .menu-iconic-left {
                    list-style-image: url("${ProfilePath}/check.svg");
                    fill: #00E400 !important;
                }
                [data-l10n-id="toolbar-context-menu-bookmarks-toolbar-always-show-2"]:not([checked="true"]),
                [data-l10n-id="toolbar-context-menu-bookmarks-toolbar-on-new-tab-2"]:not([checked="true"]),
                [data-l10n-id="toolbar-context-menu-bookmarks-toolbar-never-show-2"]:not([checked="true"]),
                #menu_zoomReset:not([checked="true"]),
                #toggle_zoom:not([checked="true"]),
                #menu_pageStylePersistentOnly:not([checked="true"]) {
                    background-image: url("${ProfilePath}/square.svg");
                    background-repeat: no-repeat;
                }
                /* ----------------------------------- */
            /* Sitebar */
            #viewSidebarMenuMenu { background-image: url("${ProfilePath}/Dock Side Left.svg"); }
                /* <<< Submenu_Sitebar >>> */
                #menu_bookmarksSidebar:not([checked="true"]) {
                    background-image: url("${ProfilePath}/bookmark.svg");
                    background-repeat: no-repeat;
                }
                #menu_historySidebar:not([checked="true"]) {
                    background-image: url("${ProfilePath}/history_2.svg");
                    background-repeat: no-repeat;
                }
                #menu_tabsSidebar:not([checked="true"]) {
                    background-image: url("${ProfilePath}/Dock Side Left.svg");
                    background-repeat: no-repeat;
                }
            /* Zoom */
            #viewFullZoomMenu { background-image: url("${ProfilePath}/screenshot.svg"); }
           
                /* <<< Submenu_Zoom >>> */
                #menu_zoomEnlarge { background-image: url("chrome://browser/skin/add-circle-fill.svg"); }       /*  +  */
                #menu_zoomReduce { background-image: url("chrome://browser/skin/subtract-circle-fill.svg"); }   /*  -  */
           
            /* Webseiten-Stiel */
            #pageStyleMenu { background-image: url("${ProfilePath}/document-css.svg"); }
           
                /* <<< Submenu_Webseiten-Stiel >>> */
           
                #menu_pageStyleNoStyle:not([checked="true"]) {
                    background-image: url("${ProfilePath}/document-css.svg");
                    background-position: left 1em center;
                    background-repeat: no-repeat;
                }  
           
            /* Textkodierung reparieren */
            #repair-text-encoding { background-image: url("${ProfilePath}/characterEncoding.svg"); }
            /* Vollbild */
            #fullScreenItem { background-image: url("${ProfilePath}/fullscreen.svg"); }
            /* --- Chronik --- */
            /* Gesamte Chronik anzeigen */
            #menu_showAllHistory { background-image: url("${ProfilePath}/history_2.svg"); }
            /* Neueste Chronik löschen... */
            #sanitizeItem { background-image: url("${ProfilePath}/forget.svg"); }
            /* Vorherige Sitzung wiederherstellen */
            #historyRestoreLastSession { background-image: url("${ProfilePath}/restore-session.svg"); }
            /* Chronik durchsuchen */
            #menu_searchHistory { background-image: url("${ProfilePath}/document-search.svg"); }
            /* Kürzlich geschlossene Tabs */
            #historyUndoMenu { background-image: url("${ProfilePath}/tab.svg"); }
            /* Kürzlich geschlossene Fenster */
            #historyUndoWindowMenu { background-image: url("${ProfilePath}/popup.svg"); }
            /* Lesezeichen */
            /* Lesezeichen verwalten */
            #bookmarksShowAll { background-image: url("${ProfilePath}/bookmarks-tray.svg"); }
            /* Aktuellen Tab als Lesezeichen hinzufügen */
            #menu_bookmarkThisPage { background-image: url("${ProfilePath}/bookmark-hollow_2.svg"); }
            /* Lesezeichen durchsuchen */
            #menu_searchBookmarks { background-image: url("${ProfilePath}/search-glass.svg"); }
            /* Lesezeichen-Symbolleiste */
            #bookmarksToolbarFolderMenu { list-style-image: url("${ProfilePath}/bookmarksToolbar.svg"); }
            /* Weitere Lesezeichen */
            #menu_unsortedBookmarks { list-style-image: url("${ProfilePath}/mail-inbox-all.svg") }
            /* --- Extras --- */
            /* Downloads */
            #menu_openDownloads { background-image: url("${ProfilePath}/downloads.svg"); }
            /* Add-ons und Themes */
            #menu_openAddons { background-image: url("${ProfilePath}/addon.svg"); }
            /* Anmelden */
            #sync-setup { background-image: url("${ProfilePath}/avatar-empty.svg"); }
            /* Browser-Werkzeuge */
            #browserToolsMenu { background-image: url("${ProfilePath}/debugging-workers.svg"); }
           
                /* <<< Submenu_Browser-Werkzeuge >>> */
                /* Werkzeuge für Web-Entwickler */
                #menu_devToolbox { background-image: url("${ProfilePath}/developer.svg"); }
                /* Task-Manager */
                #menu_taskManager { background-image: url("${ProfilePath}/performance.svg"); }
                /* Externes Debugging */
                #menu_devtools_remotedebugging { background-image: url("${ProfilePath}/bug.svg"); }
                /* Browser-Werkzeuge */
                #menu_browserToolbox { background-image: url("${ProfilePath}/window-dev-tools.svg"); }
                /* Browser-Inhaltswerkzeuge */
                #menu_browserContentToolbox { background-image: url("${ProfilePath}/command-frames.svg"); }
                /* Browser-Konsole */
                #menu_browserConsole { background-image: url("${ProfilePath}/command-console.svg"); }
                /* Bildschirmgrößen testen */
                #menu_responsiveUI { background-image: url("${ProfilePath}/command-responsivemode.svg"); }
                /*Farbpipette */
                #menu_eyedropper { background-image: url("${ProfilePath}/command-eyedropper.svg"); }
                /* Seitenquelltext anzeigen */
                #menu_pageSource { background-image: url("${ProfilePath}/document-search.svg"); }
                /* Erweiterungen für Entwickler */
                #extensionsForDevelopers { background-image: url("${ProfilePath}/debugging-addons.svg"); }  
           
            /* Seiteninformationen */
            #menu_pageInfo { background-image: url("${ProfilePath}/document-endnote.svg"); }
            /* Einstellungen */
            #menu_preferences { background-image: url("${ProfilePath}/settings.svg"); }
            /* --- Hilfe --- */
            /* Hilfe erhalten */
            #menu_openHelp { background-image: url("${ProfilePath}/help.svg"); }
            /* Ideen und Feedback teilen... */
            #feedbackPage { background-image: url("${ProfilePath}/send.svg"); }
            /* Fehlerbehebungsmodus... */
            #helpSafeMode { background-image: url("${ProfilePath}/debugging-workers.svg"); }
            /* Weitere Informationen zur Fehlerbehebung */
            #troubleShooting { background-image: url("${ProfilePath}/more.svg"); }
            /* Betrügerische Website melden... */
            #menu_HelpPopup_reportPhishingtoolmenu { background-image: url("${ProfilePath}/warning.svg"); }
            /* Über Firefox */
            #aboutName { background-image: url("${ProfilePath}/firefox.svg"); }
            /* ---------------------------------------------- */
            /* ------------- Kontextmenü Frames ------------- */
            /* ---------------------------------------------- */
           
            /* Aktueller Frame */
    		/* Aktueller Frame */
            #frame { background-image: url("${ProfilePath}/command-frames.svg"); 
            background-repeat: no-repeat;}
                /* <<< Submenu_Aktueller Frame >>> */  
                /* Nur diesen Frame anzeigen */
                #context-showonlythisframe { background-image: url("${ProfilePath}/tab.svg"); }
                /* Frame in neuem Tab öffnen */
                #context-openframeintab { background-image: url("${ProfilePath}/open-in-new.svg"); }
                /* Frame in neuem Fenster öffnen */
                #context-openframe { background-image: url("${ProfilePath}/popup.svg"); }
                /* Frame neu laden */
                #context-reloadframe { background-image: url("${ProfilePath}/reload_2.svg"); }
                /*Lesezeichen für diesen Frame hinzufügen */
                #context-bookmarkframe { background-image: url("${ProfilePath}/bookmark-hollow_2.svg"); }
                /*Frame speichern unter... */
                #context-saveframe { background-image: url("${ProfilePath}/save.svg"); }
                /* Frame drucken... */
                #context-printframe { background-image: url("${ProfilePath}/printer.svg"); }
                /* Bildschirmfoto aufnehmen */
                #context-take-frame-screenshot { background-image: url("${ProfilePath}/screenshot.svg"); }
                /* Frame-Quelltext anzeigen */
                #context-viewframesource { background-image: url("${ProfilePath}/document-search.svg"); }
                /* Frame-Informationen anzeigen */
                #context-viewframeinfo { background-image: url("${ProfilePath}/info.svg"); }
            /* ---------------------------------------------- */
            /* ----------- Kontextmenü Adressfeld ----------- */
            /* ---------------------------------------------- */
            /*  
            #urlbar-input-container {
                padding-inline-start: calc(1em + 24px) !important;
                background-position: left 1em center;
                background-repeat: no-repeat;
                background-size: 16px;
                -moz-context-properties: fill, fill-opacity;
                fill: currentColor;
            }
            */
            /* Rückgängig */
            #urlbar-input-container .textbox-contextmenu menuitem[cmd="cmd_undo"] {
                background-image: url("${ProfilePath}/undo.svg");
            }
            /* Wiederherstellen */
            #urlbar-input-container .textbox-contextmenu menuitem[cmd="cmd_redo"] {
                background-image: url("${ProfilePath}/sync.svg");
            }
            /* Ausschneiden */
            #urlbar-input-container .textbox-contextmenu menuitem[cmd="cmd_cut"] {
                background-image: url("${ProfilePath}/edit-cut.svg");
            }
            /* Kopieren */
            #urlbar-input-container .textbox-contextmenu menuitem[cmd="cmd_copy"] {
                background-image: url("${ProfilePath}/edit-copy.svg");
            }
            /* Einfügen */
            #urlbar-input-container .textbox-contextmenu menuitem[cmd="cmd_paste"] {    
                background-image: url("${ProfilePath}/edit-paste.svg");
            }
            /* Einfügen & Los */
            #paste-and-go {
                background-image: url("${ProfilePath}/redo.svg");
            }
            /* Löschen */
            #urlbar-input-container .textbox-contextmenu menuitem[cmd="cmd_delete"] {
                background-image: url("${ProfilePath}/delete_2.svg");
            }
            /* Alles auswählen */
            #urlbar-input-container .textbox-contextmenu menuitem[cmd="cmd_selectAll"] {
                background-image: url("${ProfilePath}/select-all-on.svg");
            }
            /* ------------------------------------------- */
            /* ---------- Symbole der Menuleise ---------- */
            /* ------------------------------------------- */
            /* Datei  */
            #file-menu::before { background: url("${ProfilePath}/mail-inbox-all.svg")!important; }
            /* Bearbeiten  */
            #edit-menu::before { background: url("${ProfilePath}/edit.svg")!important; }
            /* Ansicht  */
            #view-menu::before { background: url("${ProfilePath}/content-view.svg")!important; }
            /* Chronik  */
            #history-menu::before { background: url("${ProfilePath}/history_2.svg")!important; }
            /* Lesezeichen  */
            #bookmarksMenu::before { background: url("${ProfilePath}/bookmark.svg")!important; }
            /* Extras  */
            #tools-menu::before { background: url("${ProfilePath}/toolbox.svg")!important; }
            /* Hilfe  */
            #helpMenu::before { background: url("${ProfilePath}/help.svg")!important; }
            /* Einstellungen  */
            #file-menu::before,
            #edit-menu::before,
            #view-menu::before,
            #history-menu::before,
            #bookmarksMenu::before,
            #tools-menu::before,
            #helpMenu::before {
                margin-left: 6px !important;
                content: '' !important;
                display: block !important;
                width: 16px !important;
                height: 16px !important;
                background-repeat: no-repeat !important;
                -moz-context-properties: fill, fill-opacity;
                fill: currentColor;
            }
            #menu_FilePopup,
            #menu_EditPopup,
            #menu_viewPopup,
            #historyMenuPopup,
            #bookmarksMenuPopup,
            #menu_ToolsPopup,
            #menu_HelpPopup {
                margin-top: 5px !important;
            }
            /* ------------------------------------ */
            /* *** neuer Button "Erweiterungen" *** */
            /* ******* Symbole im Popup-Menü ****** */
            /* ------------------------------------ */
            .unified-extensions-context-menu-pin-to-toolbar {  
                background: url("${ProfilePath}/glyph-pin-16.svg") no-repeat !important;
                background-position: 9px 4px !important;
            }
            .unified-extensions-context-menu-move-widget-up {  
                background: url("${ProfilePath}/Pfeil-hoch_hellgrau.svg") no-repeat !important;
                background-position: 6px 0px !important;
            }
            .unified-extensions-context-menu-move-widget-down {  
                background: url("${ProfilePath}/Pfeil-runter_hellgrau.svg") no-repeat !important;
                background-position: 6px 0px !important;
            }
            .unified-extensions-context-menu-manage-extension {
                background: url("${ProfilePath}/extension.svg") no-repeat !important;
                background-position: 9px 4px !important;
            }
            .unified-extensions-context-menu-remove-extension {
                background: url("${ProfilePath}/delete_2.svg") no-repeat !important;
                background-position: 9px 4px !important;
            }
            .unified-extensions-context-menu-report-extension {
                background: url("${ProfilePath}/warning.svg") no-repeat !important;
                background-position: 9px 4px !important;
            }
            /* ---------------------------------------------- */
            /* ------------- Kontextmenü Video -------------- */
            /* ---------------------------------------------- */
            /* Pause */
            #context-media-pause { background-image: url("${ProfilePath}/pause-1.svg"); }
            /* Abspielen */
            #context-media-play { background-image: url("${ProfilePath}/play-1.svg"); }
            /* Ton aus */
            #context-media-mute { background-image: url("${ProfilePath}/audio-16-mute.svg"); }
            /* Ton an */
            #context-media-unmute { background-image: url("${ProfilePath}//audio-16.svg"); }
            /* Geschwindigkeit */
            #context-media-playbackrate { background-image: url("${ProfilePath}/performance-16.svg"); }
            /* Endlosschleife */
            #context-media-loop { background-image: url("${ProfilePath}/repeat-1.svg"); }
            /* Vollbild */
            #context-video-fullscreen { background-image: url("${ProfilePath}/maximize-1.svg"); }
            /* Vollbild beenden */
            #context-leave-dom-fullscreen { background-image: url("${ProfilePath}/minimize-1.svg"); }
            /* Steuerung ausblenden ! */
            #context-media-hidecontrols { display: none !important; }
            /* Steuerung anzeigen   ! */
            #context-media-showcontrols { display: none !important; }
            /* -------------------------- */
            /* Video in neuem Tab öffnen */
            #context-viewvideo { background-image: url("${ProfilePath}/new-window.svg");; }
            /* In Bild-im-Bild ansehen */
            #context-video-pictureinpicture { background-image: url("${ProfilePath}/info.svg"); }
            /* -------------------------- */
            /* Standbild aufnehmen...   ! */
            #context-video-saveimage { display: none !important; }
            /* Video speichern unter... ! */
            #context-savevideo { display: none !important; }
            /* Video-Adresse kopieren   ! */
            #context-copyvideourl { display: none !important; }
            /* Video per E-Mail senden...   ! */
            #context-sendvideo { display: none !important; }
            #context-sep-setbackground { display: none !important; }
            `), null, null);
    //   `;
    //
    //   var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
    //   var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
       sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
    })();
    Alles anzeigen
  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • BarbaraZ-
    • 12. Januar 2025 um 16:22

    Ich schaue mal, wo ich oncommand und onklick etc. finde. Werde es aber innerhalb der nächsten 4 Wochen Stück für Stück erledigen.

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • BarbaraZ-
    • 12. Januar 2025 um 16:12

    Dann schaue ich mal nach und nach und versuche es. Da es nicht eilt, werde ich mir Zeit damit lassen und eines nach den anderen umstellen. Sind ja nur 22 Stück an der Zahl.

    Und Danke für den Hinweis.

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • BarbaraZ-
    • 12. Januar 2025 um 16:09

    Offtopic on.

    Verstehe ich es richtig, das im aktiven Firefox ab Version 137 diverse Skripte dann auch hier umgestellt werden müssen?

    Wenn ja, macht es bestimtt Sinn die Umstellungen schon Stück für Stück vorzunehmen und separat zu speichern, damit diese dann, wenn es soweit ist, ausgetauscht werden können.

    Offtopic off

  • Popup-Text fehlt/wird nicht angezeigt

    • BarbaraZ-
    • 12. Januar 2025 um 13:14

    Es könnte ja so einfach sein. Hätte mir auffallen können. Dankeschön

  • Popup-Text fehlt/wird nicht angezeigt

    • BarbaraZ-
    • 12. Januar 2025 um 13:07

    Moin,

    hier wird, im Gegensatz zu allen anderen Scripten, der Popup-Text nicht angezeigt

    Lediglich das Icon ist sichtbar.

    Code
    // Profilordner öffnen
    
    (function() {
    
       if (location != 'chrome://browser/content/browser.xhtml') return;
    
        try {
    
                 CustomizableUI.createWidget({
                 id: 'Profilordner',
                 type: 'custom',
                 defaultArea: CustomizableUI.AREAS,
                 onBuild: function(aDocument) {         
                    var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                    var props = {
                       id: 'Profilordner',
                       class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                       removable: true,
                       label: 'Profil Button',
                       tooltiptext: '',
                       style: 'list-style-image: url(data:image/gif;base64,R0lGODlhEAAQAOZMAP/////MAF06AJhlAJNgAP//AP/lAP/UAJViAP/JANShAJRhAP/OAJRgAOy5AMaSAP/nAMyZAP/IAP/NAOazAP/RAMmVALaAAH5TAJNfAM2aAP/dT//XOv/KAOPOkMeRAP/nhOSxAOu4AP3KAOrTkv/nrv//1c6bAKdyAP/TAP/bPdWsMr6LA7iCALqGALiEAJNeAMCMAP/gcv/eYdGdAP/TEP/mgv/2y//gg/3JAP/ila97AP/aKsWPAJFbAJZgALeBAMiVAPC9AP/rOum2AHlQAP/4zP//z//jPpNdAP/LANixNP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEwALAAAAAAQABAAAAefgEyCg4SFhoeFDQ0LjIiCCyU5IwEBBAiXCAOEBDohFBREIg6jQgibODQKqgonDz0fPkkwDQMEMhYRERpBMUsAv8C1Mw8uLUAXKwA2EgkJDJoEGy8swAAgCZQMz0wEKigkN8wJHZQBFZrcPDsAHErllBMT6AQ1HkYVKQf6++hMGUgAhhgYSBAChH4/TBwpwLAhw35MMAiYSLFiEUcYmQQCADs=)',
                       oncommand: "Services.dirsvc.get('ProfD', Ci.nsIFile).launch();"
                    };            
                    for (var p in props)
                       toolbaritem.setAttribute(p, props[p]);            
                    return toolbaritem;
                 }      
              });
              CustomizableUI.registerToolbarNode(tb);
            } catch(e) { };
            }) ();
    Alles anzeigen

    Erbitte Hilfe. Danke

    Es handelt sich um das mittlere Icon.

    Der Profilordner lässt sich aufrufen nur eben nicht der Popup-Text mit hover.

  • 2024-Update: Aktualisierung auf WoltLab Suite 6.1

    • BarbaraZ-
    • 7. Januar 2025 um 07:33

    Danke für Deine Arbeit Sören. :thumbup:

  • Farbiger Ladebalken

    • BarbaraZ-
    • 7. Januar 2025 um 07:32

    Speravir Danke für den Hinweis auf die andere Version. Habe diese ausgewechselt und es klappt, wie es soll.

    Danke auch den anderen Helfenden.

  • Farbiger Ladebalken

    • BarbaraZ-
    • 6. Januar 2025 um 14:01

    Hier klappt nicht mehr.

    Der Ladebalken macht nicht mehr dass, was er soll, er macht einfch: NICHTS.
    Leider fehlt mir das Wissen, wo ich ansetzen muss.

    Erbitte Hilfe.

    CSS
    /* LoadingBar.uc.js */
    // Location Bar Enhancer5.1; Loading Bar0.3.0
    
    (function(){
        var cssStr = `
                #urlbar {
    				background-image: repeating-linear-gradient(-45deg, rgba(255,255,255,0), rgba(255,255,255,0) 6px,
    				rgba(255,255,255,1) 6px, rgba(255,255,255,1) 12px), linear-gradient(to right, rgba(255,255,255) 0%,
    				rgba(237,2,11,.7) 100%);;
    				background-size:0 0;
    				background-repeat:repeat-x, no-repeat;
    				transition: background-size 350ms ease 0s !important;
    				}
    			#urlbar-background {
    				z-index: -2;
    				}
    			#urlbar:not([style="background-size: 0% 100%;"]) {
    				animation: progress-bar-stripes 2s linear infinite;
    				}
    			@keyframes progress-bar-stripes {
    				from {
    				background-position: 0 0;
    			}
    			to {
    				background-position: 51px 0;
    				}
    			}
    	`.replace(/\s{2,}|\r|\n/,"");
        
        var style = document.createProcessingInstruction("xml-stylesheet", "type=\"text/css\"" + " href=\"data:text/css;base64," + btoa(cssStr) + "\"");
        var mainW = document.getElementById("main-window");
        document.insertBefore(style, mainW);
    
        function main(window) {
          var {document, gBrowser} = window;
          function $(id) { return document.getElementById(id) };
          var urlbar = $("urlbar");
          let pageProgress = 0;
          let async = makeWindowHelpers(window).async;
          var LoadingBar = {
            listener: {
              onChangeTab: function(e) {
                urlbar.style.backgroundSize = '0% 100%';
                pageProgress = 0;
              },
              onProgressChange: function(aBrowser,webProgress,request,curSelfProgress,maxSelfProgress,curTotalProgress,maxTotalProgress) {
                if (gBrowser.contentDocument === aBrowser.contentDocument) {
                    var val = (curTotalProgress-1)/(maxTotalProgress-1);
                    pageProgress = val;
                    urlbar.style.backgroundSize = (100*val) + '% 100%';
                    if (val > 0.9)
                      async(function() {
                        if (pageProgress > 0.95)
                            urlbar.style.backgroundSize = '100% 100%';
                    }, 1000);
                }
              },
              onStateChange: function() {
                if (pageProgress > 0.95){
                    async(function() {
                        urlbar.style.backgroundSize = '0% 100%';
                        pageProgress = 0;
                    }, 1000);
                }else{
                    urlbar.style.backgroundSize = '0% 100%';
                }
              }
            }
          };
    
          gBrowser.tabContainer.addEventListener('TabSelect',LoadingBar.listener.onChangeTab,false);
          gBrowser.addTabsProgressListener(LoadingBar.listener);
    
          unload(function() {
            gBrowser.tabContainer.removeEventListener('TabSelect',LoadingBar.listener.onChangeTab,false);
    
            gBrowser.removeTabsProgressListener(LoadingBar.listener);
          }, window);
        }
    
    
    
        watchWindows(main, "navigator:browser");
    
        function runOnLoad(window, callback, winType) {
          window.addEventListener("load", function() {
            window.removeEventListener("load", arguments.callee, false);
    
            if (window.document.documentElement.getAttribute("windowtype") == winType)
              callback(window);
          }, false);
        }
    
        function runOnWindows(callback, winType) {
          function watcher(window) {
            try {
              callback(window);
            }
            catch(ex) {}
          }
    
          let browserWindows = Services.wm.getEnumerator(winType);
          while (browserWindows.hasMoreElements()) {
            let browserWindow = browserWindows.getNext();
            if (browserWindow.document.readyState == "complete")
              watcher(browserWindow);
            else
              runOnLoad(browserWindow, watcher, winType);
          }
        }
    
        function watchWindows(callback, winType) {
          function watcher(window) {
            try {
              callback(window);
            }
            catch(ex) {}
          }
    
          runOnWindows(callback, winType);
    
          function windowWatcher(subject, topic) {
            if (topic == "domwindowopened")
              runOnLoad(subject, watcher, winType);
          }
          Services.ww.registerNotification(windowWatcher);
    
          unload(function() { Services.ww.unregisterNotification(windowWatcher) });
        }
    
        function unload(callback, container) {
          let unloaders = unload.unloaders;
          if (unloaders == null)
            unloaders = unload.unloaders = [];
    
          if (callback == null) {
            unloaders.slice().forEach(function(unloader) { unloader() });
            unloaders.length = 0;
            return null;
          }
    
          if (container != null) {
            container.addEventListener("unload", removeUnloader, false);
    
            let origCallback = callback;
            callback = function() {
              container.removeEventListener("unload", removeUnloader, false);
              origCallback();
            }
          }
    
          function unloader() {
            try {
              callback();
            }
            catch(ex) {}
          }
          unloaders.push(unloader);
    
    
        function removeUnloader() {
            let index = unloaders.indexOf(unloader);
            if (index != -1)
              unloaders.splice(index, 1);
          }
          return removeUnloader;
        }
        
        function makeWindowHelpers(window) {
          let {clearTimeout, setTimeout} = window;
    
          function async(callback, delay) {
            delay = delay || 0;
            let timer = setTimeout(function() {
              stopTimer();
              callback();
            }, delay);
    
            function stopTimer() {
              if (timer == null)
                return;
              clearTimeout(timer);
              timer = null;
            }
          }
    
          return {
            async: async,
          };
        }
    
    })();
    Alles anzeigen
  • Windows 11

    • BarbaraZ-
    • 29. Dezember 2024 um 18:31
    Zitat von 2002Andreas

    obwohl die Hardware von meinem neuen Win11 wesentlich besser ist

    Das ist bei mir auch so. Windows 11 ist langsamer aber es stört mich nicht, denn ich finde es in etlichen Sachen komfortabler.

    Beispiel:

    Der Drucker vom Windows 10 Rechner ist über LAN eingebunden. Als ich meinen Rechner noch mit Windows 10 betrieben hatte, musste ich ziemlich krampfen, hierfür den Drucker zusätzlich über WiFi ins Netz einzubinden. War fast unmöglich.

    Unter Windows 11 war diese eine Sache von knppp 2 Minuten und ich kann vom Windows 11 Rechner nun auch den Drucker im Netzwerk nutzen.

    Was die Netzwerkeinstellungen unter Windows 11 betrifft, finde ich es persönlich sehr gut umgesetzt.

  • Windows 11

    • BarbaraZ-
    • 27. Dezember 2024 um 14:16

    Wie schreibst du so schön: Immer gerne :thumbup:

  • Windows 11

    • BarbaraZ-
    • 27. Dezember 2024 um 14:11

    Ich nutze Windows 11 24H2 auf meinem PC, seit es mir angeboten wurde.
    Hatte bisher weniger Probleme als mit dem Windows 10 Rechner meiner Frau.

    Und auf dem Laptop ist auch seit ca. vier Wochen das Windows 11 24H2 Update drauf.
    Alles ohne Probleme und fehlerfrei.

    Windows 10 auf dem anderen Rechner ist noch gewollt, da ich dort TPM noch nicht freigeschalötet habe.
    Wird auch noch dauern.

  • Frohe Weihnachten und einen guten Rutsch

    • BarbaraZ-
    • 27. Dezember 2024 um 12:29

    DonnerDrachen Hast du MediLearn Cartoon abonniert?

    Nice :love::love::love::love:

  • Frohe Weihnachten und einen guten Rutsch

    • BarbaraZ-
    • 25. Dezember 2024 um 07:28

    Ich wünsche auch allen ein frohes weihnachtsfest.

    Genießt die Tage mit Euren Liebsten.

  • Frohe Weihnachten und einen guten Rutsch

    • BarbaraZ-
    • 24. Dezember 2024 um 12:01

    Auch ich wünsche allen schöne Weihnachten und 2002Andreas, Danke für den Hinweis auf den Weihnachtsmann.

Unterstütze uns!

Jährlich (2026)

59,3 %

59,3% (459,86 von 775 EUR)

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