Nein leider nicht, auch ohne [needsgutter] nichts.
Beiträge von Endor
-
-
Du hast recht es liegt nicht an deinem, sondern an diesem:
CSS@media (-moz-platform: windows) { menupopup[needsgutter] > menuitem:not([type="checkbox"], [class="menuitem-iconic"] ,[type="radio"], [checked]) > .menu-icon {display: none !important;} }Dein letzter passt irgendwie besser.
Hast Du für obigen eine Idee?Mfg.
Endor -
-
Woll'n wir's hoffen.

Habe leider doch noch ein Problem entdeckt:
Kontextmenü bei Vor und Zurückpfeil in Navigationsleiste sind die Symbole weg.
Mfg.
Endor -
Prima. Nun ist es aber wirklich perfekt.
Vielen Dank für Deine Mühe.Mfg.
Endor -
Ja mit Code aus 223. Extra mehrmals getestet.
-
Einen Fehler habe ich noch.
Ich verwende dieses Script:Code
Alles anzeigen// ==UserScript== // @name UndoListInTabmenuToo // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @description UndoListInTabmenuToo.uc.js // @include main // @compatibility Firefox 140 // @author Alice0775 // @version 2025/09/05 mark '*' for current index in the tooltip // @version 2025/08/06 fix tooltip bug due to the change of 25/01/05 // @version 2025/07/26 add List All Tabs menu // @version 2025/01/05 remove redundant menuitems // @version 2025/01/05 fix bug // @version 2024/12/22 fix Bug 1936336 - Disallow inline event handlers // @version 2024/08/23 Bug 1690613 - Allow access to url/title/favIconUrl without "tabs" permission in session API // @version 2023/06/16 08:00 Bug 1819675 - Expand recently closed tabs to include all Windows // @version 2022/05/10 fix ref to context-media-eme-separator // @version 2021/12/09 remove JSON.parse (Bug 1733425) // @version 2021/04/25 fix 1689378 // @version 2019/11/14 remove eval // @version 2019/06/30 10:00 Bug 1555060 Convert <tabs> to a custom element // @version 2019/06/24 23:00 wait for gBrowser initialized // @version 2019/05/21 08:30 fix 69.0a1 Bug 1551320 - Replace all createElement calls in XUL documents with createXULElement // @version 2018/05/10 60 // @version 2017/11/18 nsIPrefBranch to nsIPrefBranch // @version 2010/09/18 00:00 4.0b7pre // @version 2009/02/03 13:00 Tab-Verlauf im Tooltip anzeigen // @Note Fügt die UndoClose-Tab-Liste zu Tabs und Kontextmenüs hinzu // @OriginalCode Orginalcode aus browser.js für populateUndoSubmenu verwenden // @version 2018/05/09 15:00 61 // ==/UserScript== // @version 2010/03/26 13:00 Minefield/3.7a4pre Bug 554991 - allow tab context menu to be modified by normal XUL overlays // @version 2010/03/15 00:00 Minefield/3.7a4pre Bug 347930 - Tab strip should be a toolbar instead // @version 2009/09/09 15:00 Mittelklick-Handhabung // @version 2009/09/03 22:00 Firefox3.7a1pre Funktion wurde wieder hergestellt. (Bug 489925. getElementById should not return anonymous nodes) // @version 2009/08/22 00:00 Firefox3.6 Ändern des stringbandle // @version 2009/04/24 00:00 #394759 [Firefox:Session Restore]-Add undo close window feature // @version 2008/10/12 18:00 Fx3.0.4pre Mittelklick-Popupmenü wurde nicht geschlossen und andere Korrekturen // @version 2007/10/05 10:00 var UndoListInTabmenu = { // -- config -- TABCONTEXTMENU : true , //Im Tabkontextmenü: anzeigen: true, nicht anzeigen: false CONTEXTMENU : true, //Im Hauptkontextmenü: anzeigen: true , nicht anzeigen: false // -- config end-- ss: null, get tabContext() { return document.getElementById("tabContextMenu"); }, get navigatorBundle() { return Services.strings.createBundle( "chrome://browser/locale/browser.properties" ); }, init: function(){ if (this.TABCONTEXTMENU){ //Tabkontextmenü var tabContext = this.tabContext; this.makePopup(tabContext, null, "tabContextUndoList"); } if (this.CONTEXTMENU){ //Hauptkontextmenü var contextMenu = document.getElementById("contentAreaContextMenu"); var refItem = document.getElementById("context-media-eme-separator"); this.makePopup(contextMenu, refItem, "ContextUndoList"); } // get closed-tabs from nsSessionStore this._ss = SessionStore; }, makePopup: function(popup, refItem, id){ var menu; //label const locale = "de"; // "Recently Closed Windows" menu = document.createXULElement("menu"); menu.setAttribute("id", "historyUndoWindowMenu3"); menu.setAttribute("label", "K\u00FCrzlich geschlossene Fenster"); menu.setAttribute("accesskey", "F"); menu.setAttribute("disabled", "false"); popup.insertBefore(menu, refItem); menupopup = document.createXULElement("menupopup"); menu.appendChild(menupopup); menupopup.setAttribute("id", "historyUndoWindowPopup3"); //menu.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoWindowSubmenu(this);"); menupopup.addEventListener("popupshowing", (event) => UndoListInTabmenu.populateUndoWindowSubmenu(event.currentTarget)); //Liste kürzlich geschossener Tabs const LABELTEXT = "K\u00FCrzlich geschlossene Tabs"; //create menu menu = document.createXULElement("menu"); menu.setAttribute("label", LABELTEXT); menu.setAttribute("accesskey", "T"); if (id) menu.setAttribute("id", id); //menu.setAttribute("disabled", true); var menupopup = document.createXULElement("menupopup"); menupopup.addEventListener("popupshowing", () => UndoListInTabmenu.populateUndoSubmenu(menupopup)); //menupopup.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoSubmenu(this);"); menu.appendChild(menupopup); popup.insertBefore(menu, refItem); //All tabs menu menu = document.createXULElement("menuitem"); menu.setAttribute("label", "Alle Tabs auflisten"); menu.setAttribute("accesskey", "A"); popup.insertBefore(menu, refItem); menu.addEventListener("command", (event) => {document.getElementById("alltabs-button").click()}) //add event listener popup.addEventListener('popupshowing',function(event) { UndoListInTabmenu.toggleRecentlyClosedWindows(document.getElementById("historyUndoWindowMenu3")); // no restorable tabs, so make sure menu is disabled, and return if (UndoListInTabmenu._ss.getClosedTabCount(window) == 0) { menu.setAttribute("disabled", true); //menu.setAttribute("hidden", true); return; } menu.removeAttribute("disabled"); //menu.setAttribute("hidden", false); },false); }, /** * Populate when the history menu is opened (Fx3.6) */ populateUndoSubmenu: function(undoPopup) { while (undoPopup.hasChildNodes()) { undoPopup.removeChild(undoPopup.firstChild); } var utils = RecentlyClosedTabsAndWindowsMenuUtils; var tabsFragment = utils.getTabsFragment( window, "menuitem", /* aPrefixRestoreAll = */ true, "menu-history-reopen-all-tabs" ); undoPopup.appendChild(tabsFragment); // populate tab historis for tooltip var undoItems = UndoListInTabmenu._ss.getClosedTabDataForWindow(window); for (var i = 0; i < undoItems.length; i++) { var entries = undoItems[i].state.entries; var tooltiptext = ""; for (var j = entries.length - 1; j > -1; j--){ if (j != entries.length - 1) tooltiptext += "\n"; if (undoItems[i].state.index - 1 !== j) { tooltiptext += parseInt(j + 1, 10) + ". " + entries[j].title; } else { tooltiptext += "*" + ". " + entries[j].title; } } undoPopup.childNodes[i].setAttribute("tooltiptext", tooltiptext); } // "Append Clear undo close tb list" undoPopup.appendChild(document.createXULElement("menuseparator")); let m = undoPopup.appendChild(document.createXULElement("menuitem")); m.setAttribute("label", "Liste der letzten Tabs l\u00F6schen"); m.setAttribute("accesskey", "l"); m.addEventListener("command", function() { let prefs = Services.prefs; let max_undo = prefs.getIntPref("browser.sessionstore.max_tabs_undo"); prefs.setIntPref("browser.sessionstore.max_tabs_undo", 0); prefs.setIntPref("browser.sessionstore.max_tabs_undo", max_undo); }, false); }, toggleRecentlyClosedWindows: function PHM_toggleRecentlyClosedWindows(menu) { // enable/disable the Recently Closed Windows sub menu // no restorable windows, so disable menu if (this._ss.getClosedWindowCount() == 0) menu.setAttribute("disabled", true); else menu.removeAttribute("disabled"); }, /** * Populate when the history menu is opened */ populateUndoWindowSubmenu: function PHM_populateUndoWindowSubmenu(undoPopup) { while (undoPopup.hasChildNodes()) { undoPopup.removeChild(undoPopup.firstChild); } let utils = RecentlyClosedTabsAndWindowsMenuUtils; let windowsFragment = utils.getWindowsFragment( window, "menuitem", /* aPrefixRestoreAll = */ true, "menu-history-reopen-all-windows" ); undoPopup.appendChild(windowsFragment); undoPopup.firstChild.setAttribute("accesskey", "R"); // "Append Clear undo close window list" undoPopup.appendChild(document.createXULElement("menuseparator")); m = undoPopup.appendChild(document.createXULElement("menuitem")); m.setAttribute("label", "Liste der kürzlich geschlossenen Fenster l\u00F6schen"); m.setAttribute("accesskey", "L"); m.addEventListener("command", function() { for (let i = SessionStore.getClosedWindowCount() -1; i >= 0; i--) SessionStore.forgetClosedWindow(i); }, false); } }; // We should only start the redirection if the browser window has finished // starting up. Otherwise, we should wait until the startup is done. if (gBrowserInit.delayedStartupFinished) { UndoListInTabmenu.init(); } else { let delayedStartupFinished = (subject, topic) => { if (topic == "browser-delayed-startup-finished" && subject == window) { Services.obs.removeObserver(delayedStartupFinished, topic); UndoListInTabmenu.init(); } }; Services.obs.addObserver(delayedStartupFinished, "browser-delayed-startup-finished"); }Es fügt ins Kontextmenü, zwei Menüs ein mit Einträgen
bei diesen ist das Symbol weg.Das ist das einzige was noch klemmt.
Ansonsten alles perfekt.Mfg.
Endor -
@Horstmann.
Ja ja ja. Das ist es.
Passt perfekt.
Vielen Dank.Mfg.
Endor -
Leider nein.
Der tut gar nichts. -
@Horstmann.
CSS menupopup[needsgutter] > menu > .menu-icon { display: none !important; }
Ist schon mal nicht schlecht. Aber:
Bei Menüeinträgen von einigen Erweiterungen und Scripten wird so nun kein Symbol
mehr angezeigt. Auch in der Menüleiste bei Lesezeichen sind die Ordnersymbole weg.Rechtschreibung prüfen und Sprachen werden nur angezeigt wenn ein oder
mehrere Wörterbücher installiert sind. Bei mir kommen noch durch Erweiterungen
und Scripte einige Einträge dazu.Mfg.
Endor -
Rechtsklick zbs. hier im Forum im Feld zum schreiben eines neuen Beitrags.
oder da wo man Passwort und Benutzernahme zum Anmelden im Forum
eingibt usw. -
Ja genau so ist es.
Mit diesem Code :
CSS@media (-moz-platform: windows) { menupopup[needsgutter] > menuitem:not([type="checkbox"], [class="menuitem-iconic"] ,[type="radio"], [checked]) > .menu-icon { display: none !important; } }Sieht es hier so aus:
Nur da wo ein Pfeil rechts auf Popupmenü hinweist passt es noch nicht.
Welchen der drei Codes in Deinem Beitrag soll ich testen?
Denn ich habe hier für alles eigene CSS Dateien.Mfg.
Endor -
Hallo @Horstmann.
Vielen Dank für die Info. Habe ich oben geändert.
Nur umbenennen in zip hat nicht funktioniert.Mfg.
Endor -
Bitte diesen CSS Code für Symbol verwenden.
Deiner passt nicht mehr:CSS
Alles anzeigen@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); @-moz-document url(chrome://browser/content/browser.xhtml){ #usercssloader-menu-item { background-image: url("../icons/CSS.png"); background-position: center; background-repeat: no-repeat; background-size: 16px; margin-right: -5px !important; margin-left: -6px !important; } #usercssloader-menu-item:hover { background-color: var(--toolbarbutton-hover-background); border-radius: 3px!important; } #usercssloader-menu-item #usercssloader-menu > .menu-text[value="CSS"] { opacity: 0; width: calc(2 * var(--toolbarbutton-inner-padding) + 16px); height: calc(2 * var(--toolbarbutton-inner-padding) + 16px); } }Symbol: Das ist ein Archiv, die enthaltene Bilddatei in icons Ordner entpacken.
Symbol muss in den icons Ordner.
CSS Code in den CSS Ordner.Mfg.
Endor -
Code
Notepad++ v8.9.2 regression fixes, bug-fixes & new improvements: 1. Security enhancement: Make updater check interity & authenticity of server-returned XML (XMLDsig). 2. Security enhancement: Fix untrusted search path vulnerability (CVE-2026-25926) by launching explorer.exe. 3. Security enhancement: Make auto-updater (WinGUp) even more secured (Remove dll dependency & unscured options). 4. Fix a plugin installation crash due to incorrect processing catch. 5. Add redact selection feature - Default: █, Modifier (Shift + Click): ●. 6. Fix context menu shortcut localization not aligning to the right regression.Get more info on
Download Notepad++ v8.9.2 - Double‑Lock Update Security | Notepad++Mfg.
Endor -
Und funktioniert das dann auch?
-
Hallo BarbaraZ-.
Teste bitte mal diese Version, die funktioniert hier:JavaScript
Alles anzeigen/* UserCSSLoader 2025-10-10 * * original author: Griever - * https://github.com/Griever/userChromeJS/tree/master/UserCSSLoader * * Enhancements and several other changes including German translation and * configuration section by users aborix, Endor, bege, Mira_Belle, Speravir * of Camp Firefox forum - https://www.camp-firefox.de/forum/ - latest version: * https://www.camp-firefox.de/forum/thema/138814/?postID=1280726#post1280726 */ /****** 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 anderen außer USER_SHEET werden gelesen. Da der Inhalt der Datei nicht überprüft wird, darauf achten, die Angabe von @namespace nicht zu vergessen! Schaltfläche oder Menü wird in Navigationsleiste eingefügt (einstellbar, siehe Variable "position" in unten anschließender Konfiguration). Dateiordner, Dateimanager und Texteditor können in der unten anschließenden Konfiguration geändert werden. Die Verwendung des in "view_source.editor.path" angegebenen Editors ist möglich. Linksklick auf Stil, zum Aktivieren/Deaktivieren Mittelklick auf Stil zum Aktivieren/Deaktivieren, ohne Menü zu schließen Rechtsklick auf Stil zum Öffnen im Editor Strg+Linksklick zum Anzeigen im Dateimanager Die Tastenkombinationen können im Menü eingeblendet werden, dazu nach "acceltext" suchen und den Zeilenkommentar "//" entfernen. Ein Symbol für die Schaltfläche muss in der "userChrome.css" festgelegt werden, Pfad zum Bild (PNG nur als Beispiel): * relativ zur userChrome.css background-image: url("Relativer/Pfad/zum/CSS_Symbol.png"); * eine absolute Pfadangabe zum Symbol muss mit File-Protokoll-Präfix erfolgen: background-image: url("file:///Absoluter/Pfad/zum/CSS_Symbol.png"); Absolute Zahlenwerte müssen eventuell etwas an die eigenen Gegebenheiten angepasst werden (größeres Symbol, anderer Rand); der Zahlenwert für Höhe und Breite des Menütextes ("CSS") sollte nicht größer sein als für das Symbol (hier 16px). #usercssloader-menu-item { background-image: url("Relativer/Pfad/zum/CSS_Symbol.png"); background-position: center; background-repeat: no-repeat; background-size: 16px; border-radius: var(--toolbarbutton-border-radius); margin-block: 3px; &:hover { background-color: var(--toolbarbutton-hover-background); } & #usercssloader-menu > .menu-text[value="CSS"] { opacity: 0; width: calc(2 * var(--toolbarbutton-inner-padding) + 16px); height: calc(2 * var(--toolbarbutton-inner-padding) + 16px); } } **** Ende der Anleitung ****/ (function(){ /***** Konfiguration *****/ /* Position: als frei verschiebbare-Schaltfläche = 0, als Menü anzeigen = 1 */ let position = 0;//1 /* Dateimanager festlegen, Beispiele: * let fileManager = "C:\\Programme\\FreeCommanderXE\\FreeCommander.exe"; * let fileManager = "C:\\Programme\\totalcmd\\TOTALCMD.EXE"; * auch möglich (Achtung, nur mit fileManagerParam = "/select,"!): * let fileManager = "C:\\Windows\\explorer.exe"; * Bleibt Parameter leer, wird Standardmanager des Systems ohne Parameter * verwendet mit leicht eingeschränkter Funktionalität. */ let fileManager = ""; /* eventuelle Parameter für den Dateimanager, Beispiele: * let fileManagerParam = "/T";//FreeCommander oder Totalcommander * let fileManagerParam = "/select,";//Windows Explorer, mit Komma korrekt! */ let fileManagerParam = ""; /* manche Manager benötigen den Parameter nach der Pfadangabe, dann "fileManagerParamPost" auf true setzen */ let fileManagerParamPost = false; /* eigener Texteditor mit Pfad - Standard leer, dann wird Wert aus * Einstellung "view_source.editor.path" verwendet mit Warnmeldung, * wenn auch dieser leer ist, Beispiel: * let customEditor = "C:\\Windows\\System32\\notepad.exe"; */ let customEditor = ""; /* Unterordner für die CSS-Dateien */ let cssFolder = "CSS"; /* zusätzlich Chrome-Ordner im Untermenü anzeigen (true) oder verstecken (false) */ let showChrome = true; /* Menüeintrag zum Bearbeiten der userChrome.css anzeigen (true) oder verstecken (false) */ let showUserChromeCSS = true; /* Menüeintrag zum Bearbeiten der userContent.css anzeigen (true) oder verstecken (false) */ let showUserContentCSS = true; /* Menüeintrag zum Bearbeiten der userChromeShadow.css anzeigen (true) oder verstecken (false) */ let showUserChromeShadowCSS = true; /* Menüeintrag zum Bearbeiten der userChrome.js anzeigen (true) oder verstecken (false) */ let showUserChromeJS = false; /* Menüeintrag zum Bearbeiten der pref.js anzeigen (true) oder verstecken (false); Achtung, diese Datei sollte nur zum Ansehen geöffnet werden, bei laufendem Firefox werden Änderungen wieder überschrieben! */ let showPrefsJS = false; /* Menüeintrag zum Bearbeiten der user.js anzeigen (true) oder verstecken (false) */ let showUserJS = false; /***** Ende der Konfiguration *****/ // Wenn beim Start ein weiteres Fenster (zweites Fenster) vorhanden ist, beenden let list = Services.wm.getEnumerator("navigator:browser"); while(list.hasMoreElements()){ if(list.getNext() != window) return; } if (window.UCL) { window.UCL.destroy(); delete window.UCL; } let menutooltip = "Linksklick: an/aus, Menü schließt\nMittelklick: an/aus, Menü bleibt offen\nRechtsklick: bearbeiten"; if (fileManager !== "") { menutooltip = menutooltip + "\nStrg+Rechtsklick: im Dateimanager anzeigen"; } window.UCL = { 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 = decodeURIComponent(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(cssFolder); } if (!aFolder.exists() || !aFolder.isDirectory()) { aFolder.create(Ci.nsIFile.DIRECTORY_TYPE, 0o664); } delete this.FOLDER; return this.FOLDER = aFolder; }, get CHRMFOLDER() { let cFolder; try { // UserCSSLoader.CHRMFOLDER verwenden let CHRMfolderPath = this.prefs.getCharPref("CHRMFOLDER"); cFolder = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile); cFolder.initWithPath(CHRMfolderPath); } catch (e) { cFolder = Services.dirsvc.get("UChrm", Ci.nsIFile); } if (!cFolder.exists() || !cFolder.isDirectory()) { cFolder.create(Ci.nsIFile.DIRECTORY_TYPE, 0o664); } delete this.CHRMFOLDER; return this.CHRMFOLDER = cFolder; }, init: function() { const cssmenu = $C("menu", { id: "usercssloader-menu", label: "CSS", tooltiptext: "UserCSSLoader\n\nLinksklick: Stylesheets anzeigen\nMittelklick: Styles importieren", accesskey: "Y" }); cssmenu.addEventListener("click", (event) => { if (event.button === 1) UCL.rebuild(); }); const menupopup = $C("menupopup", { id: "usercssloader-menupopup" }); cssmenu.appendChild(menupopup); let menu = $C("menu", { label: "Style-Loader-Menü", id: "style-loader-menu", accesskey: "S", //acceltext: "S" }); menupopup.appendChild(menu); menupopup.appendChild($C("menuseparator")); let mp = $C("menupopup", { id: "usercssloader-submenupopup" }); menu.appendChild(mp); let rebuildItem = $C("menuitem", { label: "Styles importieren", accesskey: "I", //acceltext: "I" }); rebuildItem.addEventListener("command", () => UCL.rebuild()); mp.appendChild(rebuildItem); mp.appendChild($C("menuseparator")); // let createCSS = $C("menuitem", { label: "CSS-Datei erstellen", accesskey: "D", //acceltext: "D" }); createCSS.addEventListener("command", () => UCL.create()); mp.appendChild(createCSS); let openFolder = $C("menuitem", { label: "CSS-Ordner öffnen", accesskey: "O", //acceltext: "O" }); openFolder.addEventListener("command", () => UCL.openCSSFolder()); mp.appendChild(openFolder); if (showChrome) { let openChromeFolder = $C("menuitem", { label: "Chrome-Ordner öffnen", accesskey: "X", //acceltext: "X" }); openChromeFolder.addEventListener("command", () => UCL.openCHRMFolder()); mp.appendChild(openChromeFolder); } if (showUserChromeCSS || showUserContentCSS || showUserChromeShadowCSS) // wenigstens eine der Variablen muss "true" sein, … mp.appendChild($C('menuseparator')); // … damit Trennlinie angezeigt wird if (showUserChromeCSS) { let editChromeItem = $C("menuitem", { label: "userChrome.css bearbeiten" }); editChromeItem.addEventListener("command", () => UCL.editUCFile("userChrome.css")); mp.appendChild(editChromeItem); } if (showUserContentCSS) { let editContentItem = $C("menuitem", { label: "userContent.css bearbeiten" }); editContentItem.addEventListener("command", () => UCL.editUCFile("userContent.css")); mp.appendChild(editContentItem); } if (showUserChromeShadowCSS) { let editUCShadowItem = $C("menuitem", { label: "userChromeShadow.css bearbeiten" }); editUCShadowItem.addEventListener("command", () => UCL.editUCFile("userChromeShadow.css")); mp.appendChild(editUCShadowItem); } if (showUserChromeJS || showPrefsJS || showUserJS) // wenigstens eine der Variablen muss "true" sein, … mp.appendChild($C('menuseparator')); // … damit Trennlinie angezeigt wird if (showUserChromeJS) { let editUCjsItem = $C("menuitem", { label: "userChrome.js bearbeiten" }); editUCjsItem.addEventListener("command", () => UCL.editUCFile("userChrome.js")); mp.appendChild(editUCjsItem); } if (showPrefsJS) { let editPrefsItem = $C("menuitem", { label: "prefs.js bearbeiten" }); editPrefsItem.addEventListener("command", () => UCL.editProfileFile("prefs.js")); mp.appendChild(editPrefsItem); } if (showUserJS) { let editUserJsItem = $C("menuitem", { label: "user.js bearbeiten" }); editUserJsItem.addEventListener("command", () => UCL.editProfileFile("user.js")); mp.appendChild(editUserJsItem); } CustomizableUI.createWidget({ id: 'usercssloader-menu-item', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { let toolbaritem = aDocument.createXULElement('toolbaritem'); toolbaritem.id = 'usercssloader-menu-item'; toolbaritem.className = 'chromeclass-toolbar-additional'; return toolbaritem; } }); $('usercssloader-menu-item').appendChild(cssmenu); if (position === 1) { let refNode = $('helpMenu'); refNode.parentNode.insertBefore(cssmenu, refNode.nextSibling); } // Stile neu laden, ohne Menü zu öffnen let key = $C("key", { id: "usercssloader-rebuild-key", key: "R", modifiers: "alt", }); key.addEventListener("command", () => UCL.rebuild()); $("mainKeyset").appendChild(key); this.rebuild(); this.initialized = true; 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", encodeURIComponent(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 = "Styles importiert"; else XULBrowserWindow.statusTextField.label = "Styles importiert"; } }, loadCSS: function(aFile) { let 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) { let CSS = this.readCSS[aLeafName]; let 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", tooltiptext: menutooltip }); menuitem.addEventListener("command", () => UCL.toggle(aLeafName)); menuitem.addEventListener("click", (event) => UCL.itemClick(event)); menuitem.addEventListener("mouseup", (event) => { if (event.button === 1) event.preventDefault(); }); document.getElementById("usercssloader-menupopup").appendChild(menuitem); } menuitem.setAttribute("checked", CSS.enabled); }, toggle: function(aLeafName) { let CSS = this.readCSS[aLeafName]; if (!CSS || event.ctrlKey) return; CSS.enabled = !CSS.enabled; this.rebuildMenu(aLeafName); }, itemClick: function(event) { let label = event.currentTarget.getAttribute("label"); event.preventDefault(); event.stopPropagation(); if (event.button === 0) { return; } else if (event.button === 1) { this.toggle(label); } else if (event.button === 2) { if (event.ctrlKey && fileManager !== "") { UCL.showFile(label); } else { 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; }, showFile: function(fname) { const PathSep = AppConstants.platform === "win" ? "\\" : "/"; let target= this.FOLDER.path + PathSep + fname; let file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile); let process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess); let args = (!fileManagerParamPost) ? [fileManagerParam,target] : [target,fileManagerParam]; file.initWithPath(fileManager); process.init(file); // Verzeichnis mit anderem Dateimanager öffnen process.run(false, args, args.length); }, openCSSFolder:function(){ if (fileManager !== "" && fileManagerParam !== "/select,") { let target = this.FOLDER.path; let file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile); let process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess); let args = (!fileManagerParamPost) ? [fileManagerParam,target] : [target,fileManagerParam]; file.initWithPath(fileManager); process.init(file); // Verzeichnis mit anderem Dateimanager öffnen process.run(false, args, args.length); } else { // Verzeichnis mit Dateimanager des Systems öffnen this.FOLDER.launch(); } }, openCHRMFolder:function(){ if (fileManager !== "" && fileManagerParam !== "/select,") { let target = this.CHRMFOLDER.path; let file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile); let process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess); let args = (!fileManagerParamPost) ? [fileManagerParam,target] : [target,fileManagerParam]; file.initWithPath(fileManager); process.init(file); // Verzeichnis mit anderem Dateimanager öffnen process.run(false, args, args.length); } else { // Verzeichnis mit Dateimanager des Systems öffnen this.CHRMFOLDER.launch(); } }, editUCFile: function(aLeafName) { let file = Services.dirsvc.get("UChrm", Ci.nsIFile); file.appendRelativePath(aLeafName); this.edit(file); }, editProfileFile: function(filename) { let file = Services.dirsvc.get("ProfD", Ci.nsIFile); file.append(filename); this.edit(file); }, edit: function(aFile) { let editor = (customEditor !== "") ? customEditor : Services.prefs.getCharPref("view_source.editor.path"); if (!editor) return alert('In der Konfiguration einen Texteditor festlegen ("customEditor") oder\n unter about:config im vorhandenen Schalter "view_source.editor.path"\n den vollständigen Editorpfad eintragen.'); try { let UI = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter); UI.charset = window.navigator.platform.toLowerCase().indexOf("win") >= 0? "Shift_JIS": "UTF-8"; let path = UI.ConvertFromUnicode(aFile.path); let app = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile); app.initWithPath(editor); let process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.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", }); m.css = css; m.addEventListener("command", function() { if (!event.ctrlKey) {this.setAttribute("checked", !(this.css.disabled = !this.css.disabled));} }); m.addEventListener("mouseup", function(event) { if (event.button === 1) event.preventDefault(); }); m.addEventListener("click", function(event) { UCL.UCItemClick(event); }); 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(Ci.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: Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService), _enabled: false, get enabled() { return this._enabled; }, set enabled(isEnable) { let aFile = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile) aFile.initWithPath(this.path); let isExists = aFile.exists(); // true, wenn die Datei bereits existiert let lastModifiedTime = isExists ? aFile.lastModifiedTime : 0; let isForced = this.lastModifiedTime != lastModifiedTime; //true, wenn es eine Änderung in der Datei gibt let fileURL = Services.io.getProtocolHandler("file").QueryInterface(Ci.nsIFileProtocolHandler).getURLSpecFromActualFile(aFile); let 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; }, }; UCL.init(); function $(id) { return document.getElementById(id); } function $A(arr) { return Array.slice(arr); } function $C(name, attr) { const 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.getDate()).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(mes) { console.log(mes); } })();Erst mal testen ob sie bei Dir funktioniert, dann Deine Anpassungen einfügen.
Mfg.
Endor -
-
Hallo 2002Andreas.
Ja das stimmt.
CSS
Alles anzeigen#viewFullZoomMenu menuitem[label="Nur Text zoomen"][checked="true"] { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACy0lEQVR42mL8//8/AyUAIIBYwlbzMvxj/M/w+/c/hj8//zEw/mFi+P/vPwPbXwaG/ywMDN88fjN8lv3LgGwNiM3KwMCi8YQ7ESCAWPCZDjSHgesQK4Ow4X8GTp5/DP+g4kyMjAw//7CXMPxk0gQIICZ8BvwHyrL/Btp2no3h6g8mhkNcDAyHuRkY3n9hM2M+z9zC+INhM0AAsRDyI8iQH8wMDMKP2BkEPzEyMHMw6Py6x7DyGxPDTRaGP5sBAoiFmIBiBGKBL4wMrIxMcj8fM6z99uafAo/Sv/D/n//9BAggFmJDG+gSla+f/q/99e6/GoPk/733hP6tBQUKQAAx/Wf4D7Tgvz0kYHFoZmQw/f2LYf3f7//1GPkZvjP/+1nB/+TnX/7nPxkAAojpK+P//7/+M2QxMjDOASYJYXh8Aen//xjY/jAzZf9jYdrNyMKgw8rGyPCd+1/RQ1nGM89kWBhAGCCAWD6y/mPg/MawToSTeQUTG5PVzw//1/z/w3DxLzODJCs3YyiLAIMlE9CjTEA/fHn6ZwX7i58zZB4C+WxAC4BpBSCAGN2mMzH8+/mfjYeXZ5OkupD79z9fGL5//w5U8Q+siIWJlYGHVZDh5fOPD79+/GTLzPn/McM3BoZ3FxkYHh1hYAAIIEbJVUDn6oOCmknM7rzsOmMdHevfzN8Zvv36CvYDN7sAw9M7z/7sZ7nh/Vbp764fBxkY/sxmYPh6CuJTgABi/rKLgeEL0ElfRP9/5br7aTPzJxYVTQVDTSURHQYJHiWGr59+MJw6dLzoy7nfy95NZ2D4OI2B4fdTRAADBBAK4hBkYBA3YmCwzBTJq98e9Grzm9b/3o3yc4RVgV7BoQcggBihGCTPBo1KEPsfuwiDsZKRgM+9kx+W//zI8Ayah35B8W8YDRBAIM1MUI3sUEM4oDQo7wDDmYEHahlM808k/AsgwADeMftGyFih2QAAAABJRU5ErkJggg==") !important; background-repeat: no-repeat !important; background-position:5px 7px!important; background-size: 16px 16px !important; } #viewFullZoomMenu menuitem[label="Nur Text zoomen"]:not([checked="true"]){ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADMUlEQVR42mJkQAJTps1s/vf3b8l/hv8cDP8hYoyMjD+YmJl7crLSaxnQwP///xkAAgjOmTBpytOdO3b8//Pj639k8Of71/87t+/4P2HilKfYDAAIIEYQo2/CpKeOttZS2gZGDBP2v2A4/uAzAysbMwMLCyODjRIfQ5q5MMOls2cZDhw+9qyoME8a2QCAAAJqnty8adPm/19//fsfseD2/0Wn3/y/8+bn/wvPv/3ffffT/6kn3/wv2vn8/8+///9v2rjpP0g9sgEAAcT0+9evUntrc4bJ+58zeOsIMjir8TI8fvOOIT7QneHZuw8MTOzMDJxcLAwrrn1ksLMyZ/j162cpsjcAAojp77+/7HxCwgynn35nMJTmYnjx9S/DyqWLGJ4/eciwY/0yhm9MTAx8PKwMt77+Y+AXEmL49/cfO7IBAAHEBBRgYPj7C+hnJoa/wBB59/Mvw841SxkCcqsYDgMN4OZmYeACYm5OVgaGP78Y/v37hxKQAAHE9O//X4a/f/4ysLIyMzz7/Jfh4sWLDH+BEk+fPmZgYmJkePPwOgMnUDMrBwvD79//gAb8RTEAIIBY/v/7/+vp8xdsRpJcDJdf/mC4cukCg09JO4OegwODnqMjw9MblxkktQwYlDn/MDx58YLh91+Gz8gGAAQQ09t37xYdPHSMIViFleH1938Mck4RDPLGNgxARzEom9gxmAbFMfz7/Z/BlO0bw74DRxk02K/xIhsAEEBMkyb01d+6c+f1lbMnGbI0/zLIcf5l+PqLgeHLTwaGj9//M/D//MrgyvSa4eyxowzv3n9gMIuZxHCq3+w/zACAAGKE0npVNbV7lBXlRS3MTBlEgaENSaaMDK/evmM4fvI0w+NnzxkcnJwZ1DX1GNg+n2Z4sKWBwTT3ACNAADEiuUYvIzM7T1BQMBaYF9hgeeE/I/NnBea7vL9l3YGByctgK/+RQV1LgOH4kn4Gy/wDjAABxIiWvKWAWBzkNSQxULAzb260O8MjY8rgILCG4SGXw7pnt54GWebtZgQIIHQD8AHj1Q3uZ/7/ZwRGLwPDztMP42dtvrYIIIBIMQBsCBL7BjCcvgIEGAB13FIKQ7uckwAAAABJRU5ErkJggg==") !important; background-repeat: no-repeat !important; background-position:6px 8px!important; background-size: 16px 16px !important; } #viewFullZoomMenu menuitem[label="Nur Text zoomen"][checked="true"] .menu-icon { visibility: hidden !important; } #viewFullZoomMenu menuitem[label="Nur Text zoomen"][checked="true"] .menu-text{ margin-left: -9px !important; } #viewFullZoomMenu menuitem[label="Nur Text zoomen"]:not([checked="true"]) .menu-text { margin-left: 14px !important; }Nur dann gibt es bei aktiviert eben diesen Abstand den ich
auch schon mal gemeldet hatte. Dafür habe ich bis jetzt auch
noch keine Lösung gefunden.Genau dieses Problem habe ich hier in jedem Kontextmenü wo eine checkbox
vorhanden ist. Sobald der Haken gesetzt ist, also auf true gesetzt, ist dieser
Abstand im Kontextmenü.Links Rechtschreibung prüfen nicht aktiviert
Rechts aktiviert. Prompt ist der Abstand vorhanden.
Wiso warum keine Ahnung. Hat eventuell mit needsgutter
zu tun das nur auftaucht wenn Haken gestzt ist.Mfg.
Endor -
Das habe ich so hier gemacht:
CSS
Alles anzeigen/*Ansicht - Zoom*/ #menu_zoomEnlarge{ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAr9JREFUeNqUk11IU2EYx/9nZx9u6KYTiSyzL1ArpK9pJpp9IdVd3XRRdNeHpaYkRGQaQnRRuuYM6iqsi6AImkGOwlahonMXRYxQI0Xnhh+zNXfczjnveTubfZxVBP3h5bzn4Ty/93n+53kZKGS/fadFIuQCBU0BXYoxDBNVseyNc1WnGvGbKKW/Xqw2u8/Z3U3FaIQqJS5GqPN5N7Xesvv+BmDim1arzbe7rDR74+atsL4KoH88DK2WhZplULrWiJPFmXjv8cD1tm+qvq5mRVIFrdb2Foeji0Z4iR69N0LvD83Sz/MC9c7ytGdsgXYMztJ6p5/GCKWOpw4a/14JUAk837CrtBjtrgAObTJjX74JHGVwoLoNHKOGJkUDvUGNh94QyncWg+djDco2VEQiOqM5E24fh+2rUjEvMHIiC0OKDkJiaZFu0mEkQmEymyERSacEqOUAQPhEz5B7Plh1E3o5UadR48pFK2LRGOqv1UGEAIg8JElCMoASEJFAo1ZhIiSg43oteBkQT26ynwchABcWodGpIQiCDCDJACpR3ucPaLcsN+Cdn4PRqIEYo4mT48kqlWwWq8JaPY/JQAACQTjJg7lgsPP1mz4cWa/BNCdhMkSwGBUTZXMLIsILEoggwaLl0OPqRb7Om5YEsFlbm4ZHR2c+eAZQVUCQoxfxNSYhFBERjEgwxSLYr5qBp68XwfkvKDpmw2Bb0c8RZL4/Cy9dbny5bk1u1o4iC7Jkt5fGlMH0XBD9A25MTPlRsWcv8goKoQ27MfasGZZqF8Moqik8feZsTUZGxnH5Lmh/3AXKsOHV7Kc0IacSen0aynJDyNuQjv4HbSipTQbElS2vZfHWFLG47WzX1fKh1JUWVKQ/xrih4snUsO9wSc2LPwD/0rZHzZVDVJ7S+J9xusdP3O3ydv4PIAFR7D/KPkW+CTAATw5W30BzwxkAAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-left:28px!important; background-position:6px 10px!important;} #menu_zoomEnlarge:hover{ appearance:none!important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAr9JREFUeNqUk11IU2EYx/9nZx9u6KYTiSyzL1ArpK9pJpp9IdVd3XRRdNeHpaYkRGQaQnRRuuYM6iqsi6AImkGOwlahonMXRYxQI0Xnhh+zNXfczjnveTubfZxVBP3h5bzn4Ty/93n+53kZKGS/fadFIuQCBU0BXYoxDBNVseyNc1WnGvGbKKW/Xqw2u8/Z3U3FaIQqJS5GqPN5N7Xesvv+BmDim1arzbe7rDR74+atsL4KoH88DK2WhZplULrWiJPFmXjv8cD1tm+qvq5mRVIFrdb2Foeji0Z4iR69N0LvD83Sz/MC9c7ytGdsgXYMztJ6p5/GCKWOpw4a/14JUAk837CrtBjtrgAObTJjX74JHGVwoLoNHKOGJkUDvUGNh94QyncWg+djDco2VEQiOqM5E24fh+2rUjEvMHIiC0OKDkJiaZFu0mEkQmEymyERSacEqOUAQPhEz5B7Plh1E3o5UadR48pFK2LRGOqv1UGEAIg8JElCMoASEJFAo1ZhIiSg43oteBkQT26ynwchABcWodGpIQiCDCDJACpR3ucPaLcsN+Cdn4PRqIEYo4mT48kqlWwWq8JaPY/JQAACQTjJg7lgsPP1mz4cWa/BNCdhMkSwGBUTZXMLIsILEoggwaLl0OPqRb7Om5YEsFlbm4ZHR2c+eAZQVUCQoxfxNSYhFBERjEgwxSLYr5qBp68XwfkvKDpmw2Bb0c8RZL4/Cy9dbny5bk1u1o4iC7Jkt5fGlMH0XBD9A25MTPlRsWcv8goKoQ27MfasGZZqF8Moqik8feZsTUZGxnH5Lmh/3AXKsOHV7Kc0IacSen0aynJDyNuQjv4HbSipTQbElS2vZfHWFLG47WzX1fKh1JUWVKQ/xrih4snUsO9wSc2LPwD/0rZHzZVDVJ7S+J9xusdP3O3ydv4PIAFR7D/KPkW+CTAATw5W30BzwxkAAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-left:28px!important; background-position:6px 10px!important;} #menu_zoomReduce{ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArxJREFUeNqUk11Ik1EYx//nfd9tTp0fE4mstCxQK6SvaWaafeGFd3XTRdFdH1qKljeRZHhRF6VrrqCuQroIiqAZ5DBqFSo2BxUh4QcoOjd0rra5r/fdeU/vtI+tIugPh/Och3N+PM//nEOQIPOdux0ypRcZWArYSo4QEuF4/sa5+tNt+E2MsV8Lo8nstPb1sVgkyBIVCweZ9XkfM94yO/8GIPGg02hy7q+qzNuybQeMr9wYmgpApeYhCAR7CzNwqjwHHx0O2N4OzrU0N65JqqDT2N1hsfSyoCizY/fHWY/dwyY8UfbeFWL9k352e9jDWqwuFqWMWZ5aWHx/IoCTRLF1X2U5um1u1G3V41BxBvwxGR6RwU8J+BQB2lQBD0d9qN5TDlGMtia2wVGZajL0ObA7Q9iVnw6vSBCCAFFQQ0pZGVmZGowHGTL1eshU1iQCBCUBUBFqpWfwBHUNN6ESeCUkIEqJNEZx4VozYpCAmAhZlpEMYHR5k0rgMOOTYL7ehBDHIcQL0Gg5cAo3vBSDSiNAkiQFQJMBTGai0+VWb1+dig+uEHQ6AWHlVFqarNyECoKKB+M5FGpFzLrdkCgCSR4ser09r98M4ugmFeZDMmb9FGKMQZRkRCIyloIyqBIb1CG8tA2gWDOqSwKYjJ1XxiYmFj45hlFfQpGvpQiKwFIU8IUV46JBHOYW4BgcgPfLV5QdN+FdV9nPJ0i+z6WXLre92LihIHd3mQG5itsrz5RgftGLoWE7ZuZcqDlwEEUlpVAH7Jh61g7DeRshCdWUnjnb0JidnX1C+QvqH3+BET6wnp/USetqodXqUFXgQ9HmLAw96EJFUzIgrjxlrIq3lpCL2873Xq0eSV9rQE3WY0yn1jyZG3MeqWjs/wPwL+181F47whiBcsuw2qdP3usd7fkfwDIkIf6s+BT8JsAAKC9RphXbWHoAAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-left:28px!important; background-position:6px 10px!important;} #menu_zoomReduce:hover{ appearance:none!important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArxJREFUeNqUk11Ik1EYx//nfd9tTp0fE4mstCxQK6SvaWaafeGFd3XTRdFdH1qKljeRZHhRF6VrrqCuQroIiqAZ5DBqFSo2BxUh4QcoOjd0rra5r/fdeU/vtI+tIugPh/Och3N+PM//nEOQIPOdux0ypRcZWArYSo4QEuF4/sa5+tNt+E2MsV8Lo8nstPb1sVgkyBIVCweZ9XkfM94yO/8GIPGg02hy7q+qzNuybQeMr9wYmgpApeYhCAR7CzNwqjwHHx0O2N4OzrU0N65JqqDT2N1hsfSyoCizY/fHWY/dwyY8UfbeFWL9k352e9jDWqwuFqWMWZ5aWHx/IoCTRLF1X2U5um1u1G3V41BxBvwxGR6RwU8J+BQB2lQBD0d9qN5TDlGMtia2wVGZajL0ObA7Q9iVnw6vSBCCAFFQQ0pZGVmZGowHGTL1eshU1iQCBCUBUBFqpWfwBHUNN6ESeCUkIEqJNEZx4VozYpCAmAhZlpEMYHR5k0rgMOOTYL7ehBDHIcQL0Gg5cAo3vBSDSiNAkiQFQJMBTGai0+VWb1+dig+uEHQ6AWHlVFqarNyECoKKB+M5FGpFzLrdkCgCSR4ser09r98M4ugmFeZDMmb9FGKMQZRkRCIyloIyqBIb1CG8tA2gWDOqSwKYjJ1XxiYmFj45hlFfQpGvpQiKwFIU8IUV46JBHOYW4BgcgPfLV5QdN+FdV9nPJ0i+z6WXLre92LihIHd3mQG5itsrz5RgftGLoWE7ZuZcqDlwEEUlpVAH7Jh61g7DeRshCdWUnjnb0JidnX1C+QvqH3+BET6wnp/USetqodXqUFXgQ9HmLAw96EJFUzIgrjxlrIq3lpCL2873Xq0eSV9rQE3WY0yn1jyZG3MeqWjs/wPwL+181F47whiBcsuw2qdP3usd7fkfwDIkIf6s+BT8JsAAKC9RphXbWHoAAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-left:28px!important; background-position:6px 10px!important;} #menu_zoomReset{ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArFJREFUeNqUU01IVGEUPe+9GcdRx18k0srKyKyQMtTMNEvCRbvatCja9WNlJLmJJMNt6KQW1CqkRVAEaZCDkVao2DgQFRKmoNQ4U+qkjs+ZeTPfu93Jft5UBF14fN+73HPuOZf7STBE+42bTboQFwgUD1rOSZIUlBXl6pmaEw34LYjo14+9td3t6O6mSFAlY0QCKjked5P9Wrv7bwRS9NJsb3XvLS/L2rKtEPZeLwYn/DDHKTCZJOxen4zjJRl47XKh78XAVN352uwYBc32tqbOzi5SNZ0O335PHc4ZGpsJ0SvPEvWML9D1oRmqc3goJIg6H3ZStN5IIIc1rX5PWQnaej04sDUNVRttmNMEpoMC8xEusCiwJphwd2QeFbtKoGmheqMNWejCkpyeAac7gO3ZCfCqAr6QjgUB+NnhkiwjOcmMUVVHSno6dKFbjAQmTgBCY88yBE/Ex539DF5icFCRkZgIhAVByOw3okHXdcQSkICICJjNCqYYqXLBYrQzg+OtPEjOa6woSDrC4QgTiBgCmXTS3B4vClea8eZTENOBqAX2zmqiYIvFBInPXKuOj14vq2FnRoJZn6/j2fMBHNpgZrAO9yJ3YpUsijsTVM7pYUJR3BKe9vVjk2XEFkPQam++PDo2Nv3WNYSafIE1VrahAYshYD5ASAmp2C9PwzXQD9+XORQfacXLluKfKyh9PwsuXmp4krsuJ3NncREyedrLayrh86wPg0NOfJjyoHJfFfLyCxDnd2LiUSOKzvZJkkFNwclTp2vT0tKO8luI+/EWSFL8a5VxW3h1NaxWG8pz5pG3ORWDd1pQei6WIBpZ/K2IWjPkomNXuq5UDCetKkJl6n1MJlQ+mBp1Hyyt7fmD4F+x415j9TCRBN4tOJyTx251jXT8D8E3EsP9Hc9J/SrAALenXlq1AZ12AAAAAElFTkSuQmCC") no-repeat !important; min-height: 24px!important; padding-left:28px!important; background-position:6px 10px!important;} #menu_zoomReset:hover{ appearance:none!important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArFJREFUeNqUU01IVGEUPe+9GcdRx18k0srKyKyQMtTMNEvCRbvatCja9WNlJLmJJMNt6KQW1CqkRVAEaZCDkVao2DgQFRKmoNQ4U+qkjs+ZeTPfu93Jft5UBF14fN+73HPuOZf7STBE+42bTboQFwgUD1rOSZIUlBXl6pmaEw34LYjo14+9td3t6O6mSFAlY0QCKjked5P9Wrv7bwRS9NJsb3XvLS/L2rKtEPZeLwYn/DDHKTCZJOxen4zjJRl47XKh78XAVN352uwYBc32tqbOzi5SNZ0O335PHc4ZGpsJ0SvPEvWML9D1oRmqc3goJIg6H3ZStN5IIIc1rX5PWQnaej04sDUNVRttmNMEpoMC8xEusCiwJphwd2QeFbtKoGmheqMNWejCkpyeAac7gO3ZCfCqAr6QjgUB+NnhkiwjOcmMUVVHSno6dKFbjAQmTgBCY88yBE/Ex539DF5icFCRkZgIhAVByOw3okHXdcQSkICICJjNCqYYqXLBYrQzg+OtPEjOa6woSDrC4QgTiBgCmXTS3B4vClea8eZTENOBqAX2zmqiYIvFBInPXKuOj14vq2FnRoJZn6/j2fMBHNpgZrAO9yJ3YpUsijsTVM7pYUJR3BKe9vVjk2XEFkPQam++PDo2Nv3WNYSafIE1VrahAYshYD5ASAmp2C9PwzXQD9+XORQfacXLluKfKyh9PwsuXmp4krsuJ3NncREyedrLayrh86wPg0NOfJjyoHJfFfLyCxDnd2LiUSOKzvZJkkFNwclTp2vT0tKO8luI+/EWSFL8a5VxW3h1NaxWG8pz5pG3ORWDd1pQei6WIBpZ/K2IWjPkomNXuq5UDCetKkJl6n1MJlQ+mBp1Hyyt7fmD4F+x415j9TCRBN4tOJyTx251jXT8D8E3EsP9Hc9J/SrAALenXlq1AZ12AAAAAElFTkSuQmCC") no-repeat !important; min-height: 24px!important; padding-left:28px!important; background-position:6px 10px!important;} #viewFullZoomMenu menuitem[label="Nur Text zoomen"]{ appearance: none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADMUlEQVR42mJkQAJTps1s/vf3b8l/hv8cDP8hYoyMjD+YmJl7crLSaxnQwP///xkAAgjOmTBpytOdO3b8//Pj639k8Of71/87t+/4P2HilKfYDAAIIEYQo2/CpKeOttZS2gZGDBP2v2A4/uAzAysbMwMLCyODjRIfQ5q5MMOls2cZDhw+9qyoME8a2QCAAAJqnty8adPm/19//fsfseD2/0Wn3/y/8+bn/wvPv/3ffffT/6kn3/wv2vn8/8+///9v2rjpP0g9sgEAAcT0+9evUntrc4bJ+58zeOsIMjir8TI8fvOOIT7QneHZuw8MTOzMDJxcLAwrrn1ksLMyZ/j162cpsjcAAojp77+/7HxCwgynn35nMJTmYnjx9S/DyqWLGJ4/eciwY/0yhm9MTAx8PKwMt77+Y+AXEmL49/cfO7IBAAHEBBRgYPj7C+hnJoa/wBB59/Mvw841SxkCcqsYDgMN4OZmYeACYm5OVgaGP78Y/v37hxKQAAHE9O//X4a/f/4ysLIyMzz7/Jfh4sWLDH+BEk+fPmZgYmJkePPwOgMnUDMrBwvD79//gAb8RTEAIIBY/v/7/+vp8xdsRpJcDJdf/mC4cukCg09JO4OegwODnqMjw9MblxkktQwYlDn/MDx58YLh91+Gz8gGAAQQ09t37xYdPHSMIViFleH1938Mck4RDPLGNgxARzEom9gxmAbFMfz7/Z/BlO0bw74DRxk02K/xIhsAEEBMkyb01d+6c+f1lbMnGbI0/zLIcf5l+PqLgeHLTwaGj9//M/D//MrgyvSa4eyxowzv3n9gMIuZxHCq3+w/zACAAGKE0npVNbV7lBXlRS3MTBlEgaENSaaMDK/evmM4fvI0w+NnzxkcnJwZ1DX1GNg+n2Z4sKWBwTT3ACNAADEiuUYvIzM7T1BQMBaYF9hgeeE/I/NnBea7vL9l3YGByctgK/+RQV1LgOH4kn4Gy/wDjAABxIiWvKWAWBzkNSQxULAzb260O8MjY8rgILCG4SGXw7pnt54GWebtZgQIIHQD8AHj1Q3uZ/7/ZwRGLwPDztMP42dtvrYIIIBIMQBsCBL7BjCcvgIEGAB13FIKQ7uckwAAAABJRU5ErkJggg==")no-repeat !important; min-height: 24px!important; padding-left:28px!important; margin-left: 0px !important; background-position:6px 8px!important;} #viewFullZoomMenu menuitem[label="Nur Text zoomen"]:hover { appearance: none!important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADMUlEQVR42mJkQAJTps1s/vf3b8l/hv8cDP8hYoyMjD+YmJl7crLSaxnQwP///xkAAgjOmTBpytOdO3b8//Pj639k8Of71/87t+/4P2HilKfYDAAIIEYQo2/CpKeOttZS2gZGDBP2v2A4/uAzAysbMwMLCyODjRIfQ5q5MMOls2cZDhw+9qyoME8a2QCAAAJqnty8adPm/19//fsfseD2/0Wn3/y/8+bn/wvPv/3ffffT/6kn3/wv2vn8/8+///9v2rjpP0g9sgEAAcT0+9evUntrc4bJ+58zeOsIMjir8TI8fvOOIT7QneHZuw8MTOzMDJxcLAwrrn1ksLMyZ/j162cpsjcAAojp77+/7HxCwgynn35nMJTmYnjx9S/DyqWLGJ4/eciwY/0yhm9MTAx8PKwMt77+Y+AXEmL49/cfO7IBAAHEBBRgYPj7C+hnJoa/wBB59/Mvw841SxkCcqsYDgMN4OZmYeACYm5OVgaGP78Y/v37hxKQAAHE9O//X4a/f/4ysLIyMzz7/Jfh4sWLDH+BEk+fPmZgYmJkePPwOgMnUDMrBwvD79//gAb8RTEAIIBY/v/7/+vp8xdsRpJcDJdf/mC4cukCg09JO4OegwODnqMjw9MblxkktQwYlDn/MDx58YLh91+Gz8gGAAQQ09t37xYdPHSMIViFleH1938Mck4RDPLGNgxARzEom9gxmAbFMfz7/Z/BlO0bw74DRxk02K/xIhsAEEBMkyb01d+6c+f1lbMnGbI0/zLIcf5l+PqLgeHLTwaGj9//M/D//MrgyvSa4eyxowzv3n9gMIuZxHCq3+w/zACAAGKE0npVNbV7lBXlRS3MTBlEgaENSaaMDK/evmM4fvI0w+NnzxkcnJwZ1DX1GNg+n2Z4sKWBwTT3ACNAADEiuUYvIzM7T1BQMBaYF9hgeeE/I/NnBea7vL9l3YGByctgK/+RQV1LgOH4kn4Gy/wDjAABxIiWvKWAWBzkNSQxULAzb260O8MjY8rgILCG4SGXw7pnt54GWebtZgQIIHQD8AHj1Q3uZ/7/ZwRGLwPDztMP42dtvrYIIIBIMQBsCBL7BjCcvgIEGAB13FIKQ7uckwAAAABJRU5ErkJggg==")no-repeat !important; min-height: 24px!important; padding-left:28px!important; margin-left: 0px !important; background-position:6px 8px!important;}