Beiträge von Boersenfeger
-
-
Ja, ich suche eins nach dem anderen und überlege dabei, ob ich nicht darauf verzichten kann. Das in #386 ist allerdings für mich wichtig
-
Ich habe hier noch ein Script, das nicht mehr funktioniert:
JavaScript
Alles anzeigen// ==UserScript== // @name ucjsDownloadsStatusModoki.uc.js // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @description Downloads Status Modoki // @include main // @compatibility Firefox 117 // @author Alice0775 // @note DownloadsStatusModoki.uc.js.css Datei, muss in bzw. über userChrome.css geladen werden! // @version 2023/07/17 00:00 use ES module imports // @version 2023/06/20 remove Bug 1780695 - Remove Services.jsm // @version 2023/06/18 21:00 null // @version 2023/05/18 21:00 // @version 2022/11/24 21:00 Bug 1802142 - Remove no longer used browser-bottombox // @version 2022/11/22 Bug 877389 - [meta] Replace calls to Cu.reportError, etc. from browser code, replace with console.error, etc. // @version 2022/11/20 19:00 107+ wip // @version 2022/04/01 23:00 Convert Components.utils.import to ChromeUtils.import // @version 2022/02/16 Bug 1747422 - Remove preprocessor variable use from downloads CSS // @version 2019/12/11 fix for 73 Bug 1601094 - Rename remaining .xul files to .xhtml in browser // @version 2019/10/20 12:30 workaround Bug 1497200: Apply Meta CSP to about:downloads, Bug 1513325 - Remove textbox binding // @version 2019/09/08 19:30 fix scrollbox // @version 2019/05/21 08:30 fix 69.0a1 Bug 1551320 - Replace all createElement calls in XUL documents with createXULElement // @version 2018/10/27 12:00 fix for 64+ // @version 2018/06/12 21:00 fix for private window mode // @version 2018/06/07 12:00 fix file name for history // @version 2018/02/10 12:00 try catch error when DO_NOT_DELETE_HISTORY = true // @version 2017/12/10 12:00 fix error when DO_NOT_DELETE_HISTORY = true // @version 2017/12/10 12:00 remove workaround Bug 1279329. Disable btn while clear list is doing, close button styling for 57. // @version 2016/06/10 12:00 modify style independent of font-family // @version 2016/06/10 07:00 modify style of close button, fix typo // @version 2016/06/10 00:00 Workaround Bug 1279329. adjust some padding // @version 2015/05/08 00:00 remove padding due to Bug 1160734 // @version 2014/03/31 00:00 fix for browser.download.manager.showWhenStarting // @version 2013/12/22 13:00 chromehidden // @version 2013/12/19 17:10 rename REMEMBERHISTOTY to DO_NOT_DELETE_HISTORY // @version 2013/12/16 23:28 fixed initialize numDls // @version 2013/12/16 23:24 open only download added // @version 2013/12/16 23:10 open only download started // @version 2013/12/16 21:20 modify css Windows7 Aero // @version 2013/12/16 21:00 modify css // @version 2013/12/16 19:30 add autocheck false // @version 2013/12/16 18:31 fix pref name // @version 2013/12/16 18:30 // @note // ==/UserScript== var ucjsDownloadsStatusModoki = { _summary: null, _list: null, get downloadsStatusModokiBar() { delete downloadsStatusModokiBar; return this.downloadsStatusModokiBar = document.getElementById("downloadsStatusModokiBar"); }, get toggleMenuitem() { delete toggleMenuitem; return this.toggleMenuitem = document.getElementById("toggle_downloadsStatusModokiBar"); }, init: function() { if (document.documentElement.getAttribute("chromehidden") !="" ) return; ChromeUtils.defineESModuleGetters(this, { Downloads: "resource://gre/modules/Downloads.sys.mjs", }); var style = ` @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); #ucjsDownloadsStatusModoki { width: 100%; max-height: 100px; height: 3.5em; } `.replace(/\s+/g, " "); var sspi = document.createProcessingInstruction( 'xml-stylesheet', 'type="text/css" href="data:text/css,' + encodeURIComponent(style) + '"' ); document.insertBefore(sspi, document.documentElement); sspi.getAttribute = function(name) { return document.documentElement.getAttribute(name); }; var toolbar = document.createXULElement("vbox"); toolbar.setAttribute("id", "downloadsStatusModokiBar"); toolbar.collapsed = true; var ref = document.getElementById("fullscreen-and-pointerlock-wrapper"); ref.parentNode.insertBefore(toolbar, ref.nextSibling) // var bottombox = document.getElementById("browser-bottombox"); // bottombox.insertBefore(toolbar, bottombox.firstChild); var browser = toolbar.appendChild(document.createXULElement("browser")); browser.setAttribute("disablehistory", true); browser.setAttribute("remote", false); browser.setAttribute("id", "ucjsDownloadsStatusModoki"); browser.addEventListener("load", function(event){ucjsDownloadsStatusModoki.onload(event)}, true); browser.setAttribute("src", "chrome://browser/content/downloads/contentAreaDownloadsView.xhtml?StatusModoki"); var menuitem = document.createXULElement("menuitem"); menuitem.setAttribute("id", "toggle_downloadsStatusModokiBar"); menuitem.setAttribute("type", "checkbox"); menuitem.setAttribute("autocheck", false); menuitem.setAttribute("label", "Download Leiste"); menuitem.setAttribute("checked", false); menuitem.setAttribute("accesskey", "D"); menuitem.setAttribute("oncommand", "ucjsDownloadsStatusModoki.toggleDownloadsStatusModokiBar()"); ref = document.getElementById("menu_customizeToolbars"); ref.parentNode.insertBefore(menuitem, ref.previousSibling); // Ensure that the DownloadSummary object will be created asynchronously. if (!this._summary) { this.Downloads.getSummary(this.Downloads.ALL).then(summary => { this._summary = summary; return this._summary.addView(this); }).then(null, console.error); } if (!this._list) { this.Downloads.getList(this.Downloads.ALL).then(list => { this._list = list; return this._list.addView(this); }).then(null, console.error); } window.addEventListener("unload", this, false); }, uninit: function() { window.removeEventListener("unload", this, false); if (this._summary) { this._summary.removeView(this); } if (this._list) { this._list.removeView(this); } }, handleEvent: function(event) { switch (event.type) { case "unload": this.uninit(); break; } }, toggleDownloadsStatusModokiBar: function() { var collapsed = this.downloadsStatusModokiBar.collapsed; this.downloadsStatusModokiBar.collapsed = !collapsed; this.toggleMenuitem.setAttribute("checked", collapsed); }, openDownloadsStatusModoki: function() { this.downloadsStatusModokiBar.collapsed = false; this.toggleMenuitem.setAttribute("checked", true); }, hideDownloadsStatusModoki: function() { this.downloadsStatusModokiBar.collapsed = true; this.toggleMenuitem.setAttribute("checked", false); }, onDownloadAdded: function (aDownload) { var showWhenStarting = true; try { showWhenStarting = Services.prefs.getBoolPref("userChrome.downloadsStatusModoki.showWhenStarting"); } catch(e) {} this.numDls = 0; if (showWhenStarting) { if (this._list) { this._list.getAll().then(downloads => { for (let download of downloads) { if (!download.stopped) this.numDls++; } if (this.numDls > 0) this.openDownloadsStatusModoki(false); }).then(null, console.error); } } }, onSummaryChanged: function () { if (!this._summary) return; if (this._summary.allHaveStopped || this._summary.progressTotalBytes == 0) { var closeWhenDone = false; try { closeWhenDone = Services.prefs.getBoolPref("userChrome.downloadsStatusModoki.closeWhenDone"); } catch(e) {} if (closeWhenDone) { this.hideDownloadsStatusModoki(); } } }, // chrome://browser/content/downloads/contentAreaDownloadsView.xhtml onload: function(event) { var doc = event.originalTarget; var win = doc.defaultView; doc.documentElement.setAttribute("ucjsDownloadsStatusModoki", "true"); var button = doc.createXULElement("button"); button.setAttribute("label", "Löschen"); button.setAttribute("id", "ucjs_clearListButton"); button.setAttribute("accesskey", "L"); var ref = doc.getElementById("downloadsListEmptyDescription"); var vbox = doc.createXULElement("vbox"); var box = vbox.appendChild(doc.createXULElement("hbox")); box.appendChild(button); box.appendChild(doc.createXULElement("spacer")).setAttribute("flex", 1); var textbox = doc.createElementNS("http://www.w3.org/1999/xhtml", "input"); textbox.setAttribute("id", "downloadFilter"); textbox.setAttribute("clickSelectsAll", true); textbox.setAttribute("type", "search"); textbox.setAttribute("placeholder", "Suchen..."); box.appendChild(textbox); var closebtn = doc.createXULElement("toolbarbutton"); closebtn.setAttribute("id", "ucjsDownloadsStatusModoki-closebutton"); closebtn.setAttribute("class", "close-icon"); closebtn.setAttribute("tooltiptext", "Download-Leiste schließen"); box.appendChild(closebtn); ref.parentNode.insertBefore(vbox, ref.nextSibling); doc.getElementById("ucjs_clearListButton").addEventListener("command", function(event) { win.ucjsDownloadsStatusModoki_clearDownloads(); }); doc.getElementById("downloadFilter") .addEventListener("input", function(event) { win.ucjsDownloadsStatusModoki_doSearch(event.target.value); }); doc.getElementById("ucjsDownloadsStatusModoki-closebutton") .addEventListener("command", function(event) { win.ucjsDownloadsStatusModoki_doClose(); }); /* // xxx Bug 1279329 "Copy Download Link" of context menu in Library is grayed out var listBox = doc.getElementById("downloadsListBox"); var placesView = listBox._placesView; if (placesView) { var place = placesView.place; placesView.place= null; placesView.place = place; } */ win.ucjsDownloadsStatusModoki_clearDownloads = function ucjs_clearDownloads() { var DO_NOT_DELETE_HISTORY = true; /* custmizable true or false */ var richListBox = doc.getElementById("downloadsListBox"); var places = []; function addPlace(aURI, aTitle, aVisitDate) { places.push({ uri: aURI, title: aTitle, visits: [{ visitDate: (aVisitDate || Date.now()) * 1000, transitionType: Ci.nsINavHistoryService.TRANSITION_LINK }] }); } function moveDownloads2History() { if (DO_NOT_DELETE_HISTORY && !PrivateBrowsingUtils.isWindowPrivate(window)) { try { for (let element of richListBox.childNodes) { let download = element._shell.download; let aURI = makeURI(download.source.url); // let aTitle = document.getAnonymousElementByAttribute(element, "class", "downloadTarget").value let aTitle = download.target.path; aTitle = aTitle.match( /[^\\]+$/i )[0]; aTitle = aTitle.match( /[^/]+$/i )[0]; let aVisitDate = download.endTime || download.startTime; addPlace(aURI, aTitle, aVisitDate) } } catch(ex) {} } // Clear List richListBox._placesView.doCommand('downloadsCmd_clearDownloads'); if (DO_NOT_DELETE_HISTORY && !PrivateBrowsingUtils.isWindowPrivate(window)) { try { if (places.length > 0) { var asyncHistory = Components.classes["@mozilla.org/browser/history;1"] .getService(Components.interfaces.mozIAsyncHistory); asyncHistory.updatePlaces(places); } } catch(ex) {} } } var btn = doc.getElementById("ucjs_clearListButton"); btn.setAttribute("disabled", true); moveDownloads2History(); btn.removeAttribute("disabled"); // close toolbar var closeWhenDone = false; try { closeWhenDone = Services.prefs.getBoolPref("userChrome.downloadsStatusModoki.closeWhenDone"); } catch(e) {} if (closeWhenDone) { top.ucjsDownloadsStatusModoki.hideDownloadsStatusModoki(); } }; win.ucjsDownloadsStatusModoki_doSearch = function ucjs_doSearch(filterString) { var richListBox = doc.getElementById("downloadsListBox"); richListBox._placesView.searchTerm = filterString; }; win.ucjsDownloadsStatusModoki_doClose = function ucjs_doClose() { top.ucjsDownloadsStatusModoki.hideDownloadsStatusModoki(); }; } } ucjsDownloadsStatusModoki.init();
-
Ich habe eine neue Variante des Scripts ExtraConfigMenu.uc.js am Start, leider ist die dazu existierende CSS.Datei wohl nicht mehr so ganz passend, denn es fehlen die Icons vor "Meine CSS Dateien und im Submenü dahinter.
Hier beide Dateien;
CSS
Alles anzeigen/* // ==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 (unter Ubuntu 10.04 z.B.: '/usr/bin/gedit'). Bei Fehleintrag wird view_source.editor.path ausgelesen: //TextOpenExe: 'C:\\Program Files (x86)\\Notepad++\\notepad++.exe', TextOpenExe: 'C:\\Program Files\\Notepad++\\notepad++.exe', // Falls gewuenscht, in Zeile 15 einen Dateimanager eintragen (komplett leer lassen fuer Dateimanager des Systems) Beispiele: // vFileManager: 'E:\\Total Commander\\Totalcmd.exe', // vFileManager: 'C:\\Program Files (x86)\\FreeCommander\\FreeCommander.exe' vFileManager: 'H:\\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: 'back-Button', // 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","css",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","Bild Url","uProfMenu.edit(0,'Bild Url.css');","uProfMenu_edit",0)); 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();
CSS
Alles anzeigen/* Extra-Config-Menü.css */ @-moz-document url(chrome://browser/content/browser.xhtml){ #ExtraConfigMenu-button > menupopup > menuitem:nth-child(10), #ExtraConfigMenu-button > menupopup > menuitem:nth-child(11), #ExtraConfigMenu-button > menupopup > menuitem:nth-child(12), #ExtraConfigMenu-button > menupopup > menuitem:nth-child(13), #ExtraConfigMenu-button > menupopup > menuitem:nth-child(14), #ExtraConfigMenu-button > menupopup > menuitem:nth-child(15), #ExtraConfigMenu-button > menupopup > menuitem:nth-child(16), #ExtraConfigMenu-button > menupopup > menuitem[label="Startup-Cacheordner"]{ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADC0lEQVQ4jYWTa0wVBBiGXxHKLmyobUe3rFaOFBRcDAs1OM0WBsWEtZZQLSugUNSBI0wEFDAPMAQ6XGY5Qd2JDlK0qTDczDnDSmIoCmarcRiXgCmH2yE4l6c/xepH9Px+vmffj++T5uHbo7l+CeEh8fM5/4n9Qk1+0b43MFRYTq0urq0LtlrX/+/Q8MDAFvq7LBez42eeyypGg6Dm39DHX6G40lH/PQfPblnrGyZJsyNtz0wOdRr+FaiLf+LDS+WJB1XaNq2GHlR/GyVbMCamUWbZD13vgC0TT+9+sO3D1VnQLEn6Y+iXp+xtSTe4a5rBUc6d1nRWRr2J1mSwPT8HpgpgugrPeBXYK2Gigu4z7zNyJfO0JGnm3q9rGcrD4/gMt+0Q2LKhLw8G8sHxKZ67Zhg1M2sr4t7VNNoqkzgWG0C9Obxsbn1Xxwd4xo7jvBCHu8+Ep78Iek24bEdwdB2mtySWG4mPci76EW6ejMSabaBsT/SBucDQ2ZibDJqZOB/H1PepTLXuZLw1hYnz6UweXoOzdhH2muU07V3MriB/GvaGU53xaspcoL/mxWuuzmz6a40MWl+h3xJNX3EUM/Wv42kK5IfCeBICHyZ542M0ZoXSU7WBL46mvyZJmvoy6ZDz+ufYG2PpLAzgekkw3TufxNlSjftiKJc++YjYlYuo2+HPj/nBXMtfxzepy+luPRYhSaIjmYa3Q8d7zME07vKjPTUAR+Vu3B1bGT1jwrpNDJeu4ve8ZXTmLCEvxovcKB/aL1cHaOb2T0Hu796lvfCFse6KCHpLNjN7MgLXz+lw6wATV97jxI6Xydjsw5EEb7Zv8iYm2Hs2cvXCMUkbdM56Ytlk4UtwKwX31UCcLWFMn47A2RJDfZqRVQ/K9fhSTa7w08D9XuqSdFnS15LKJa2TJL21Qs0jmc/iyI1gLG8jwwWRmJ5fiqQ7kpokHZdUIGm3pG2SQsPCwh745xX73idlBfmqYf1iNS1ZoHpJOX/JmyQ9LclgMBgeMhqN3vP9k1dISIiPpIWSFswn/s2f5mHBqON1Ok8AAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} #ExtraConfigMenu-button > menupopup > menuitem:nth-child(10):hover, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(11):hover, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(12):hover, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(13):hover, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(14):hover, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(15):hover, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(16):hover, #ExtraConfigMenu-button > menupopup > menuitem[label="Startup-Cacheordner"]:hover{ appearance:none!important; margin-right: -1px !important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADC0lEQVQ4jYWTa0wVBBiGXxHKLmyobUe3rFaOFBRcDAs1OM0WBsWEtZZQLSugUNSBI0wEFDAPMAQ6XGY5Qd2JDlK0qTDczDnDSmIoCmarcRiXgCmH2yE4l6c/xepH9Px+vmffj++T5uHbo7l+CeEh8fM5/4n9Qk1+0b43MFRYTq0urq0LtlrX/+/Q8MDAFvq7LBez42eeyypGg6Dm39DHX6G40lH/PQfPblnrGyZJsyNtz0wOdRr+FaiLf+LDS+WJB1XaNq2GHlR/GyVbMCamUWbZD13vgC0TT+9+sO3D1VnQLEn6Y+iXp+xtSTe4a5rBUc6d1nRWRr2J1mSwPT8HpgpgugrPeBXYK2Gigu4z7zNyJfO0JGnm3q9rGcrD4/gMt+0Q2LKhLw8G8sHxKZ67Zhg1M2sr4t7VNNoqkzgWG0C9Obxsbn1Xxwd4xo7jvBCHu8+Ep78Iek24bEdwdB2mtySWG4mPci76EW6ejMSabaBsT/SBucDQ2ZibDJqZOB/H1PepTLXuZLw1hYnz6UweXoOzdhH2muU07V3MriB/GvaGU53xaspcoL/mxWuuzmz6a40MWl+h3xJNX3EUM/Wv42kK5IfCeBICHyZ542M0ZoXSU7WBL46mvyZJmvoy6ZDz+ufYG2PpLAzgekkw3TufxNlSjftiKJc++YjYlYuo2+HPj/nBXMtfxzepy+luPRYhSaIjmYa3Q8d7zME07vKjPTUAR+Vu3B1bGT1jwrpNDJeu4ve8ZXTmLCEvxovcKB/aL1cHaOb2T0Hu796lvfCFse6KCHpLNjN7MgLXz+lw6wATV97jxI6Xydjsw5EEb7Zv8iYm2Hs2cvXCMUkbdM56Ytlk4UtwKwX31UCcLWFMn47A2RJDfZqRVQ/K9fhSTa7w08D9XuqSdFnS15LKJa2TJL21Qs0jmc/iyI1gLG8jwwWRmJ5fiqQ7kpokHZdUIGm3pG2SQsPCwh745xX73idlBfmqYf1iNS1ZoHpJOX/JmyQ9LclgMBgeMhqN3vP9k1dISIiPpIWSFswn/s2f5mHBqON1Ok8AAAAASUVORK5CYII=") no-repeat !important; border-width: thin !important; border-radius: 4px !important; border-color: #aecff7 !important; border-style: solid !important; min-height: 24px!important; padding-top: 7px! important; padding-left:28px!important; background-position:6px 5px!important;} .uProfMenu_clipboard{ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACHklEQVQ4jYXSQUhTcRzA8QdBhy7hpYPgxQ7VocPAXaZQCmMkKEUSqBA2WrjCUXhzAxM10LQZQ4NoOGswDCtcSbmM3HhaMicUtIWUDw0myDusMd97Y+a30zafG/WH7+3///D/wU8QBEF4t7aNazpBm2eVFne0bPYna7hnf6LlQDh8uqe+IKdVUhkNOa2WLZFM45rdwj7+oxRpfbhCKqMhSllWN3OFRCmLKGUJxXfRcvD6u4Lr1WYpcmnkE6mMpnt8EMkDseQeseQe/XNb9Ae+lQL5CwcTpSwL6wobO4pupCaXWArEt/d1Hf5FKL5L8OtvUhmNxsHlItB8vzxwGFlYV1hYV8oDclotC+SROwEzVq8BUcqWAo2Dy/8E4tv73Hx2nrvBVq48OoWcVv8POPx1OPx1dE4ZsXoNOF+2EIi66X7ejGWsknpnRA8kU3qgc8rITMxTKBB1437fjW9pCJvfQs29Y0Wg3hkhmVK5/KaY1WtgJuZhdN7B6LyDgTkbvcEOeoMdTIT7aJ+s5UzfUQqAJKt0hf/gTYA3AW2PTxOIuvF/HsG3NIRvaYiBOTsT4T5sfgsne6rQcloR2NhRuP4hV+jiRDWWsUoaHpzANFxB+2Qt44u9XHtqxuw5i/HW2+IITS4ROa0iySobO4qu/OaZhiu46mvggseAltP0mzi9uMWN0Sjnbn+kxh4qW7XzOFU9RzB1hbAOr/Ai8gtBEIS/L2O87ytW43AAAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} .uProfMenu_clipboard:hover{ appearance:none!important; margin-right: -1px !important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACHklEQVQ4jYXSQUhTcRzA8QdBhy7hpYPgxQ7VocPAXaZQCmMkKEUSqBA2WrjCUXhzAxM10LQZQ4NoOGswDCtcSbmM3HhaMicUtIWUDw0myDusMd97Y+a30zafG/WH7+3///D/wU8QBEF4t7aNazpBm2eVFne0bPYna7hnf6LlQDh8uqe+IKdVUhkNOa2WLZFM45rdwj7+oxRpfbhCKqMhSllWN3OFRCmLKGUJxXfRcvD6u4Lr1WYpcmnkE6mMpnt8EMkDseQeseQe/XNb9Ae+lQL5CwcTpSwL6wobO4pupCaXWArEt/d1Hf5FKL5L8OtvUhmNxsHlItB8vzxwGFlYV1hYV8oDclotC+SROwEzVq8BUcqWAo2Dy/8E4tv73Hx2nrvBVq48OoWcVv8POPx1OPx1dE4ZsXoNOF+2EIi66X7ejGWsknpnRA8kU3qgc8rITMxTKBB1437fjW9pCJvfQs29Y0Wg3hkhmVK5/KaY1WtgJuZhdN7B6LyDgTkbvcEOeoMdTIT7aJ+s5UzfUQqAJKt0hf/gTYA3AW2PTxOIuvF/HsG3NIRvaYiBOTsT4T5sfgsne6rQcloR2NhRuP4hV+jiRDWWsUoaHpzANFxB+2Qt44u9XHtqxuw5i/HW2+IITS4ROa0iySobO4qu/OaZhiu46mvggseAltP0mzi9uMWN0Sjnbn+kxh4qW7XzOFU9RzB1hbAOr/Ai8gtBEIS/L2O87ytW43AAAAAASUVORK5CYII=") no-repeat !important; border-width: thin !important; border-radius: 4px !important; border-color: #aecff7 !important; border-style: solid !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} .uProfMenu_prefs{ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB/0lEQVQ4jY2STWjTYBjHX69et4Dvrq2HwS47exRUPIR5Uzz4wcY8FC8exNExYZCuFQJtusuKbIVAP0gqSCfkJBOmBF5pcWHHQkmz1nQQqhDN5OXvofSL0G7/8+//e3ie9yXHx19xWK2Ccw4yJUEQIL9/gC9HRzAMA5ZljdiEJMH3fZRLxakCTauAcw7HtpGQJHDO4XkefN/vdxQli4wsw7HtkIQxNoQzsoz8/gHKpSI0rQLDMEZ8p9PG9uZGSGIYBjzPg+u6ME0TmlaBomTBOcdhtTo5MAiCkIQxhkajAVVV0em04dg2PM8DY2zyFuPZ3tzARbMJQghJPngBzjlUVYWqqnBdF5ZlIbeXm3ozQgghbjKFlihCpxT//D9I7uwiubMLRcmiXCoiCILZgno0gl6pAJ1SfLh7D89ff5pdGM/1JxZic/OoRyP4Xf0InVJ8e/rsaoKF9RPc3DrDtdvf8erdKXRK0SsV0BJFpAVh5oebKC+lznH/8XtYmQx0ShE0GnAePkJaENA7/RGWjJcXpS5W4rUhNJBcNJtor64hLQj4+/NsJFmOMSxK3WH5zsvPoQk6pahHI0OJTmmfWYnXJsrLMTZ1x4FksI4TfwOSLxhYWD/BUuocN25Jl146NjePliiivbqGX91un8/t5bD1NoF6rXalp8rIMkzTBCGE/Aej45/2D3b80gAAAABJRU5ErkJggg==") no-repeat !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} .uProfMenu_prefs:hover{ appearance:none!important; margin-right: -1px !important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB/0lEQVQ4jY2STWjTYBjHX69et4Dvrq2HwS47exRUPIR5Uzz4wcY8FC8exNExYZCuFQJtusuKbIVAP0gqSCfkJBOmBF5pcWHHQkmz1nQQqhDN5OXvofSL0G7/8+//e3ie9yXHx19xWK2Ccw4yJUEQIL9/gC9HRzAMA5ZljdiEJMH3fZRLxakCTauAcw7HtpGQJHDO4XkefN/vdxQli4wsw7HtkIQxNoQzsoz8/gHKpSI0rQLDMEZ8p9PG9uZGSGIYBjzPg+u6ME0TmlaBomTBOcdhtTo5MAiCkIQxhkajAVVV0em04dg2PM8DY2zyFuPZ3tzARbMJQghJPngBzjlUVYWqqnBdF5ZlIbeXm3ozQgghbjKFlihCpxT//D9I7uwiubMLRcmiXCoiCILZgno0gl6pAJ1SfLh7D89ff5pdGM/1JxZic/OoRyP4Xf0InVJ8e/rsaoKF9RPc3DrDtdvf8erdKXRK0SsV0BJFpAVh5oebKC+lznH/8XtYmQx0ShE0GnAePkJaENA7/RGWjJcXpS5W4rUhNJBcNJtor64hLQj4+/NsJFmOMSxK3WH5zsvPoQk6pahHI0OJTmmfWYnXJsrLMTZ1x4FksI4TfwOSLxhYWD/BUuocN25Jl146NjePliiivbqGX91un8/t5bD1NoF6rXalp8rIMkzTBCGE/Aej45/2D3b80gAAAABJRU5ErkJggg==") no-repeat !important; border-width: thin !important; border-radius: 4px !important; border-color: #aecff7 !important; border-style: solid !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} .uProfMenu_restart{ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAEZ0FNQQAAsY58%2B1GTAAAAIGNIUk0AAHolAACAgwAA%2Bf8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAN8SURBVHjaVJFNTBxlAIafb2Z29gd2l4VdYCkokAUt1AJplQRTrVqjUWMPPWHSCzb21IOn9qIHY2xMahoTTb00NmkUm5qAjdpUI61VaCxCpCVYixt%2ByvKzCwu7LDs7zMw3HmhM%2Bt6fJ0%2FyCp69wiOzZBCPcqSmIXg0HPHuC4R8nkLWyOXyYiIzfuVHzMIA%2BZsLtH18EApntUdhpzUSD5577nDLi%2FGWKjx%2BHVfR8HpFwNwsxTMzza%2BOXJ1%2B58Ev2sVEV%2ByEawXqxf8FllNWEQ9ePXzsqQOecIDU8jampSAVD76Al2BIIx4Dv2Nz7%2FYq%2B5%2BP8sNXE6WdAhdQlOM9rzUdaGiN8M9UjnKvQjzuA0UjV3AxDIcHywqRoEbXoVrKgyBtKXYEUvprmiN9oaoyvr9wl62NHJbtJeDzOo17YmprVzWOppLO2RRNwf1FSOzSUAXsCIR4QdP13UPfjhUde2mjuBXUjcXNEabOnJmq7Y4Nd7z1fu%2BJ%2FR2Jpgrm0jauAI8GlnSlBi4I0bO6sLBWHc9esxRdmjOZf5n%2B5CLWzCzOvsbKupBZ1xgmElUoC%2BgoKtRGQfNomoaND8P8XS%2Bby1olO7O6GHTl1DejGDOrNB%2BvpO7I%2Ba31%2FDP9Z28YUmqoqhCKcG2EYD6ZMUTojZ8WHmsqD%2BI6wnWFajugCkuuZaV%2FZS47wp99R7E3LbxPV6rtr7dV1pmyuBWs3hr7dZ380LC2tzseffvUHm86C1JC2A%2FrGcn509cn%2BPvTk9ibc1R06qL91Ms1CadF000ll9rVS2VykLzVr0lHOgtpuJ9yUFyXxqhKZjbH2nJRI9IZwyw2kXjvXV%2FIOWgaBcc2a%2BtjdVXR1J3iBDx8QUpQUJAuJJclseogxz441H5vrPO72cm0VSyVPJq27ZaHm8ST3Y0M9d9Kkr19A1A1x4VIObTGBfNrsJ5XmE9b6KqgvrOGhr1Vns2sgeNIkXiigvHf1liZuHWZYjINSEXRVLewZjN6bYmYbvN4rcDvVzFKLnOpErMLBpvbklClznyyyPDA6DjTX3wJWICr%2Bnb3ffjXSGpl5Nxnn88uh2ORUCBaHfVQU%2BsjVuGhKqJT5lFYShr8fGH4j42bH53EnJ4EtgEEPQOTzHx9mqXLl9AT9TS82RvreOmVcMTXVh4JhIr5kp3LFu6u3Lk%2ByMylQazU3ENYAvw3AFUTimFqj5i7AAAAAElFTkSuQmCC") no-repeat !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} .uProfMenu_restart:hover{ appearance:none!important; margin-right: -1px !important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89%2BbN%2FrXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz%2FSMBAPh%2BPDwrIsAHvgABeNMLCADATZvAMByH%2Fw%2FqQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf%2BbTAICd%2BJl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA%2Fg88wAAKCRFRHgg%2FP9eM4Ors7ONo62Dl8t6r8G%2FyJiYuP%2B5c%2BrcEAAAOF0ftH%2BLC%2BzGoA7BoBt%2FqIl7gRoXgugdfeLZrIPQLUAoOnaV%2FNw%2BH48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl%2FAV%2F1s%2BX48%2FPf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H%2FLcL%2F%2Fwd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s%2BwM%2B3zUAsGo%2BAXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93%2F%2B8%2F%2FUegJQCAZkmScQAAXkQkLlTKsz%2FHCAAARKCBKrBBG%2FTBGCzABhzBBdzBC%2FxgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD%2FphCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8%2BQ8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8%2BxdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR%2BcQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI%2BksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG%2BQh8lsKnWJAcaT4U%2BIoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr%2Bh0uhHdlR5Ol9BX0svpR%2BiX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK%2BYTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI%2BpXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q%2FpH5Z%2FYkGWcNMw09DpFGgsV%2FjvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY%2FR27iz2qqaE5QzNKM1ezUvOUZj8H45hx%2BJx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4%2FOBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up%2B6Ynr5egJ5Mb6feeb3n%2Bhx9L%2F1U%2FW36p%2FVHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm%2Beb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw%2B6TvZN9un2N%2FT0HDYfZDqsdWh1%2Bc7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc%2BLpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26%2FuNu5p7ofcn8w0nymeWTNz0MPIQ%2BBR5dE%2FC5%2BVMGvfrH5PQ0%2BBZ7XnIy9jL5FXrdewt6V3qvdh7xc%2B9j5yn%2BM%2B4zw33jLeWV%2FMN8C3yLfLT8Nvnl%2BF30N%2FI%2F9k%2F3r%2F0QCngCUBZwOJgUGBWwL7%2BHp8Ib%2BOPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo%2Bqi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt%2F87fOH4p3iC%2BN7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi%2FRNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z%2Bpn5mZ2y6xlhbL%2BxW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a%2FzYnKOZarnivN7cyzytuQN5zvn%2F%2FtEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1%2B1dT1gvWd%2B1YfqGnRs%2BFYmKrhTbF5cVf9go3HjlG4dvyr%2BZ3JS0qavEuWTPZtJm6ebeLZ5bDpaql%2BaXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO%2FPLi8ZafJzs07P1SkVPRU%2BlQ27tLdtWHX%2BG7R7ht7vPY07NXbW7z3%2FT7JvttVAVVN1WbVZftJ%2B7P3P66Jqun4lvttXa1ObXHtxwPSA%2F0HIw6217nU1R3SPVRSj9Yr60cOxx%2B%2B%2Fp3vdy0NNg1VjZzG4iNwRHnk6fcJ3%2FceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w%2B0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb%2B%2B6EHTh0kX%2Fi%2Bc7vDvOXPK4dPKy2%2BUTV7hXmq86X23qdOo8%2FpPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb%2F1tWeOT3dvfN6b%2FfF9%2FXfFt1%2Bcif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v%2B3Njv3H9qwHeg89HcR%2FcGhYPP%2FpH1jw9DBY%2BZj8uGDYbrnjg%2BOTniP3L96fynQ89kzyaeF%2F6i%2FsuuFxYvfvjV69fO0ZjRoZfyl5O%2FbXyl%2FerA6xmv28bCxh6%2ByXgzMV70VvvtwXfcdx3vo98PT%2BR8IH8o%2F2j5sfVT0Kf7kxmTk%2F8EA5jz%2FGMzLdsAAAAEZ0FNQQAAsY58%2B1GTAAAAIGNIUk0AAHolAACAgwAA%2Bf8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAN8SURBVHjaVJFNTBxlAIafb2Z29gd2l4VdYCkokAUt1AJplQRTrVqjUWMPPWHSCzb21IOn9qIHY2xMahoTTb00NmkUm5qAjdpUI61VaCxCpCVYixt%2ByvKzCwu7LDs7zMw3HmhM%2Bt6fJ0%2FyCp69wiOzZBCPcqSmIXg0HPHuC4R8nkLWyOXyYiIzfuVHzMIA%2BZsLtH18EApntUdhpzUSD5577nDLi%2FGWKjx%2BHVfR8HpFwNwsxTMzza%2BOXJ1%2B58Ev2sVEV%2ByEawXqxf8FllNWEQ9ePXzsqQOecIDU8jampSAVD76Al2BIIx4Dv2Nz7%2FYq%2B5%2BP8sNXE6WdAhdQlOM9rzUdaGiN8M9UjnKvQjzuA0UjV3AxDIcHywqRoEbXoVrKgyBtKXYEUvprmiN9oaoyvr9wl62NHJbtJeDzOo17YmprVzWOppLO2RRNwf1FSOzSUAXsCIR4QdP13UPfjhUde2mjuBXUjcXNEabOnJmq7Y4Nd7z1fu%2BJ%2FR2Jpgrm0jauAI8GlnSlBi4I0bO6sLBWHc9esxRdmjOZf5n%2B5CLWzCzOvsbKupBZ1xgmElUoC%2BgoKtRGQfNomoaND8P8XS%2Bby1olO7O6GHTl1DejGDOrNB%2BvpO7I%2Ba31%2FDP9Z28YUmqoqhCKcG2EYD6ZMUTojZ8WHmsqD%2BI6wnWFajugCkuuZaV%2FZS47wp99R7E3LbxPV6rtr7dV1pmyuBWs3hr7dZ380LC2tzseffvUHm86C1JC2A%2FrGcn509cn%2BPvTk9ibc1R06qL91Ms1CadF000ll9rVS2VykLzVr0lHOgtpuJ9yUFyXxqhKZjbH2nJRI9IZwyw2kXjvXV%2FIOWgaBcc2a%2BtjdVXR1J3iBDx8QUpQUJAuJJclseogxz441H5vrPO72cm0VSyVPJq27ZaHm8ST3Y0M9d9Kkr19A1A1x4VIObTGBfNrsJ5XmE9b6KqgvrOGhr1Vns2sgeNIkXiigvHf1liZuHWZYjINSEXRVLewZjN6bYmYbvN4rcDvVzFKLnOpErMLBpvbklClznyyyPDA6DjTX3wJWICr%2Bnb3ffjXSGpl5Nxnn88uh2ORUCBaHfVQU%2BsjVuGhKqJT5lFYShr8fGH4j42bH53EnJ4EtgEEPQOTzHx9mqXLl9AT9TS82RvreOmVcMTXVh4JhIr5kp3LFu6u3Lk%2ByMylQazU3ENYAvw3AFUTimFqj5i7AAAAAElFTkSuQmCC") no-repeat !important; border-width: thin !important; border-radius: 4px !important; border-color: #aecff7 !important; border-style: solid !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} #ExtraConfigMenu-button > menupopup > menuitem:nth-child(3){ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAByklEQVQ4jZ3Qz0uTARjA8adD/0qWF82KwNC62G1HrRgUL3iwOZU5XlHmeA/vYYsFY+/7TnROOnQNgs6RhFbLH9A7DV9ljg0Z+B4cbEO8CN8OG7wKbmgPfHlOz+fwiLQmbqyQMJYxrAxm+uoMK0PCWOad+QG5OHoyw+pajqkfIAaI1SYDQr/g6/ef6MmMh8zHTer1BsFvp3x06djU6imNeoP5uOkBs3qSWrWKvIf1BsT3wb8G3Z9AFkDMVhZICmrVKrN60gNULcGJ6yJJWCjC63Xo/Qy3MiCLIEsXsuDEdVG1hAeEIjGOKxUkBW9/dzhuAceVCqFIzAMm53SOSmXEhMdfOhwvgaThqFRmck73gICqUSwcIhbcznY4bgHFwiEBVfOAsVAEZ++g+bAsyEqbss2nOnsHjIUiHjAanGE77+A3tpBXOcTfppc53lhbbNsOo8EZD1AC02zsFNjMO9i7Dvm/V2fvOmzaDhs7BZTAtAcMK+PcfTDIvUfPLvfwKV19g3T1DVzqzv0BhpXxJhCOxqidnf9X4WgMCUdj/HFKpNLZa297v0wqnW0CE6qGb0ShdnZ+4z2haohvRKGnf4jeJ89vVE//EL4XCv8AU/F+h6m656UAAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} #ExtraConfigMenu-button > menupopup > menuitem:nth-child(3):hover{ appearance:none!important; margin-right: -1px !important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAByklEQVQ4jZ3Qz0uTARjA8adD/0qWF82KwNC62G1HrRgUL3iwOZU5XlHmeA/vYYsFY+/7TnROOnQNgs6RhFbLH9A7DV9ljg0Z+B4cbEO8CN8OG7wKbmgPfHlOz+fwiLQmbqyQMJYxrAxm+uoMK0PCWOad+QG5OHoyw+pajqkfIAaI1SYDQr/g6/ef6MmMh8zHTer1BsFvp3x06djU6imNeoP5uOkBs3qSWrWKvIf1BsT3wb8G3Z9AFkDMVhZICmrVKrN60gNULcGJ6yJJWCjC63Xo/Qy3MiCLIEsXsuDEdVG1hAeEIjGOKxUkBW9/dzhuAceVCqFIzAMm53SOSmXEhMdfOhwvgaThqFRmck73gICqUSwcIhbcznY4bgHFwiEBVfOAsVAEZ++g+bAsyEqbss2nOnsHjIUiHjAanGE77+A3tpBXOcTfppc53lhbbNsOo8EZD1AC02zsFNjMO9i7Dvm/V2fvOmzaDhs7BZTAtAcMK+PcfTDIvUfPLvfwKV19g3T1DVzqzv0BhpXxJhCOxqidnf9X4WgMCUdj/HFKpNLZa297v0wqnW0CE6qGb0ShdnZ+4z2haohvRKGnf4jeJ89vVE//EL4XCv8AU/F+h6m656UAAAAASUVORK5CYII=") no-repeat !important; border-width: thin !important; border-radius: 4px !important; border-color: #aecff7 !important; border-style: solid !important; min-height: 24px!important; padding-top: 7px! important; padding-left:28px!important; background-position:6px 5px!important;} #ExtraConfigMenu-button > menupopup > menuitem:first-child, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(5), #ExtraConfigMenu-button > menupopup > menuitem:nth-child(6), #ExtraConfigMenu-button > menupopup > menuitem:nth-child(7), #ExtraConfigMenu-button > menupopup > menuitem:nth-child(8), #ExtraConfigMenu-button > menupopup > menuitem:nth-child(9){ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFklEQVQ4jXXR3U9bdQDG8fMHbFcjLjFRE2PIEhsTTfTOK++8UmNc2JzeaIQ0GzFBnSxLUDvs1DnCRJSgvIjsFUYXNg/Ki8IKnfQFCm3T0xZq11Eobc/pK6ft+fXrxYyhMT7Jc/l8bh5J2heLZeKxmZlQdGU1oblXtjWXN6m5fBlt2ZfRFr2aKk/Hfzt84PAj0v/lwjcLjelkTvBP8gIeFAWr6Qq3lQLTgTIX+mZ+P7AfmYjSfS0o+q9E6B9yF8cmAyVjJlrlTrjCLaXMgLfEoCeDM17E5lZxx+BM38KCdPDgIUmSJOlnP7WLdsHQSpWh1QoDrj0653L0O3K8O7bDs71/0XIjSDRdYno9hyOgsxiBiz/MLTQ0NDwqjfrQupcENwNVuhb3sPl0+hx5bKt5Prid5LneKO9PBNnN6Tg3Svy6nuXassovCrSe7uqRBjcQX3lgJAwjCnzrrHD+bpEue573bCkaL8Uwjytki2UiqoE7UWZ2o4QtbGD97s6S9NTRsz1PvH5m9PFXP/rpyTfOTjYPOIzWy25ahpd550cHb35vp3tqjVTRYFM1WNup4IjrzCfB0ntrqe6Fl196q3Ezsq0blRJqrviw2QKpfJlEocb9nCCUruJNVnCp8FnPxGIdYLXOPq1Es/oesFuCnSIkCrCVrxHPGsQ0QSRtEEhV8Rfgk0s364GOjkmTP5LRCwK2C4KtvCCeE9zPCmJZQVQ1iKhVQqpAKUFH93g90N4+bvKGUrpWhQf7h5ogouko2Sz2eBRHPE9Yh/avx+qBtrYrJldwV09X+Xe4oQoiWo3lrTh3E2HkYIZR/xoezeDjL/8DDJuWAkk9WYZNTRBWBUrmYWeDGtfXfVz1xBj88x72ZIXTX1yvB06dGjbN+5J6ogwhtUYwLQikBYGMYH6zwohTYdC+zpgzgTsHbZ9frQdaWoee+SOQZxuI6hDZA6UE/iKs5cCegLkYONLg0qHt/A1PHXDkyAuHXjvx4eW3T1qmTpgt8nGzRT7Wck4+2nxObmrulJvMVvmY2So3NXfKx09ap55/8ZVP/waJWLfEOCt3rAAAAABJRU5ErkJggg==") no-repeat !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} #ExtraConfigMenu-button > menupopup > menuitem:first-child:hover, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(5):hover, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(6):hover, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(7):hover, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(8):hover, #ExtraConfigMenu-button > menupopup > menuitem:nth-child(9):hover{ appearance:none!important; margin-right: -1px !important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFklEQVQ4jXXR3U9bdQDG8fMHbFcjLjFRE2PIEhsTTfTOK++8UmNc2JzeaIQ0GzFBnSxLUDvs1DnCRJSgvIjsFUYXNg/Ki8IKnfQFCm3T0xZq11Eobc/pK6ft+fXrxYyhMT7Jc/l8bh5J2heLZeKxmZlQdGU1oblXtjWXN6m5fBlt2ZfRFr2aKk/Hfzt84PAj0v/lwjcLjelkTvBP8gIeFAWr6Qq3lQLTgTIX+mZ+P7AfmYjSfS0o+q9E6B9yF8cmAyVjJlrlTrjCLaXMgLfEoCeDM17E5lZxx+BM38KCdPDgIUmSJOlnP7WLdsHQSpWh1QoDrj0653L0O3K8O7bDs71/0XIjSDRdYno9hyOgsxiBiz/MLTQ0NDwqjfrQupcENwNVuhb3sPl0+hx5bKt5Prid5LneKO9PBNnN6Tg3Svy6nuXassovCrSe7uqRBjcQX3lgJAwjCnzrrHD+bpEue573bCkaL8Uwjytki2UiqoE7UWZ2o4QtbGD97s6S9NTRsz1PvH5m9PFXP/rpyTfOTjYPOIzWy25ahpd550cHb35vp3tqjVTRYFM1WNup4IjrzCfB0ntrqe6Fl196q3Ezsq0blRJqrviw2QKpfJlEocb9nCCUruJNVnCp8FnPxGIdYLXOPq1Es/oesFuCnSIkCrCVrxHPGsQ0QSRtEEhV8Rfgk0s364GOjkmTP5LRCwK2C4KtvCCeE9zPCmJZQVQ1iKhVQqpAKUFH93g90N4+bvKGUrpWhQf7h5ogouko2Sz2eBRHPE9Yh/avx+qBtrYrJldwV09X+Xe4oQoiWo3lrTh3E2HkYIZR/xoezeDjL/8DDJuWAkk9WYZNTRBWBUrmYWeDGtfXfVz1xBj88x72ZIXTX1yvB06dGjbN+5J6ogwhtUYwLQikBYGMYH6zwohTYdC+zpgzgTsHbZ9frQdaWoee+SOQZxuI6hDZA6UE/iKs5cCegLkYONLg0qHt/A1PHXDkyAuHXjvx4eW3T1qmTpgt8nGzRT7Wck4+2nxObmrulJvMVvmY2So3NXfKx09ap55/8ZVP/waJWLfEOCt3rAAAAABJRU5ErkJggg==") no-repeat !important; border-width: thin !important; border-radius: 4px !important; border-color: #aecff7 !important; border-style: solid !important; min-height: 24px!important; padding-top: 7px! important; padding-left:28px!important; background-position:6px 5px!important;} #submenu-about{ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC2ElEQVQ4jY2Se0wMABzHv2S9FHmkJjVxkmtCa/MIUa6a1jo9xKSRHJUpY3nMI4UeoqyHVrMe8yjXoiKrcGqLu5Yp1yGvKIm7SYjiOl//xW00379/n88f3+8PGCGygnSLQNGK0JFu/pmBuvxjzwMmMc7ZMF4VbGn2X5C644kPO1pKGg6E8E2kBVnqSNba8NlhE3ZGWtQtsDWdOqLgam7qHk3X66388Crw1l15W3yVgtGZhTwQF8AKicP7/Zt8AgBMH1FSeXKHffaT3o59rRrG3FfT5fJjmiXWEAFJdA1PrJPJZGMAwGu2mQfZbKoHn15sYlPU+XWo5oOWl3sG2fhxkHua39Eu7wERU054RHFV4EZl24Wc5HNiG5IFjnqCyEvXGss1Wsr7frCpb5CVPd8ZJ3/BmoZcajLXsGeXHe8EWlJV6Mkbp8c06MFKpdJKKG1l2ss+lnb381L3ALPbnvJHdTS1yULqioz5pdCKd/aOo2S2gPVVqbP0C8zPKjc4I6PH3S6GKt5yw612dqd5UysNIm8I2ZwSwmVz7Gls505YelGtlv2eVieNSCi5Vk1szqVR3j2OKn7Em9vmk7VZ/HnblVUnjhAOq4ng4zT330tvn5VUlIaKhwV8KOFR36W9EMUTW6U8u3MtmbOduhYxP5alULoe/Jxuz2+J5uxJMGTYcnMOw/1KufPPxnC2Z4jU0bERWlWaP1m8mEPtu0nVQX6tD2NOlJgbfW25I8qJQrEfjZ38CocFTdevW39OEZGqSFIxh7raRRw4705trR/LYpdwsmAeseUUUVxPi4wKjvfaPgRgJQCTYUnoNFzR7FvIb/Hu/JToRvVxb6a4TSBmLifWJRGxeTRLukhzT4kWMDwEwAOAvd4KpoDEdeKoarcpox9YG6IL42Z8wSyRFs5BOriE9GOasxLAMQBBAOYCMP7bJxsAGAtgEgABAFcA7gCWABACsBYIBEZ/Ar8AX7iDBFj3wIsAAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} #submenu-about:hover{ appearance:none!important; margin-right: -1px !important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC2ElEQVQ4jY2Se0wMABzHv2S9FHmkJjVxkmtCa/MIUa6a1jo9xKSRHJUpY3nMI4UeoqyHVrMe8yjXoiKrcGqLu5Yp1yGvKIm7SYjiOl//xW00379/n88f3+8PGCGygnSLQNGK0JFu/pmBuvxjzwMmMc7ZMF4VbGn2X5C644kPO1pKGg6E8E2kBVnqSNba8NlhE3ZGWtQtsDWdOqLgam7qHk3X66388Crw1l15W3yVgtGZhTwQF8AKicP7/Zt8AgBMH1FSeXKHffaT3o59rRrG3FfT5fJjmiXWEAFJdA1PrJPJZGMAwGu2mQfZbKoHn15sYlPU+XWo5oOWl3sG2fhxkHua39Eu7wERU054RHFV4EZl24Wc5HNiG5IFjnqCyEvXGss1Wsr7frCpb5CVPd8ZJ3/BmoZcajLXsGeXHe8EWlJV6Mkbp8c06MFKpdJKKG1l2ss+lnb381L3ALPbnvJHdTS1yULqioz5pdCKd/aOo2S2gPVVqbP0C8zPKjc4I6PH3S6GKt5yw612dqd5UysNIm8I2ZwSwmVz7Gls505YelGtlv2eVieNSCi5Vk1szqVR3j2OKn7Em9vmk7VZ/HnblVUnjhAOq4ng4zT330tvn5VUlIaKhwV8KOFR36W9EMUTW6U8u3MtmbOduhYxP5alULoe/Jxuz2+J5uxJMGTYcnMOw/1KufPPxnC2Z4jU0bERWlWaP1m8mEPtu0nVQX6tD2NOlJgbfW25I8qJQrEfjZ38CocFTdevW39OEZGqSFIxh7raRRw4705trR/LYpdwsmAeseUUUVxPi4wKjvfaPgRgJQCTYUnoNFzR7FvIb/Hu/JToRvVxb6a4TSBmLifWJRGxeTRLukhzT4kWMDwEwAOAvd4KpoDEdeKoarcpox9YG6IL42Z8wSyRFs5BOriE9GOasxLAMQBBAOYCMP7bJxsAGAtgEgABAFcA7gCWABACsBYIBEZ/Ar8AX7iDBFj3wIsAAAAASUVORK5CYII=") no-repeat !important; border-width: thin !important; border-radius: 4px !important; border-color: #aecff7 !important; border-style: solid !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} #submenu-about-items > menuitem:nth-child(-n+20){ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACaUlEQVQ4jXWTX0iTYRSHX9SrLDWJoIugG6F/ULIokC5SIsIgiLwrhCnO9FPLtU2t5VSM5TSEsHRmFkXQhRcmiZEaYrWZTm0V5tRS5ip1iSup5P2ipwvFtpoHHs7V73nhvOcIEa50LoTORV33Z1QpsdhuhGXNYJyiJU7RroZ/Q1hCJToXiUXRJBZFU+fehpe9K4J65heXmJ4L4J1dwDu7gM8fYH5xCYutntVwZHoy9Y51QDRm5z4U91FUKTFb62jvGaD1iSOE9p4BzNa6vwL9gyg+kUADhTR9OczmnB2oUlJcUctaVVxRy+rro+ykgQKqA6eJyBBktjSiSompvIZxr5+3E74Qxr1+TOU1y4KIrFhuoeUOeWxRNpDfPUWlB1QpMVhsTPj8jHz4GMKEz4/BYlsWiKujxOQLzFMnuPZ8E7vOx6K5O4YqJXqzlY5eF62djhA6el3ozVaE0NgRtu+ImyBObqWHQ0AUefejUKUkr6hizRnkmyqDBNUSoT1IoTuFy/7jNM4loUqJYixjaGQSx7AHx7CHwSEvZ2aSOBtIRm+oChKUziBK3rP/SjyNaIkpEKhSkmMoZfjdJH1uD31uD+7XPta3COLbItEbq1a+UWNHlEwjdE2UDW7nyL0ERK4NVUqyz13k8bMh2rqctHU5edTdT+fTN/S+GCO38FKQoHYJkZ1Fdv8exKmNCPM3VCnJUExrziBDMQWtssaOuK4ilGOIC7cRth+oUqLNNfBqdIqHXc7/ujbX8M9BaewIjR3RDKJ5eQ8yFSMv3eN8/fmLdN25kJ6pGMNcZJBIlZLUtHR2H0gJS2paOn8Aay+SGqAm06EAAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} #submenu-about-items > menuitem:nth-child(-n+20):hover{ appearance:none!important; margin-right: -1px !important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACaUlEQVQ4jXWTX0iTYRSHX9SrLDWJoIugG6F/ULIokC5SIsIgiLwrhCnO9FPLtU2t5VSM5TSEsHRmFkXQhRcmiZEaYrWZTm0V5tRS5ip1iSup5P2ipwvFtpoHHs7V73nhvOcIEa50LoTORV33Z1QpsdhuhGXNYJyiJU7RroZ/Q1hCJToXiUXRJBZFU+fehpe9K4J65heXmJ4L4J1dwDu7gM8fYH5xCYutntVwZHoy9Y51QDRm5z4U91FUKTFb62jvGaD1iSOE9p4BzNa6vwL9gyg+kUADhTR9OczmnB2oUlJcUctaVVxRy+rro+ykgQKqA6eJyBBktjSiSompvIZxr5+3E74Qxr1+TOU1y4KIrFhuoeUOeWxRNpDfPUWlB1QpMVhsTPj8jHz4GMKEz4/BYlsWiKujxOQLzFMnuPZ8E7vOx6K5O4YqJXqzlY5eF62djhA6el3ozVaE0NgRtu+ImyBObqWHQ0AUefejUKUkr6hizRnkmyqDBNUSoT1IoTuFy/7jNM4loUqJYixjaGQSx7AHx7CHwSEvZ2aSOBtIRm+oChKUziBK3rP/SjyNaIkpEKhSkmMoZfjdJH1uD31uD+7XPta3COLbItEbq1a+UWNHlEwjdE2UDW7nyL0ERK4NVUqyz13k8bMh2rqctHU5edTdT+fTN/S+GCO38FKQoHYJkZ1Fdv8exKmNCPM3VCnJUExrziBDMQWtssaOuK4ilGOIC7cRth+oUqLNNfBqdIqHXc7/ujbX8M9BaewIjR3RDKJ5eQ8yFSMv3eN8/fmLdN25kJ6pGMNcZJBIlZLUtHR2H0gJS2paOn8Aay+SGqAm06EAAAAASUVORK5CYII=") no-repeat !important; border-width: thin !important; border-radius: 4px !important; border-color: #aecff7 !important; border-style: solid !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} #submenu-ucjs{ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAByklEQVQ4jZ3Qz0uTARjA8adD/0qWF82KwNC62G1HrRgUL3iwOZU5XlHmeA/vYYsFY+/7TnROOnQNgs6RhFbLH9A7DV9ljg0Z+B4cbEO8CN8OG7wKbmgPfHlOz+fwiLQmbqyQMJYxrAxm+uoMK0PCWOad+QG5OHoyw+pajqkfIAaI1SYDQr/g6/ef6MmMh8zHTer1BsFvp3x06djU6imNeoP5uOkBs3qSWrWKvIf1BsT3wb8G3Z9AFkDMVhZICmrVKrN60gNULcGJ6yJJWCjC63Xo/Qy3MiCLIEsXsuDEdVG1hAeEIjGOKxUkBW9/dzhuAceVCqFIzAMm53SOSmXEhMdfOhwvgaThqFRmck73gICqUSwcIhbcznY4bgHFwiEBVfOAsVAEZ++g+bAsyEqbss2nOnsHjIUiHjAanGE77+A3tpBXOcTfppc53lhbbNsOo8EZD1AC02zsFNjMO9i7Dvm/V2fvOmzaDhs7BZTAtAcMK+PcfTDIvUfPLvfwKV19g3T1DVzqzv0BhpXxJhCOxqidnf9X4WgMCUdj/HFKpNLZa297v0wqnW0CE6qGb0ShdnZ+4z2haohvRKGnf4jeJ89vVE//EL4XCv8AU/F+h6m656UAAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} #submenu-ucjs:hover{ appearance:none!important; margin-right: -1px !important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAByklEQVQ4jZ3Qz0uTARjA8adD/0qWF82KwNC62G1HrRgUL3iwOZU5XlHmeA/vYYsFY+/7TnROOnQNgs6RhFbLH9A7DV9ljg0Z+B4cbEO8CN8OG7wKbmgPfHlOz+fwiLQmbqyQMJYxrAxm+uoMK0PCWOad+QG5OHoyw+pajqkfIAaI1SYDQr/g6/ef6MmMh8zHTer1BsFvp3x06djU6imNeoP5uOkBs3qSWrWKvIf1BsT3wb8G3Z9AFkDMVhZICmrVKrN60gNULcGJ6yJJWCjC63Xo/Qy3MiCLIEsXsuDEdVG1hAeEIjGOKxUkBW9/dzhuAceVCqFIzAMm53SOSmXEhMdfOhwvgaThqFRmck73gICqUSwcIhbcznY4bgHFwiEBVfOAsVAEZ++g+bAsyEqbss2nOnsHjIUiHjAanGE77+A3tpBXOcTfppc53lhbbNsOo8EZD1AC02zsFNjMO9i7Dvm/V2fvOmzaDhs7BZTAtAcMK+PcfTDIvUfPLvfwKV19g3T1DVzqzv0BhpXxJhCOxqidnf9X4WgMCUdj/HFKpNLZa297v0wqnW0CE6qGb0ShdnZ+4z2haohvRKGnf4jeJ89vVE//EL4XCv8AU/F+h6m656UAAAAASUVORK5CYII=") no-repeat !important; border-width: thin !important; border-radius: 4px !important; border-color: #aecff7 !important; border-style: solid !important; min-height: 24px!important; padding-top: 7px! important; padding-left:28px!important; background-position:6px 5px!important;} #submenu-ucxul{ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAByklEQVQ4jZ3Qz0uTARjA8adD/0qWF82KwNC62G1HrRgUL3iwOZU5XlHmeA/vYYsFY+/7TnROOnQNgs6RhFbLH9A7DV9ljg0Z+B4cbEO8CN8OG7wKbmgPfHlOz+fwiLQmbqyQMJYxrAxm+uoMK0PCWOad+QG5OHoyw+pajqkfIAaI1SYDQr/g6/ef6MmMh8zHTer1BsFvp3x06djU6imNeoP5uOkBs3qSWrWKvIf1BsT3wb8G3Z9AFkDMVhZICmrVKrN60gNULcGJ6yJJWCjC63Xo/Qy3MiCLIEsXsuDEdVG1hAeEIjGOKxUkBW9/dzhuAceVCqFIzAMm53SOSmXEhMdfOhwvgaThqFRmck73gICqUSwcIhbcznY4bgHFwiEBVfOAsVAEZ++g+bAsyEqbss2nOnsHjIUiHjAanGE77+A3tpBXOcTfppc53lhbbNsOo8EZD1AC02zsFNjMO9i7Dvm/V2fvOmzaDhs7BZTAtAcMK+PcfTDIvUfPLvfwKV19g3T1DVzqzv0BhpXxJhCOxqidnf9X4WgMCUdj/HFKpNLZa297v0wqnW0CE6qGb0ShdnZ+4z2haohvRKGnf4jeJ89vVE//EL4XCv8AU/F+h6m656UAAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-top: 5px! important; padding-left:28px!important; background-position:6px 5px!important;} #submenu-ucxul:hover{ appearance:none!important; margin-right: -1px !important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAByklEQVQ4jZ3Qz0uTARjA8adD/0qWF82KwNC62G1HrRgUL3iwOZU5XlHmeA/vYYsFY+/7TnROOnQNgs6RhFbLH9A7DV9ljg0Z+B4cbEO8CN8OG7wKbmgPfHlOz+fwiLQmbqyQMJYxrAxm+uoMK0PCWOad+QG5OHoyw+pajqkfIAaI1SYDQr/g6/ef6MmMh8zHTer1BsFvp3x06djU6imNeoP5uOkBs3qSWrWKvIf1BsT3wb8G3Z9AFkDMVhZICmrVKrN60gNULcGJ6yJJWCjC63Xo/Qy3MiCLIEsXsuDEdVG1hAeEIjGOKxUkBW9/dzhuAceVCqFIzAMm53SOSmXEhMdfOhwvgaThqFRmck73gICqUSwcIhbcznY4bgHFwiEBVfOAsVAEZ++g+bAsyEqbss2nOnsHjIUiHjAanGE77+A3tpBXOcTfppc53lhbbNsOo8EZD1AC02zsFNjMO9i7Dvm/V2fvOmzaDhs7BZTAtAcMK+PcfTDIvUfPLvfwKV19g3T1DVzqzv0BhpXxJhCOxqidnf9X4WgMCUdj/HFKpNLZa297v0wqnW0CE6qGb0ShdnZ+4z2haohvRKGnf4jeJ89vVE//EL4XCv8AU/F+h6m656UAAAAASUVORK5CYII=") no-repeat !important; border-width: thin !important; border-radius: 4px !important; border-color: #aecff7 !important; border-style: solid !important; min-height: 24px!important; padding-top: 2px! important; padding-left:28px!important; background-position:6px 5px!important;} .uProfMenu_ucjs,.uProfMenu_ucxul{ appearance:none!important; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACaUlEQVQ4jXWTX0iTYRSHX9SrLDWJoIugG6F/ULIokC5SIsIgiLwrhCnO9FPLtU2t5VSM5TSEsHRmFkXQhRcmiZEaYrWZTm0V5tRS5ip1iSup5P2ipwvFtpoHHs7V73nhvOcIEa50LoTORV33Z1QpsdhuhGXNYJyiJU7RroZ/Q1hCJToXiUXRJBZFU+fehpe9K4J65heXmJ4L4J1dwDu7gM8fYH5xCYutntVwZHoy9Y51QDRm5z4U91FUKTFb62jvGaD1iSOE9p4BzNa6vwL9gyg+kUADhTR9OczmnB2oUlJcUctaVVxRy+rro+ykgQKqA6eJyBBktjSiSompvIZxr5+3E74Qxr1+TOU1y4KIrFhuoeUOeWxRNpDfPUWlB1QpMVhsTPj8jHz4GMKEz4/BYlsWiKujxOQLzFMnuPZ8E7vOx6K5O4YqJXqzlY5eF62djhA6el3ozVaE0NgRtu+ImyBObqWHQ0AUefejUKUkr6hizRnkmyqDBNUSoT1IoTuFy/7jNM4loUqJYixjaGQSx7AHx7CHwSEvZ2aSOBtIRm+oChKUziBK3rP/SjyNaIkpEKhSkmMoZfjdJH1uD31uD+7XPta3COLbItEbq1a+UWNHlEwjdE2UDW7nyL0ERK4NVUqyz13k8bMh2rqctHU5edTdT+fTN/S+GCO38FKQoHYJkZ1Fdv8exKmNCPM3VCnJUExrziBDMQWtssaOuK4ilGOIC7cRth+oUqLNNfBqdIqHXc7/ujbX8M9BaewIjR3RDKJ5eQ8yFSMv3eN8/fmLdN25kJ6pGMNcZJBIlZLUtHR2H0gJS2paOn8Aay+SGqAm06EAAAAASUVORK5CYII=") no-repeat !important; min-height: 24px!important; padding-top: 7px! important; padding-left:28px!important; background-position:6px 5px!important;} .uProfMenu_ucjs:hover,.uProfMenu_ucxul:hover{ appearance:none!important; margin-right: -1px !important; background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACaUlEQVQ4jXWTX0iTYRSHX9SrLDWJoIugG6F/ULIokC5SIsIgiLwrhCnO9FPLtU2t5VSM5TSEsHRmFkXQhRcmiZEaYrWZTm0V5tRS5ip1iSup5P2ipwvFtpoHHs7V73nhvOcIEa50LoTORV33Z1QpsdhuhGXNYJyiJU7RroZ/Q1hCJToXiUXRJBZFU+fehpe9K4J65heXmJ4L4J1dwDu7gM8fYH5xCYutntVwZHoy9Y51QDRm5z4U91FUKTFb62jvGaD1iSOE9p4BzNa6vwL9gyg+kUADhTR9OczmnB2oUlJcUctaVVxRy+rro+ykgQKqA6eJyBBktjSiSompvIZxr5+3E74Qxr1+TOU1y4KIrFhuoeUOeWxRNpDfPUWlB1QpMVhsTPj8jHz4GMKEz4/BYlsWiKujxOQLzFMnuPZ8E7vOx6K5O4YqJXqzlY5eF62djhA6el3ozVaE0NgRtu+ImyBObqWHQ0AUefejUKUkr6hizRnkmyqDBNUSoT1IoTuFy/7jNM4loUqJYixjaGQSx7AHx7CHwSEvZ2aSOBtIRm+oChKUziBK3rP/SjyNaIkpEKhSkmMoZfjdJH1uD31uD+7XPta3COLbItEbq1a+UWNHlEwjdE2UDW7nyL0ERK4NVUqyz13k8bMh2rqctHU5edTdT+fTN/S+GCO38FKQoHYJkZ1Fdv8exKmNCPM3VCnJUExrziBDMQWtssaOuK4ilGOIC7cRth+oUqLNNfBqdIqHXc7/ujbX8M9BaewIjR3RDKJ5eQ8yFSMv3eN8/fmLdN25kJ6pGMNcZJBIlZLUtHR2H0gJS2paOn8Aay+SGqAm06EAAAAASUVORK5CYII=") no-repeat !important; border-width: thin !important; border-radius: 4px !important; border-color: #aecff7 !important; border-style: solid !important; min-height: 24px!important; padding-top: 7px! important; padding-left:28px!important; background-position:6px 5px!important;} }
Icons liegen zuhauf im Unterordner des Chrome-Ordners.
Wer kann da helfen?
-
Danke, dann mach ich das mal peu a peu
-
Gibts eine Liste, in der die bereits umgeschriebenen Scripte aufgeführt sind?
Ich nutze 75 Scripte und würde gerne, ohne den ganzen Thread zu durchsuchen, abgleichen, welche schon geändert sind, bzw, welche nicht geändert werden müssen!userChromeJS/uc.js (75):
------------------------
AAAAStatusleiste.uc.js
About_Dialog schliessen.uc.js
AddBookmarkHere.uc.js
Addons-Update-Check-Button1.uc.js
AddonsPage.uc.js
AnimationToggleButton.uc.js
Anzahl der Ordner und Lesezeichen.uc.js
AutoPopup.uc.js
Back-forward.uc.js
BackToTop.uc.js
BackupProfile_Nightly.uc.js
Blur2revert.uc.js
BookmarkCount.uc.js
Bookmarks-Manager-Button.uc.js
BuildIdToAboutDialogue.uc.js
Button Erweiterungen verschieben.uc.js
ChangePassword.uc.js
ClearCacheButtonMovable.uc.js
CloseBlankTabOnCloseDownloadDialog.uc.js
CloseDownloadDialogTab.uc.js
ContextSearcher.uc.js
Context_Translate_Deepl.com.uc.js
CSSLive.uc.js
Cursor in der URLBar.uc.js
DownloadStatusModoki.uc.js
EnableAutoLogin.uc.js
Extras_Config_Menu.uc.js
FavIconInURLBar.uc.js
FindWrapPlayBeep.uc.js
Firefox Kontextmenuefixer hinsichtlich Unterstreichungen.uc.js
FirefoxButtons.uc.js
FxForumNewTab.uc.js
Gegen leere Tabs.uc.js
Hamburger-Symbol.uc.js
JsOff.uc.js
LinkifiesLocationBar.uc.js
Loading Bar.uc.js
Mediasource ein und ausschalten.uc.js
MemoryMonitorMod.uc.js
Mousehover, Lesezeichenordner auf.uc.js
MoveReloadIntoUrl.uc.js
Neuer Tab wg Statusleiste.uc.js
OpenBookModoki.uc.js
OpenSearchNotification.uc.js
Open_Password_Tab.uc.js
Per Doppelklick auf Tab neuer Tab.uc.js
PreferencesButton.uc.js
Print_Preview.uc.js
PrivateToolMenus.uc.js
RAMBack.uc.js
Rechtsklicksperre beseitigen.uc.js
RestartButton.uc.js
Revert_Stop_Reload_Button.uc.js
SaveUCJS_lite.uc.js
Scrollbars.uc.js
ScrollWheel.uc.js
ShowParentFolder.uc.js
Space and Separatoren Restorer.uc.js
Suchfeld immer leeren.uc.js
Suchleiste auf Webseiten mit Doppelklick öffnen+schließen.uc.js
SupportMozilla_Firefox.uc.js
TabFocus.uc.js
TabNumber.uc.js
TooltipStyling.uc.js
UhrinderNavBar_Nightly.uc.js
UndoBookmarksContextMenu.uc.js
UndoListInTabmenuToo_New.uc.js
UpdateBookmark2mod.uc.js
Updates Button.uc.js
userChromeShadow.uc.js
UserCSSLoader.uc.js
Verzoegerung der Webseitendurchsuchung.uc.js
Warn on Close.uc.js
Wetterfuchsbutton.uc.js
Zum_Anfang_oder_Ende_springen.uc.jsDa ich manchen Scripten teilweise eigene Namen verpasst habe, ist es natürlich schwierig.
Eins habe ich bereits hier gefunden und geändert, das hat nun ein _New am Ende der Bezeichnung.
-
Das schrieb ja auch Sören schon, dann müssen vermutlich diverse Scripts angepasst werden.
Du hattest gesagt, dass die Zeile daran schuld ist, sie wird von Andreas aber auch so genutzt.
Schliesslich teiltest du mit, dass es mit der Nichtänderung des Schlüsselwertes derzeit noch keine Lösung gibt. Das war aber bis zu deinem Eintritt in diesen Thread unstrittig und gar kein Thema. Dieser Diskussionspunkt wurde von dir eingebracht.Wenn du eine Lösung hast, wenn der Schlüssel nicht mehr zur Verfügung steht, bitte gerne hier oder in einem neuen Thread mitteilen. Danke!
-
Boersenfeger will sicherlich die neue Zeile, mit security.browser_xhtml_csp.enabled auf true.
Nee, will ich nicht..
-
-
-
Jetzt geht gar nix mehr
CSS
Alles anzeigen@-moz-document url("chrome://browser/content/places/bookmarksSidebar.xhtml"), url("chrome://browser/content/browser.xhtml") { #sidebar-main > sidebar-main { display: none !important; } #sidebar-box { display: flex !important; position: absolute !important; top: 107px; bottom: 27px; width: 260px !important; z-index: 100 !important; opacity: 0 !important; margin-left: -220px !important; transition: margin-left .5s linear .4s, opacity .6s ease-in .2s !important; } #sidebar-box:hover { z-index: 100 !important; opacity: 1 !important; margin-left: 0 !important; transition: margin-left .66s !important; } #bookmarks-view-children { margin-top: -100px !important; margin-left: -15px !important; } #sidebar-splitter { display: none !important; } #sidebar-header { display: none !important; } /* Beschriftungsende anpassen */ treechildren::-moz-tree-cell, treechildren::-moz-tree-cell-text { margin-inline-end: -8px !important; } /* Lesezeichensidebar Icon-Abstand zur linken Seite */ .sidebar-placesTreechildren[view="bookmarks-view"] { margin-left: -10px !important; } /* Lesezeichensidebar Icon-Abstand */ #bookmarks-view-children:-moz-tree-image { margin-right: 5px !important; } /* Suchsymbol in der Sidebar ausblenden */ .textbox-search-sign { display: none !important; } textbox input.textbox-input::-moz-placeholder, #search-container input.textbox-input::-moz-placeholder, #urlbar input.textbox-input::-moz-placeholder { color: transparent !important; } /* Suchleiste Schrift-Größe einstellen */ .sidebar-placesTreechildren, sidebarheader, #sidebar-search-label, #search-box { font-size: 16px !important; font-family: Comic Sans MS, sans-serif !important; } /* Sidebar Hintergrundfarbe */ #sidebar { background: #c1e7bb !important; opacity: 1 !important; } /* Lesezeichen-Sidebar Suchfeld und auch Haupt-Suchfeld ohne Eintrag */ ::placeholder { color: transparent !important; } /* Lesezeichen Sidebar öffnende Dreiecke entfernen */ #bookmarksPanel treechildren::-moz-tree-twisty(closed), #bookmarksPanel treechildren::-moz-tree-twisty(open) { height: 0!important; width: 0!important; display: none!important; } /* Lesezeichen verwalten */ treechildren::-moz-tree-image(container) { 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=') !important; } /* Zeilenhöhe reduzieren */ .sidebar-placesTree treechildren::-moz-tree-row, .placesTree treechildren::-moz-tree-row { min-height: 20px !important; } /* Ordner aus der Sidebar ausblenden */ .sidebar-placesTreechildren[view="bookmarks-view"] { margin-top: -10px!important; } /* Fokusring um Ordner entfernen */ treechildren { --default-focusring: 0px !important; } }
Die Sidebar verschwindet nicht mehr und die kosmetischen Änderungen wie Farbe und Schriftgrösse etc. sind weg..
-
und wie heisst dann die Zeile korrekt?
-
Stimmt, ich hatte da das UpDate noch nicht installiert... danach ist das mit dem Wert true auch hier so mit meiner Scriptversion aus #8
-
-
BTW: Der Eintrag, den Sören in #2 ansprach, ist hier nicht vorhanden.
-
2002Andreas bezüglich dem extra_config_menue.us.js
Ich nutze offensichtlich eine neuere/andere Version des Scripts (6*,*) und damit funktioniert hier alles: Dies ist für meine Konfiguration angepasst: z.B. den Pfad zum Programm Notepad etc
CSS
Alles anzeigen// ==UserScript== // @name extras_config_menu.uc.js // @compatibility Firefox 6*.* // @include main // @version 1.0.20190504 // ==/UserScript== var uProfMenu = { // Beginn der Konfiguration // In der folgenden Zeile (11) den Pfad zum Texteditor eintragen (unter Ubuntu 10.04 z.B.: '/usr/bin/gedit'). Bei Fehleintrag wird view_source.editor.path ausgelesen: TextOpenExe: 'h:\\Notepad++\\notepad++.exe', // Falls gewuenscht, in Zeile 15 einen Dateimanager eintragen (komplett leer lassen fuer Dateimanager des Systems) Beispiele: // vFileManager: 'E:\\Total Commander\\Totalcmd.exe', // vFileManager: 'C:\\Program Files (x86)\\FreeCommander\\FreeCommander.exe' vFileManager: 'H:\\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: 'back-button', // 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:debugging','about:crashes','about:home','about:memory','about:plugins','about:preferences','about:profiles','about:support'], // 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 Button nach dem per warpmenuto gewaehlten Element anlegen (s. Kommentar ueber warpmenuto im Konfigurationsabschnitt) var zielmenu = document.getElementById(this.warpmenuto); if (zielmenu==null) { userChrome.log("extras_config_menu.uc.js findet Zielpunkt '"+this.warpmenuto+"' nicht, evtl. weil ein anderes Fenster als das Hauptfenster " + "geoeffnet wurde. Falls dieser Fehler auch im Hauptfenster auftritt, bitte die vorgehende Definition " + "von 'warpmenuto' kontrollieren."); return; } var menu = zielmenu.parentNode.insertBefore(document.createXULElement('toolbarbutton'), zielmenu.nextSibling); menu.setAttribute("id", "ExtraConfigMenu-button"); menu.setAttribute("class", "toolbarbutton-1"); menu.setAttribute("type", "menu"); menu.setAttribute("tooltiptext", "Extra Config Menü\nMittelklick \öffnet about:config"); menu.setAttribute("onclick", "if (event.button === 1 && !this.open) {openTrustedLinkIn('about:config','tab')};"); */ // 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ü\nMittelklick \öffnet about:config" }); } var menu = document.getElementById("ExtraConfigMenu-button"); menu.setAttribute("type", "menu"); menu.setAttribute("onclick", "if (event.button == 1) openTrustedLinkIn('about:config', 'tab');"); } //ab hier ist alles gleich, egal ob Button oder Menue var css = " \ #ExtraConfigMenu, #ExtraConfigMenu-button { \ background: 8px 12px no-repeat 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=) !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.setAttribute("onpopupshowing","uProfMenu.getScripts(0)"); var menupopup = menu.appendChild(this.createME("menupopup",0,0,0,"ExtraConfigMenu-popup")); menupopup.appendChild(this.createME("menuitem","userChrome.js","uProfMenu.edit(0,'userChrome.js');","uProfMenu_edit",0)); // Anlegen von Untermenues fuer die userChromeJS-Skripte (befuellt werden sie spaeter) var submenu=menupopup.appendChild(this.createME("menu","uc.js",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")); if (this.enableScriptsToClip) menupopup.appendChild(this.createME("menuitem","Skriptliste in Zwischenablage","uProfMenu.getScripts(1)","uProfMenu_clipboard",0)); // Ende Anlegen von Untermenues fuer die userChromeJS-Skripte menupopup.appendChild(document.createXULElement('menuseparator')); // Einbindung von Konfigdateien 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; } if (this.cssOrdner) { 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","Chromeordner","uProfMenu.prefDirOpen('UChrm');","uProfMenu_folder"),0); menupopup.appendChild(this.createME("menuitem","Profilordner","uProfMenu.prefDirOpen('ProfD');","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","Installationsordner","uProfMenu.prefDirOpen('CurProcD');","uProfMenu_folder"),0); menupopup.appendChild(this.createME("menuitem","Startup-Cacheordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfLD')+uProfMenu.getDirSep()+'startupCache');","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(typeof(ToolRstartMod) != "undefined" || this.enableRestart) menupopup.appendChild(this.createME("menuitem","Neustart", "try{ToolRstartMod.restartApp(false);} catch(e){alert(e);}","uProfMenu_restart"),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; } 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", "uc.js",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); } }, 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--) { // bisher nur eine Typunterscheidung (userChromeJS-Skript oder about:) if (sTyp==0){ var mitem = this.createME("menuitem",scriptArray[i],"uProfMenu.edit(0,'"+scriptArray[i]+"')",sClass,0); mitem.setAttribute("onclick","uProfMenu.openAtGithub(event,'"+scriptArray[i]+"')"); mitem.setAttribute("tooltiptext"," Linksklick: Bearbeiten,\n Mittelklick: https://github.com/.../"+this.cleanFileName(scriptArray[i])+" oeffnen,\n Rechtsklick: Suche auf GitHub"); } else { var mitem = this.createME("menuitem",scriptArray[i],"openTrustedLinkIn('"+scriptArray[i]+"','tab')",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('oncommand',sCommand); m.setAttribute('class',sClass); 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();
-
Peter Yarrow, Mitglied der US Folkband Peter, Paul and Mary, ist im Alter von 86 Jahren gestorben.
-
-
-
Das sieht gut aus, allerdings habe ich den Wert auf 1.4px gesetzt.
CSS#sidebar-box { z-index: 1000 !important; opacity: 0 !important; min-width: 0 !important; width: 2px !important; margin-left: -1.4px !important; transition: .4s linear;
Wenn ich drüber gehe funktioniert der Code nicht mehr.
Warum ist das wichtig?
Ganz links sieht man einen hellen Streifen. Der Shot ist mit dem Wert 0px gemacht worden. Mit 1.4px ist er fast verschwunden, aber eben nicht ganz. Höher kann ich nicht, da dann der Code nicht mehr funktioniert.
Ich nutze ein Code fürs Forum. Könnte man da etwas anpassen?
CSS
Alles anzeigen/* Camp Firefox Forum */ @-moz-document domain("camp-firefox.de") { html, body, .main, .boxesFooter, .boxesFooterBoxes, .layoutBoundary, .pageFooterCopyright, .pageHeaderFacade, .pageNavigation { background: #6495ed !important; } a, button, input, textarea, .messageGroupList .columnSubject > .statusDisplay { transition: none !important; -webkit-transition: none !important; } a.externalURL, .pageNavigation a, .contentHeaderTitle a { color: lightblue !important; font-weight: bold !important; } a.externalURL:hover, .pageNavigation a:hover, .contentHeaderTitle a:hover { color: #dc143c !important; font-weight: 900 !important; } #pageContainer, .pageContainer { max-width: 1660px !important; margin-left: 80px !important; margin: 0px auto !important; } #tpl_wbb_board .pageNavigationIcons > li:not(:last-child) { margin-left: 0 !important; } #tpl_wbb_board .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_unresolvedThreadList .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_userPostList .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wcf_disclaimer .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wcf_membersList .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wcf_recentActivityList .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wcf_team .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wcf_userSearch .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wcf_usersOnlineList .pageNavigation .pageNavigationIcons.jsPageNavigationIcons { left: calc(1vw - 100% + 85px) !important; } #tpl_wbb_thread .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_unreadThreadList .pageNavigation .pageNavigationIcons.jsPageNavigationIcons { left: calc(1vw - 100% + 110px) !important; } #tpl_wcf_articleList .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wcf_conversation .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wcf_ignoredUsers .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wcf_notificationList .pageNavigation .pageNavigationIcons.jsPageNavigationIcons { left: calc(1vw - 100% + 5px) !important; } #tpl_wbb_boardList .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_board[itemid="https://www.camp-firefox.de/forum/forum/2-nachrichten/"] .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_board[itemid="https://www.camp-firefox.de/forum/forum/3-smalltalk/"] .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_board[itemid="https://www.camp-firefox.de/forum/forum/4-erweiterungen-themes/"] .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_board[itemid="https://www.camp-firefox.de/forum/forum/7-vorab-versionen/"] .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_board[itemid="https://www.camp-firefox.de/forum/forum/8-probleme-auf-websites/"] .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_board[itemid="https://www.camp-firefox.de/forum/forum/9-m%C3%BCllhalde/"] .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_board[itemid="https://www.camp-firefox.de/forum/forum/11-schaltzentrale/"] .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_board[itemid="https://www.camp-firefox.de/forum/forum/15-firefox-allgemein/"] .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_board[itemid="https://www.camp-firefox.de/forum/forum/16-individuelle-anpassungen/"] .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_board[itemid="https://www.camp-firefox.de/forum/forum/20-firefox-produkte-f%C3%BCr-android/"] .pageNavigation .pageNavigationIcons.jsPageNavigationIcons, #tpl_wbb_board[itemid="https://www.camp-firefox.de/forum/forum/24-firefox-produkte-f%C3%BCr-apple-ios/"] .pageNavigation .pageNavigationIcons.jsPageNavigationIcons { left: calc(1vw - 100% + 125px) !important; } #tpl_wbb_unreadThreadList .section .tabularListRow.tabularListRowHead { background: #eee !important; } #tpl_wbb_userPostList .message { border: none !important; padding: 1px !important; } #tpl_wbb_userPostList .messageContent, #tpl_wbb_userPostList .messageFooterGroup { background: #eee !important; margin-left: 0 !important; } #tpl_wcf_disclaimer .content form .section.htmlContent > ol li { background: #eee !important; border-bottom: 1px #888 solid !important; padding: 0 5px 5px 5px !important; } #tpl_wcf_membersList .section.sectionContainerList > ol li, #tpl_wcf_recentActivityList .section.sectionContainerList > ul li, #tpl_wcf_searchResult .section.sectionContainerList > ul li, #tpl_wcf_team .section.sectionContainerList > ol li, #tpl_wcf_usersOnlineList .section.sectionContainerList > ol li { border-bottom: 1px #888 solid !important; } #tpl_wcf_notificationList .content ul.containerList.userNotificationItemList li.jsNotificationItem.notificationItem div.box32 div img { height: 32px !important; width: 32px !important; } #tpl_wcf_recentActivityList .containerList > li .containerHeadline, #tpl_wcf_recentActivityList .containerContent.htmlContent { background: #fff !important; padding: 2px !important; } #tpl_wcf_settings .content p.success { background-color: #ff6800 !important; border: none !important; color: #222 !important; } #tpl_wbb_board .section ul.wbbBoardList > li.wbbBoardContainer, #tpl_wbb_unreadThreadList .section .tabularListColumns > ol.tabularListColumns, #tpl_wcf_disclaimer .section > ul.boardrules-rules, #tpl_wcf_membersList .section.sectionContainerList > ol, #tpl_wcf_notificationList .content ul.containerList.userNotificationItemList li.jsNotificationItem.notificationItem, #tpl_wcf_recentActivityList .section.sectionContainerList > ul, #tpl_wcf_searchResult .section.sectionContainerList, #tpl_wcf_team .section.sectionContainerList > ol, #tpl_wcf_usersOnlineList .section.sectionContainerList > ol { background: #eee !important; border-bottom: 1px #888 solid !important; } #tpl_wbb_userPostList .message:hover, #tpl_wbb_userPostList .messageContent:hover { background: #00bfff !important; } #tpl_wbb_board .section ul.wbbBoardList > li.wbbBoardContainer:hover, #tpl_wbb_unreadThreadList .section ol.tabularList li.tabularListRow ol.tabularListColumns:hover, #tpl_wcf_membersList .section.sectionContainerList > ol li:hover, #tpl_wcf_notificationList .content ul.containerList.userNotificationItemList li.jsNotificationItem.notificationItem:hover, #tpl_wcf_recentActivityList .section.sectionContainerList > ul li:hover, #tpl_wcf_searchResult .section.sectionContainerList > ul li:hover, #tpl_wcf_team .section.sectionContainerList > ol li:hover, #tpl_wcf_usersOnlineList .section.sectionContainerList > ol li:hover { background: #faebd7 !important; } .attachmentThumbnail .attachmentThumbnailImage img { opacity: .95 !important; transition: none !important; -webkit-transition: none !important; } .badge, a.badge, .newMessageBadge { color: #ee0 !important; font-weight: 900 !important; } .boxesFooterBoxes .box > .boxContent { margin-top: 0 !important; margin-left: 20px !important; min-height: 80px !important; } .boxesFooterBoxes .boxContainer { padding: 0 !important; margin-left: -5px !important; } .buttonGroup > li:last-child .button[data-tooltip="Inhalt melden"], .messageFooterButtons > li:last-child .button[data-tooltip="Inhalt melden"], .messageFooterButtonsExtra > li:last-child .button[data-tooltip="Inhalt melden"] { background: #c00 !important; } .buttonGroup > li:last-child .button[data-tooltip="Zitieren"], .messageFooterButtons > li:last-child .button[data-tooltip="Zitieren"], .messageFooterButtonsExtra > li:last-child .button[data-tooltip="Zitieren"] { background: #44f !important; } .containerHeadline a, .htmlContent a, .messageBody > .messageText a, .messageGroupAuthor a.userLink, .messageGroupList .columnLastPost a, .messageSignature > div a, .messageText a, .redactor-layer a, .sidebarItemTitle a.userLink, a.messageGroupLink, a.wbbLastPostAuthor, #tpl_wcf_notificationList .content ul.containerList.userNotificationItemList li.jsNotificationItem.notificationItem a { color: #286ce6 !important; } .containerHeadline a:hover, .htmlContent a:hover, .messageBody > .messageText a:hover, .messageGroupAuthor a.userLink:hover, .messageGroupList .columnLastPost a:hover, .messageSignature > div a:hover, .messageText a:hover, .redactor-layer a:hover, .sidebarItemTitle a.userLink:hover, .tabularBoxTitle > header h2 a:hover, a.messageGroupLink:hover, a.wbbLastPostAuthor:hover, #tpl_wcf_notificationList .content ul.containerList.userNotificationItemList li.jsNotificationItem.notificationItem a:hover { color: #dc143c !important; } .columnSubject > h3 a, .containerHeadline > h3, .tabularBoxTitle > header > h2 { font-size: 16px !important; } .content .userAvatarImage { background: none !important; border: none !important; height: 32px !important; width: 32px !important; } .contentHeader { max-height: 64px !important; padding: 0 !important; margin: 0 0 5px 0 !important; } .contentHeader .contentTitle { font-size: 16px !important; font-weight: 900 !important; } .contentHeader.userProfileUser { min-height: 120px !important; } .contentHeader + .section, .contentHeader + .sectionContainer, .contentHeader + form, .messageHeader + .messageBody, .paginationTop + .section { margin-top: 0 !important; } .contentHeader .inlineDataList, .contentHeaderTitle ul, .messageHeaderBox > .messageHeaderMetaData * { color: black !important; } .main { padding: 0 !important; padding-bottom: 10px !important; } .boxesFooter, .boxesFooterBoxes, .layoutBoundary, .main, .pageFooterCopyright, .pageHeaderFacade, .pageNavigation { background-color: #6495ed !important; } .main #about, .main #recentActivity, li.jsIgnoredUser .box48 { background: #eee !important; padding: 5px !important; } .main #recentActivity li:hover, .main ol.userList li.jsIgnoredUser .box48:hover { background: #fff !important; } .main .layoutBoundary { padding: 0 15px !important; } .main ol.userList li.jsIgnoredUser { background: #eee !important; padding: 0 !important; } .main ol.userList li.jsIgnoredUser .box48 { background: #eee !important; padding: 3px !important; } .message { border: 1px #888 solid !important; } .messageContent, .messageFooterGroup { background: #ddd !important; padding: 10px !important; margin-left: 20px !important; } .messageFooterGroup { padding: 2px !important; margin-top: 0 !important; } .messageGroupAuthor a.userLink, .sidebarItemTitle a.userLink { font-style: italic !important; } .messageGroupList .box32 a, #tpl_wcf_notificationList .content ul.containerList.userNotificationItemList li.jsNotificationItem.notificationItem div.box32 div { width: 32px !important; } .messageGroupList .columnLastPost a { overflow: visible !important; } .messageGroupList .tabularList .tabularListRow:not(.tabularListRowHead) .columnStats > dl { visibility: visible !important; } .messageGroupList .tabularList li.divider ol.wbbThreadAnnouncement { background: #bb190040 !important; } .messageGroupList .tabularList li.divider ol.wbbThreadSticky { background: #89faff4f !important; } .messageGroupList .tabularList li.divider:hover { background: #eef6f9 !important; } .messageGroupList .userAvatarImage { background: none !important; border: none !important; height: 75% !important; width: 75% !important; } .messageHeader { border-bottom: 1px #888 solid !important; margin-bottom: 3px !important; padding-bottom: 0 !important; } .messageHeaderBox > .messageStatus * { color: #f5deb3 !important; } .messageList.messageReducedList > li:not(:last-child) { padding-bottom: 10px !important; } .messageSidebar .userAvatar span.badgeOnline { padding: 1px !important; margin: 0 0 0 36px !important; } .pageHeaderFacade > .layoutBoundary .pageHeaderLogo > a { padding: 0 0 0 10px !important; } .pageHeaderFixed .pageHeaderPanel { animation: none !important; transform: none !important; position: absolute !important; } .pageHeaderFixed .userPanel, .pageHeaderFacade .userPanel { animation: none !important; position: absolute !important; top: 10px !important; transition: none !important; -webkit-transition: none !important; z-index: 999 !important; } @media screen and (min-width:1025px) { .pageHeaderFixed .userPanel, .pageHeaderFacade .userPanel { left: calc((100vw - 1360px) / 2 + 400px) !important; /*left: 400px !important; für stylesweeping*/ } } @media screen and (min-width:1400px) { .pageHeaderFixed .userPanel, .pageHeaderFacade .userPanel { left: calc((100vw - 1360px) / 2 + 400px) !important; /*left: 400px !important; für stylesweeping*/ } } .pageHeaderNormal .pageHeaderPanel { position: absolute !important; transform: none !important; -webkit-transform: none !important; } .pageHeaderPanel, .pageHeaderFacade > .layoutBoundary { background: none !important; } .pageNavigation { padding: 10px 0 4px 0 !important; } .pageNavigation { margin-left: 10px !important; } .pageNavigation .breadcrumbs { margin-left: 125px; } .pageNavigation .layoutBoundary { background-color: #286ce6 !important; margin-left: 5px; margin-right: 20px; } @-moz-document domain(camp-firefox.de) { .layoutBoundary { max-width: 100vw !important; } } .pageNavigation .pageNavigationIcons.jsPageNavigationIcons { color: lightblue !important; flex-direction: row !important; left: -1160px !important; margin-left: 0 !important; margin-right: 20px !important; position: relative !important; } .pageNavigation .pageNavigationIcons.jsPageNavigationIcons::after { content: " Du bist hier: " !important; color: lightblue !important; font-size: 16px !important; font-weight: 900 !important; margin-left: 10px !important; } .paginationTop { margin-top: 10px !important; } .quoteBox .quoteBoxContent { font-style: normal !important; } .quoteBox .quoteBoxContent .quoteBox { background: #fef6de !important; margin-right: 10px !important; } .quoteBoxContent { padding-left: 10px !important; } .quoteBoxTitle { color: blue !important; font-size: 15px !important; } .quoteBoxTitle, .xboxesFooterBoxes .box { margin-bottom: 0 !important; } .searchBarOpen .pageHeaderSearch { background: none !important; inset: 0 !important; left: calc((100vw - 1360px) / 2 + 600px) !important; margin-top: 0 !important; max-width: 400px !important; position: absolute !important; top: 10px !important; z-index: 999 !important; } .searchBarOpen .pageHeaderSearch form { border: 1px #444 solid !important; } .searchBarOpen .pageHeaderSearch form .pageHeaderSearchInput { background: #ddd !important; } .searchBarOpen .pageHeaderSearch form .pageHeaderSearchInputContainer .pageHeaderSearchType > .button::after { text-align: start !important; } .searchBarOpen .pageHeaderSearch form .pageHeaderSearchType.dropdown { width: 200px !important; } .sidebar { margin-top: 30px !important; } .sidebar.boxesSidebarRight .boxContainer .box .boxTitle { background: #eee !important; border-bottom: 1px #888 solid !important; } .sidebar.boxesSidebarRight .boxContainer .box h2 { padding: 20px 20px 0 !important; margin-top: -20px !important; } .tabularBoxTitle > header { background: #eee !important; border-bottom: 1px #888 solid !important; margin-bottom: 0 !important; } .tabularListRowHead > .tabularListColumns > li, .tabularBoxTitle > header a, .tabularBoxTitle > header .icon { color: #009cff !important; font-weight: 900 !important; } .tabularListRowHead { border-bottom: 2px solid #8cd2ff !important; } .userMention { background: none !important; border: none !important; padding: 0 !important; } .wbbBoardDescription { max-width: 610px !important; } .wbbBoardList .wbbBoard { padding: 2px 0 !important; } .xboxesFooterBoxes .boxContainer h2.boxTitle, .xboxesFooterBoxes .boxContainer .boxContent.messageShareButtons { max-height: 0 !important; } .xboxesFooterBoxes .boxContainer, .boxesFooterBoxes .boxContainer section.box:nth-of-type(2) { background: #eee !important; margin-left: 0 !important; margin-right: 0 !important; } woltlab-quote, .quoteBox { padding: 0 0 4px 10px !important; min-height: 0 !important; } /* html content, zB about:support */ .messageBody > .messageText table *, .redactor-layer table * { font-size: 12px !important; } .htmlContent table td, .htmlContent table th, .messageBody > .messageText table td, .messageBody > .messageText table th, .messageSignature > div table td, .messageSignature > div table th, .redactor-layer table td, .redactor-layer table th, .table td, .table th, .tabularListRow { padding: 0 !important; } /*elemente ausblenden*/ .box16, .boxesFooterBoxes .boxContainer section.box:nth-of-type(1), .box[data-box-identifier="com.woltlab.wcf.RegisterButton"], .box[data-box-identifier="com.woltlab.wcf.TodaysBirthdays"], .contentHeader .contentHeaderIcon, .messageGroupListStatsSimple, .messageHeader::after, .messageHeader::before, .pageHeaderLogo .pageHeaderLogoSmall, .pageHeaderLogo img.pageHeaderLogoLarge, .pageHeaderLogo, .pageNavigation .pageNavigationIcons.jsPageNavigationIcons a[data-tooltip="RSS-Feed"], .quoteBox .userLink, .quoteBoxIcon, .sidebar.boxesSidebarRight .boxContainer .box .boxTitle::after, .sidebar.boxesSidebarRight .boxContainer .box .boxTitle::before, .tabularBoxTitle > header::after, .tabularBoxTitle > header::before, .tabularListRowHead::after, .tabularListRowHead::before, #tpl_wbb_board .wbbStats, #tpl_wbb_boardList .wbbStats, #tpl_wbb_userPostList .messageFooterGroup, #tpl_wcf_articleList .pageNavigation .pageNavigationIcons.jsPageNavigationIcons::after, #tpl_wcf_recentActivityList small.containerContentType { display: none !important; } /* Camp-Firefox Ergänzungen */ #redactor-toolbar-0 { background:#3b83bd! important; } /*Vorschaufenster für eine Antwort breiter*/ .dialogContent { min-width:1000px! important; } /*Text Code eingefügt*/ .re-button.re-code.re-button-icon::after { font-weight:bold! important; content: 'Code' ! important; } .re-button.re-code.re-button-icon:hover { color:black! important; } /*Rahmen um Antwortfenster*/ .messageContent.messageQuickReplyContent { border-left: 1px solid black! important; border-right: 1px solid black! important; border-bottom: 1px solid black! important; } .messageTabMenu{ border-top: 1px solid black! important; border-bottom: 1px solid black! important; } /*Rahmen um Zitatfenster und andere*/ .codeBox.collapsibleBbcode.cssHighlighter, .quoteBox.collapsibleBbcode, .quoteBox.collapsibleBbcode.collapsed, .codeBox.collapsibleBbcode.cssHighlighter.collapsed, .quoteBox.collapsibleBbcode.jsCollapsibleBbcode { background:beige! important; border: 1px solid black! important; } /*Zitateblock farbig*/ blockquote.quoteBox { background: #EAA221 ! important; } .userAvatarImage { border-radius: 10px ! important; } span.quoteBoxTitle { font-size: 16px ! important; } /* Smilies ausgeklappt*/ LI[data-name="smilies"]{ display:none! important; } DIV[class="messageTabMenuContent messageTabMenu"][data-preselect="true"][data-collapsible="false"] { margin-left:10px! important; border:none! important; display: block! important; } .messageTabMenuNavigation.jsOnly { border-bottom:1px solid black! important; } /* Überschriften in Unterforen */ .tabularBoxTitle > header a { color: #EAA221! important; } /* Boxen unterschiedlich einfaerben */ #pageHeaderPanel > DIV > DIV > DIV > NAV > OL > LI:nth-child(2) > OL{ background:beige! important; } #pageHeaderPanel > DIV > DIV > DIV > NAV > OL > LI:last-child > OL{ background:red! important; } /* Ungelesene Themen ausblenden */ .box[data-box-identifier="com.woltlab.wbb.UnreadThreads"] { display: none! important; } /* Aufzählungszeichen ist fett */ .paginationTop > nav:nth-child(1) > ul:nth-child(1) > li:nth-child(n+2) > a:nth-child(1):hover, .paginationTop > nav:nth-child(1) > ul:nth-child(1) > li:nth-child(n+3) > a:nth-child(1):hover, .messageListPagination > nav:nth-child(1) > ul:nth-child(1) > li:nth-child(n+2) > a:nth-child(1):hover, #content > FOOTER > DIV > NAV > UL > LI:nth-child(n+1) > A:hover{ color:white! important; background:#EAA221! important; } /* Untere Boxen auch blau */ .boxesFooterBoxes{ background:#3b83bd! important; } /* PopUps ausblenden */ @-moz-document url-prefix("https://www.camp-firefox.de/forum/forum/"), url-prefix("https://www.camp-firefox.de/suchergebnisse/"), url-prefix("https://www.camp-firefox.de/forum/ungelesene-beitraege/") { .popover { display: none; } } /* Aktiv für alle Webseiten */ * { text-shadow: transparent 0px 0px 0px, rgba(0,0,0,0.68) 0 0 0 !important } /* Beitrag bearbeiten hochsetzen */ .wbbPost { position: relative !important; } .messageSidebar + .messageContent { padding-top: 54px !important; } .messageFooterGroup { position: absolute !important; top: 0 !important; left: 260px !important; right: 30px !important; } .jsReportPost.jsOnly { margin-right: -19px !important; } /* URL Link - Intern */ .messageSignature * a { color:blue !important; } /* URL Link - Extern */ a.externalURL { color: red !important; } .messageSignature * .externalURL Span{ color: red !important; } .messageSignature * .externalURL{ color: red !important; } } /* Forenteile besonders hervorheben */ body[data-board-id="20"] .username::after { content:"!!!Achtung ich bin im Android-Forum!!!"; font-size: 24px !important; color: red !important; } body[data-board-id="24"] .username::after { content:"!!!Achtung ich bin im iOS-Forum!!!"; font-size: 24px !important; color: red !important; } /* PopUps auf Link ausblenden */ @-moz-document url-prefix(https://www.camp-firefox.de/forum/){ .popover { display: none !important; } } /* Alles Anzeigen und Kopieren animiert */ @-moz-document url-prefix(https://www.camp-firefox.de/forum/thema/) { .codeBox .codeBoxHeader { position: sticky !important; top: 10px !important; z-index: 1 !important; padding: 10px 10px 10px !important; margin: -10px -10px 0 !important; background-color: #fafafa !important; align-items: center !important; display: flex !important; min-height: 24px !important; } span.toggleButton.icon.icon24.fa-expand.pointer.jsToggleButtonEnabled::after { content: "Alles anzeigen" !important; padding-left: 8px !important; padding-top: 0 !important; color: green !important; font-family: "Open Sans", Arial, Helvetica, sans-serif!important; } span.toggleButton.icon.icon24.pointer.jsToggleButtonEnabled.fa-compress::after { content: "Weniger anzeigen" !important; padding-left: 8px !important; padding-top: 0 !important; color: blue !important; font-family: "Open Sans", Arial, Helvetica, sans-serif!important; } span.toggleButton.icon.icon24.fa-expand.pointer.jsToggleButtonEnabled { min-width: 180px !important; margin-right: 20px !important; color: blue !important; } span.toggleButton.icon.icon24.pointer.jsToggleButtonEnabled.fa-compress { min-width: 180px !important; margin-right: 20px !important; color: green !important; } span.toggleButton.icon.icon24.fa-expand.pointer.jsToggleButtonEnabled:hover, span.toggleButton.icon.icon24.pointer.jsToggleButtonEnabled.fa-compress:hover { color: red !important; } div.codeBoxHeader span.icon.icon24.fa-files-o.pointer::after { content: "Kopieren" !important; padding-left: 8px !important; padding-top: 0 !important; color: blue !important; font-family: "Open Sans", Arial, Helvetica, sans-serif!important; } div.codeBoxHeader span.icon.icon24.fa-files-o.pointer:hover::after { content: "Kopieren" !important; padding-left: 8px !important; padding-top: 0 !important; color: green !important; font-family: "Open Sans", Arial, Helvetica, sans-serif!important; } div.codeBoxHeader span.icon.icon24.fa-files-o.pointer { color: green !important; min-width: 140px !important; margin-right: 15px !important; } div.codeBoxHeader span.icon.icon24.fa-files-o.pointer:hover { color: red !important; min-width: 140px !important; margin-right: 15px !important; } .messageGroupStarter .messagePublicationTime .datetime::after { background: #008000;color:white; font-size:15px; content: "Themenstarter" !important; border-radius: 10px !important; margin-left: 10px !important; padding-left: 5px !important; padding-right: 5px !important; } }