2002Andreas Auch aus der Menüleiste?
Beiträge von Mira_Belle
-
-
Danke Endor , aber schlag die Axt, wie installiere ich das Ding?
-
-
Ich finde nicht die Position für das }. Das CSS von Mira_Belle ist fehlerfrei. Allerdings verwendet Firefox immer noch eine Serife statt "Arial Black". Aus Kraut und Rüben kann man nichts Gescheites formen. Der erste Teil mit @moz-document ist Murks.
OK, es ist nicht fehlerfrei!
Auch hier muss font-family: Arial Black !important; wegen des Leerzeichens
in font-family: "Arial Black" !important; geändert werden.
DAS hatte ich übersehen. Sorry.Hier noch einmal die korrigierte Version!
CSS
Alles anzeigen@-moz-document url("chrome://browser/content/browser.xhtml"), url("chrome://browser/content/places/bookmarksSidebar.xhtml") { #bookmarks-view,sidebarheader,#sidebar-box,.sidebar-placesTreechildren, #sidebar-search-label,#sidebar-search-container,#placesList > treechildren { -moz-appearance: none !important; background: linear-gradient(#BA78AB, #666699) !important; } #bookmarks-view,sidebarheader,#sidebar-box, .sidebar-placesTreechildren,#sidebar-search-label, #sidebar-search-container,#placesList > treechildren{ -moz-appearance: none !important; font-size: 8px !important; font-family: "Arial Black" !important; } /* Eigene Anpassung - Open Shell - Farbcode Taskleiste umgekehrt #AB78BA, RGB: 186 120 171, Open Shell am 22.01.2023 ( #BC8AAA > #DBA2CC > #D1ADC5 > #CF9FC0 2. Wahl) Hintergrundfarbe */ #navigator-toolbox > toolbar:not(#TabsToolbar):not(#toolbar-menubar), .browserContainer > findbar, #browser-bottombox { background-color: #BA78AB !important; } .scrollbox-clip > scrollbox[orient="vertical"] { max-height: 600px !important; overflow: auto !important; } #toolbar-menubar { background: #8888C1 !important; } #TabsToolbar { background: #666699 !important; } menu.bookmark-item, .bookmark-item > .toolbarbutton-text, .bookmark-item > .toolbarbutton-text { font-size: 13px !important; font-weight: bold !important; font-family: "Arial Black" !important; } treechildren::-moz-tree-cell-text { font-size: 13px !important; font-weight: bold !important; font-family: "Arial Black" !important; } .sidebar-placesTreechildren::-moz-tree-cell-text(container) { font-size: 16px !important; font-weight: bold !important; font-family: "Arial Black" !important; } #back-button > .toolbarbutton-icon { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRklEQVR42mNkoBAwElKg6NkiXprqW/nk+dtFbdlO50gyQMGnz9PVTnt+ZKCpeHrxvIbbm0oaiTJA0jqXTUxBryPCRydfXU2a6T/Df4asnJ6Gl8cnEzZA0W+iuoaa7HIvWzlDTi52oAKIktLChoZ3V9bgN0AjcmGyhY7gRG0VQW5mFlYGZmYWBkZGiJJDe/YxMDCzMfxnYmf49+8/gygf+6dZTUn8YFkZpxoBMVmVmcZqnGHCglwM7BycDGxsHAwsrGxAQ5iBHmBg+PvnL8PvXz8Zfv74zvD9+zeGixeuMeyZX8XIKO/ZYSAlwbdeXoRBgZOLi4Gbh5eBi5uXgZOLh4GdHWgICzPYBb+BBoA0f/36meH7l88M927fZtgxF2iAjEudgYgAx3rW/18URMXEGUTFxBiEhIQZ+PgFGLi5ORnY2djABvz48Yvh0+evDG/fvmN4+uQpw7UrFxnu7p8C8aCIYQw/j7DMdF5u9khBITEGUXFJBmFhYaBBggz8vDzgcPj0+QvDu/cfGN68fcvw+uVzhuePrjPc2j2JESUQJa0y4uSVlCbLKWjwiQgJMYgICzEICwkwMLIwMezctJjh6/ffDD9+/mX49v0rgyAf26eDi5r4MaJRQMNHWUZNa6mptau5mJAoAy8PNwMjKzNDe1F4w5dHp4lLSBxiOiz8MmoNVp4hFQrSqswMbCwMs9tyGr7cO0qcATDAJWtur2rtvEjHwk1uy/Smho8395FmAAiwCqsLatg5N/37z7j96oap20g2gBAAANL/rRFdJw3QAAAAAElFTkSuQmCC") !important; background-repeat: no-repeat !important; transform: scale(1.8, 1.8) !important; } #forward-button > .toolbarbutton-icon { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACRElEQVR42qWSXUhTYRzGn21nerZktosCRZSMSLJvqhsxuohAo4u6s0gIyuhDKogQgs4Jg6SPi7LoIjK0yIrAclGBSUwq0KKsmHM41zadsfmxc87OtuP5ejtuV1GYwwfem/f9P7/nD+9jwiJl+tflmasvNlesWlF/re3N5ZHuc9GcAeU1zUz77ZNsx7OBaO9776FA9+nXOQGWbWtg2tsusrKqY9gX0R+7vt2IhYebJvquywsCOCv3Ma13WlhNJyCEIJWS8cod+OodidSNdp3w/QVovPSAj/KSY25YV2ehKxJ21uwCMd6IAdF13TgahvzTyY/fJ095Hh689wegtuEKWb+pEjRthzUvHxRlhclszgwQw6xpKlRFgaLMghMkfPIKTyNB/9GxHobLALbvZ8jaDeuwpMAB2mYDZc2HeQ5grKAZyZqqQEqnwXECJmNTCIUimEpSQYutcG8GsHLHcVJaXoHlRcVwFBYiPy8L0Ix0WVaQTEpIJAQkBB4CH4fAxaHCGtSpgiygrPoIKSpdg+KSMjidS2GjaVgsFugkC0hLEkRRzBgFfhozXKJTmBw/Fvt8n88Aquqa+LigOubSbXkWWCkztlbvgWqYJWkWYjIJISFiIuIXQoFA43jfrY55v9FevJE539rFyinJWD+NaSP1S/+7/jHf0IEZz/PR//bAVrKFab7rYiVOhMf/Q3O/fNLChX1s6teguqAiFZRXMWdvPmLfdneGB3tc9eLPD+6cqrx69+Fa2m6v8bp7L8gxTxzzyIRF6jeCrCBtCu4ugQAAAABJRU5ErkJggg==") !important; background-repeat: no-repeat !important; transform: scale(1.8, 1.8) !important; } #reload-button > .toolbarbutton-icon { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAG1BMVEUAAAAAAAD/AP+AAID///+AgIAAAIAA//8AAP/Pj3S0AAAAAXRSTlMAQObYZgAAAAFiS0dEBI9o2VEAAAAHdElNRQflCBwKDRFya1geAAAAAW9yTlQBz6J3mgAAAP5JREFUKM9t0bFuwyAQBuCzVJI1OKLyGtMHSEHdK8vZzXDZLbWIvarcNQvmsXtcEM6Qf7H+Twe2dQDPIykPtZE9RR4qtD3nVOf7Ej51hqavyYe0bTd4Jxj01rWmkeF+n5Q0aAzBC3eF6Fqt9amA/UASYwxd0vAZfQZwWlt7KNB/AoijZfii+nZBeuHRLlYxjBdkWNYMfhhn7vslpZ8Mo//m/pcKeD8T7FPOeoegAHahAHgfIz1g57P8AnQhhJn+oekKuBhTuknJPawEgU9zoicQr7Wn2zXQbW4DhVcCIesATvkTAbvSFZY9OJ6RCqcCAvMqEbGuTiDnYbtZJniafy6uYxaP6DVMAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTA4LTI4VDEwOjEzOjE3KzAwOjAwC4GrmgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wOC0yOFQxMDoxMzoxNyswMDowMHrcEyYAAAAASUVORK5CYII=") !important; background-repeat: no-repeat !important; transform: scale(1.8, 1.8) !important; } /* Scrollbar (Bildlaufleisten 2 Farben, #CC6699, #666699): innerhalb von Firefox */ :root{ /* Farbe 1: Thumb (Daumen) - Farbe 2: Hintergrund*/ scrollbar-color: (#CC6699, #666699) !important; } /* Lesezeichen - Ordnericon gelb */ .bookmark-item[container="true"] { list-style-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII=') !important; -moz-image-region: rect(0px 16px 16px 0px) !important; } /* #TabsToolbar { background: #BA78AB !important; } */ .scrollbox-clip > scrollbox[orient="vertical"] { max-height: 600px !important; overflow: auto !important; } /*Schriftfarbe der Menüleiste*/ .menubar-text{ color: #fff !important;} } /* Lesezeichen verwalten - Ordnericon stehend gelb */ @-moz-document url-prefix("chrome://browser/content/places/places.xhtml") { treechildren::-moz-tree-image(container) { list-style-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII=') !important; } } @-moz-document url("chrome://browser/content/places/bookmarksSidebar.xhtml"){ treechildren::-moz-tree-image(container) { list-style-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII=') !important; } }.DeJaVu Auch wenn der Teil mit @moz-document .... Murks ist, lasse ich es mal so.
Ich weiß ja nicht, ob der Code auch auf die Sidebar wirken soll oder muss. -
-
Andy 123 Für was mache ich überhaupt so was?
Nutze bitte den von mir überarbeiteten Code.
Der ist fehlerfrei, der Code, den Du hier reingestellt hast, strotzt nur so von Fehler.
UND!!!CSS/* Scrollbar farbig about und Webseiten */ :root { /* Farbe 1: Thumb - Farbe 2: Hintergund*/ scrollbar-color: #CC6699 #666699 !important; }Gehört in die userContent.css !
Wie soll man Dir helfen, wenn Du gemachte Vorschläge nicht umsetzt?
-

Ich habe auch etwas mit dem Skript herumgebastelt!
Aber ich bekomme es einfach nicht hin, dass aus der Chronik der Menüleiste ein Link in einem neuen Tab sich öffnet.
Nutze ich die Chronik aus dem "Hamburgermenü, funktioniert es.Hier mein verzweifelter Versuch.
JavaScript
Alles anzeigen// ==/UserScript== (function() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; PlacesUIUtils.openNodeWithEvent = function PUIU_openNodeWithEvent(aNode, aEvent) { let window = aEvent.target.ownerGlobal; let browserWindow = (window && window.document.documentElement.getAttribute('windowtype') == 'navigator:browser') ? window : BrowserWindowTracker.getTopWindow(); let where = 'tab'; // Always open in a new tab this._openNodeIn(aNode, where, window); } let onPopupshowing = function () { let historyMenu = document.getElementById('history-menu'); if (!historyMenu._placesView) { new HistoryMenu(event); historyMenu._placesView._onCommand = function HM__onCommand(aEvent) { let placesNode = aEvent.target._placesNode; if (placesNode) { PlacesUIUtils.openNodeWithEvent(placesNode, aEvent); } } } } let historyPopup = document.getElementById('goPopup'); historyPopup.setAttribute('onpopupshowing', '(' + onPopupshowing.toString() + ')()'); })(); -
... Die Translations-Erweiterung schreibt ihr HTML wie gezeigt in die Webseite, anders könnte es auch nicht passieren.
AH, autsch. Ich habe mir das so in etwa schon gedacht, aber eben nur vage!
Vielen, vielen Dank! -
Ich bin mir nicht wirklich sicher, ob ich das richtig verstehe, aber Danke für Deine Erklärung. 
Mit moz-extension://...UUID... schränke ich den Geltungsbereich ein.
Da aber das "Fensterchen" mit der Überbesetzung auf allen Seiten wirksam ist, braucht es diese "Begrenzung" gar nicht,
im Gegenteil, sie macht das dann "kaputt".
Und auch wenn dieser Erklärungsversuch meinerseits falsch ist, die Hauptsache ist, der Code (CSS) ohne wunderbar funktioniert.
Das Panel wird so dargestellt, wie von mir beabsichtigt. -
.DeJaVu In der Tat ist mir nicht klar, warum es KEIN moz-extension:// geben darf!
Und warum ist "das was ganz anderes"? Gibst Du mir "Nachhilfe", bitte? -
Endor Lässt mir doch keine Ruhe!
Wenn ich mir so Deinen Code anschaue, fällt mir auf, dass da die ID moz-extension://d6b78b1e-5e2a-405a-8fd5-f265411284dd/
wohl dem uBlock zugewiesen wurde.
Denn bei mir hat der uBlock die ID moz-extension://8d0d7974-6e33-42f5-921f-231c8f10558b.
Wenn ich das richtig verstehe, hast Du die Einstellungsseiten und das Panel angepasst.Das hilft mir aber nicht wirklich, denn ich will ja nicht uBlock anpassen, sondern das "Popup" mit der Übersetzung
der Erweiterung "Simple Translate von sienori".
Diese hat bei mir die ID, die bei Dir der uBlock hat.
Dennoch danke. -
Ich belasse es jetzt erst einmal dabei.
Aber danke für die Antworten.
-
Danke, blöd nur, dass nur mit der ID
@-moz-document url-prefix('moz-extension://d6b78b1e-5e2a-405a-8fd5-f265411284dd')
das ganze dann nicht mehr funktioniert.Ohne geht es, dann ist das CSS aber nicht mehr eingegrenzt, und das könnte ungeahnte Auswirkungen haben.
Bei uBlock schaut es so aus.
@-moz-document url-prefix('moz-extension://8d0d7974-6e33-42f5-921f-231c8f10558b/popup-fenix.html')CSS@-moz-document url-prefix('moz-extension://d6b78b1e-5e2a-405a-8fd5-f265411284dd/popup.html') { #simple-translate .simple-translate-panel { background-color: var(--uc-color-black-light) !important; border: 3px solid var(--uc-color-orange-normal) !important; border-radius: 8px !important; } }Geht NICHT!
NUR =>CSS#simple-translate .simple-translate-panel { background-color: var(--uc-color-black-light) !important; border: 3px solid var(--uc-color-orange-normal) !important; border-radius: 8px !important; }in die userContent.css funktioniert.

-
Jetzt bräuchte ich doch mal Hilfe!
Ich nutze die Erweiterung "Simple Translate von sienori"
Damit kann man einzelne Wörter oder Sätze makieren und übersetzen.
Das kleine, oder bei Absätzen, größer Popup würde ich gerne den Hintergrund anpassen
und dem ganzen einen Rahmen verpassen!So weit, so gut. Auch kenne ich bereits den Selektor.
Nur weiß ich nicht, wie ich das ganze einbinden soll!
Dass das CSS in die userContent.css gehört ist mir klar,
nur mir fehlt ?? (@-moz-document url-prefix('moz-extension://.....) das!Hier mal mein CSS
CSS#simple-translate .simple-translate-panel { background-color: var(--uc-color-black-light) !important; border: 3px solid var(--uc-color-orange-normal) !important; border-radius: 8px !important; }Der Selektor könnte aber auch #simple-translate .simple-translate-panel.isShow sein.
-
Zum rückstandsfreien Deinstallieren aber das Tool "Norton Remove and Reinstall" nutzen!
Laden Sie das Tool "Norton Remove and Reinstall“ für Windows herunter und führen Sie es aus
-
Hallo zusammen,
... und wenn die Box auch noch angepasst werden kann, ...
CSS@-moz-document url(chrome://browser/content/browser.xhtml) { .select-translations-panel-text-area { font-size: 30px !important; } .translations-panel-view { width: 50em !important; } }Das Verschieben ginge, aber nur, wenn man das per Javascript umsetzt!
Aber ich denke, die paar Wochen kann man bestimmt auch noch auf die 127 Final warten.Bis dahin viel Spaß mit dem CSS!
-
weil mir das Symbol zu groß erscheint
Du musst nur das Symbol ansprechen, nicht den kompl. Eintrag:
Richtig, habe ich auch herausgefunden, dennoch Danke!
Nur meine Lösung:
Nicht #${contextMenuId}[data-enabled="true"] { sondern #${contextMenuId}[data-enabled="true"] image {
Und schon funktioniert es.

Aber Deine Lösung hat auch was!
-
Endor Danke. Habe etwas gebastelt. Es ist zwar so wie ich es mir vorgestellt habe,
aber das Skript ist ganz, ganz anders.
Egal war, ist ja eh nur ein Training für meinen Kopf.
Beschreibung.
Im Skript, das Endor mir zur Verfügung gegeben hat, wird ein Button erstellt,
mithilfe dessen man den config Eintrag media.mediasource.enabled umschalten kann.Ich wollte diese Funktion in das Kontextmenü bringen!
Was scheinbar auch funktioniert hat.Wer mag, kann es ja mal testen, und natürlich darf es auch von jedem der mag genutzt werden.
Symbole wie immer nach Belieben anpassen!
JavaScript
Alles anzeigen(function () { if (location.href !== 'chrome://browser/content/browser.xhtml') return; const contextMenuId = 'context-toggle-mediasource'; const labelEnabled = 'media.mediasource ist aktiviert'; const labelDisabled = 'media.mediasource ist deaktiviert'; const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir)); // Pfad zum Profil const iconPath = '/chrome/icons/'; // Pfad zum Ordner der das Icon beinhaltet const iconEnabled = 'bookmark-hollow.svg'; // Symbol für aktiviert const iconDisabled = 'bookmark.svg'; // Symbol für deaktiviert function updateMenuItem(menuitem) { const isEnabled = Services.prefs.getBoolPref('media.mediasource.enabled'); menuitem.setAttribute('label', isEnabled ? labelEnabled : labelDisabled); menuitem.setAttribute('tooltiptext', isEnabled ? labelEnabled : labelDisabled); menuitem.setAttribute('data-enabled', isEnabled); } const oncommand = function () { const isEnabled = !Services.prefs.getBoolPref('media.mediasource.enabled'); Services.prefs.setBoolPref('media.mediasource.enabled', isEnabled); event.target.ownerGlobal.BrowserCommands.reload(); // Seite neu laden updateAllMenuItems(); }; function updateAllMenuItems() { const windows = Services.wm.getEnumerator('navigator:browser'); while (windows.hasMoreElements()) { const doc = windows.getNext().document; const menuitem = doc.getElementById(contextMenuId); if (menuitem) { updateMenuItem(menuitem); } } } const menuitem = document.createXULElement('menuitem'); menuitem.id = contextMenuId; menuitem.setAttribute('oncommand', '(' + oncommand.toString() + ')()'); menuitem.classList.add('menuitem-iconic'); updateMenuItem(menuitem); const refItem = document.getElementById('context-inspect'); refItem.parentNode.insertBefore(menuitem, refItem.nextSibling); // Update the menu item when the preference changes Services.prefs.addObserver('media.mediasource.enabled', updateAllMenuItems); // Clean up observer on unload window.addEventListener('unload', function() { Services.prefs.removeObserver('media.mediasource.enabled', updateAllMenuItems); }); // Initial update of all menu items updateAllMenuItems(); // CSS für die Symbole hinzufügen let sss = Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService); let uri = Services.io.newURI('data:text/css;charset=utf-8,' + encodeURIComponent(` #${contextMenuId}[data-enabled="true"] { list-style-image: url(${curProfDir}${iconPath}${iconEnabled}) !important; transform: scale(1.0) !important; -moz-context-properties: fill; fill: orange !important; } #${contextMenuId}[data-enabled="false"] { list-style-image: url(${curProfDir}${iconPath}${iconDisabled}) !important; transform: scale(1.0) !important; -moz-context-properties: fill; fill: lightgreen !important; } `), null, null); sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); })();Nur mit dem Skalieren des Symbols stehe ich auf Kriegsfuß!
Denn ändere ich diese, z.B. weil mir das Symbol zu groß erscheint,
Zerhaut es mir das Label und der Text wird verzerrt.
Auch stimmt dann nicht mehr die "Schaltfläche" von den Proportionen her.
Wenn jemand da eine Idee hätte, raus mit.
-
Moin.
Mit der Änderung else if (starred == "null") zu else if (starred == null) funzt es.
Label: Also bei mir passt das schon, das Menü ist/war dafür breit genug. Aber, kann man ja nach Belieben anpassen.
Ich werde das Skript mit ganz vielen Anmerkungen in meinem Archiv ablegen,
denn grundsätzlich finde ich die Funktion spannend.Danke für die Denksportaufgabe.
Ein Gedanke!
2002Andreas erwähnt hier #16 ein Skript, mit welchem er den Eintrag media.mediasource.enabled = false
hin und her schalten kann. Ich vermute, er nutzt dafür einen Button.
Eventuell kann man mit diesem JavaScript ....
Ach egal. -
Ah!
JavaScript
Alles anzeigen// BookmarkThisPage_Test04.uc.js (function () { if (location.href !== 'chrome://browser/content/browser.xhtml') return; // ## START UserCustomisation ## const buttonIcon1 = 'bookmark-hollow.svg'; // Name.Dateiendung des anzuzeigenden Symbols | Name.file extension of the symbol to be displayed const buttonIcon2 = 'bookmark.svg'; // Name.Dateiendung des anzuzeigenden Symbols | Name.file extension of the symbol to be displayed const iconPath = '/chrome/icons/'; // Pfad zum Ordner der das Icon beinhaltet | Path to folder containing the icon const label1 = 'Diese Seite als Lesezeichen speichern'; // [starred=null] const label2 = 'Das Lesezeichen dieser Seite bearbeiten'; // [starred="true"] const tooltiptext = 'Site als Lesezeichen speichern/bearbeiten'; // ## END UserCustomisation ## const oncommand = 'gContextMenu.bookmarkThisPage();'; const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir)); const menuitem1 = document.createXULElement('menuitem'); menuitem1.id = 'contextBookmarkpage'; menuitem1.setAttribute('tooltiptext', tooltiptext); menuitem1.setAttribute('oncommand', oncommand); menuitem1.classList.add('menuitem-iconic'); const refItem1 = document.getElementById('context-inspect'); refItem1.parentNode.insertBefore(menuitem1, refItem1.nextSibling); // Status aktualisieren const orig = document.getElementById('context-bookmarkpage'); // Funktion zum Aktualisieren des Labels und Icons function updateMenuItem() { const starred = orig.getAttribute('starred'); if (starred == '') { menuitem1.setAttribute('label', 'funzt'); } else if (starred == "null") { menuitem1.setAttribute('label', label1); } else if (starred == "true") { menuitem1.setAttribute('label', label2); } else { menuitem1.setAttribute('label', label1); } // starred-attribut vom Original 'context-bookmarkpage' clonen menuitem1.setAttribute('starred', starred); } // MutationObserver einrichten const observer = new MutationObserver(updateMenuItem); observer.observe(orig, { attributes: true, attributeFilter: ['starred'] }); // Initiales Update updateMenuItem(); let sss = Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService); let uri = Services.io.newURI('data:text/css;charset=utf-8,' + encodeURIComponent(` #contextBookmarkpage[starred="true"] image { list-style-image: url(${curProfDir}${iconPath}${buttonIcon2}) !important; transform: scale(0.9) !important; -moz-context-properties: fill; fill: orange !important; } #contextBookmarkpage[starred="true"]:hover image { list-style-image: url(${curProfDir}${iconPath}${buttonIcon2}) !important; fill: lightgreen !important; } #contextBookmarkpage[starred=null] image/*, #contextBookmarkpage image*/{ list-style-image: url(${curProfDir}${iconPath}${buttonIcon1}) !important; transform: scale(0.9) !important; -moz-context-properties: fill; fill: orange !important; } #contextBookmarkpage[starred=null]:hover image/*, #contextBookmarkpage:hover image*/{ list-style-image: url(${curProfDir}${iconPath}${buttonIcon1}) !important; fill: lightgreen !important; } `), null, null); sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); })();Jetzt bin ich mal gespannt, was Du daraus basteln willst.
Denn genau genommen, sehe ich keine Verwendung genau für dieses Skript mit dieser Funktion.
Aber lehrreich war es.