Jetzt zeigt das Web-Entwickler-Untermenü gar keine Icons mehr an, egal wie und wie lange ich am Timeout rumschraube oder es ganz rausnehme und ob ich deine oder meine Skriptversion nehme ![]()
Beiträge von bege
-
-
Bei z.B. welchen Kontextmenü-Einträgen wirkt es auf about:addons nicht?
In allen: Rechtsklick auf eine Erweiterung und im Menü "Werkzeuge für alle Add-ons".
Und ich kriege es in dem oben erwähnten Untermenü nicht zum Laufen, dort wird die Klasse nur ganz selten bei den Einträgen eingefügt, egal wie ich das Timeout einstelle. Dass es auch noch verschoben wird, hat keinen Einfluss, wenn ich das Weglasse, habe ich das gleich Problem.
Es handelt sich um das Web-Entwickler-Untermenü im Extras-Menü. Ich verschiebe die Menüs aus der Menüleiste mit einem Skript, das du mal vor längerem erstellt hast, in das App-Menü-Skript RE: Keine Icons im Script Appmenu.uc.js ab Fx68 und dann das Web-Entwickler-Untermenü auch direkt ins App-Menü. Aber wenn ich das weglasse, fehlen die Klassen beim Starten auch meistens.
Weißt du, wie ich das einstellen muss und warum das Problem bei meiner umständlichen Version mit ein paar Versuchen beim Timeout viel leichter zu lösen war?
Edit: Fehler meinerseits. Da ich das gleiche Skript auch in Thunderbird anwende, habe ich das verwechselt. Das Kontextmenü und das Werkzeuge-Menü in Thunderbird gehen nicht, das Kontextmenü ist ein anderes als in Firefox.
Im Firefox kriege ich im Seiten-Kontextmenü Symbole angezeigt, die Symbole im Werkzeuge-Menü nicht, und ich kann im Firefox die Popup-Menüs für den Inspektor nicht offen halten, sie verschwinden beim Klicken auf den Inspektor (Popups nicht schließen ist natürlich aktiviert).
-
Hallo,
versuche es damit:
Hallo aborix ,
es sieht jetzt so aus:
Code
Alles anzeigensetTimeout(function() { var ucjsAC = { init : function () { const menu = document.querySelectorAll('menu'); menu.forEach(query => query.classList.add('menu-iconic')); const menuitem = document.querySelectorAll('menuitem'); menuitem.forEach(query => query.classList.add('menuitem-iconic')); }, } ucjsAC.init(); }, 5000);Das ist ja viel kürzer und nicht so fehleranfällig wie meine zusammengebastelte Version, super. Ich musste nur die Timout-Zeit hochsetzen, weil es sonst in einem Untermenü, das ich mit einem anderen Skript verschoben habe, nicht ankommt. Vielen Dank.
Edit: Mit dem Timeout ist es recht diffizil, ich muss es genau treffen, sonst bekommen in dem verschobenen Untermenü die Einträge nicht die Klassen zugewiesen. Ich habe es jetzt wieder auf 2000 zurückgesetzt. Mal sehen, vielleicht muss ich damit noch jonglieren.
Aber mein Problem, dass das nicht auf Content-Seiten wie about:addon wirkt, besteht weiter. Hast du dafür einen Tipp, oder geht das gar nicht?
-
Hallo,
ist es möglich, about:addons mit einem User-Skript zu verändern?
Um weiterhin die CSS-Datei des alten Add-ons "CuteButtons" für Symbole in den Kontextmenüs zu verwenden, müssen die Kontextmenü-Einträge die CSS-Klassen menu-iconic bzw. menuitem-iconic haben. Bei den Kontextmenüs im Firefox kann ich die mit diesem (noch nicht ausgereiften) Skript hinzufügen
JavaScript
Alles anzeigensetTimeout(function() { var ucjsAC = { init : function () { const menu = document.querySelectorAll('menu'); menu.forEach(query => { if (query.className != 'menu-iconic') query.className += 'menu-iconic'; }); const menuitem = document.querySelectorAll('menuitem'); menuitem.forEach(query => { if (query.className != 'menuitem-iconic') query.className += 'menuitem-iconic'; }); }, } ucjsAC.init(); }, 1000);Aber das wirkt nicht bei den Kontextmenüs der Content-Seiten.
Gibt es dafür eine Möglichkeit?
-
Also gut, ich werde in Zukunft korrekt von "Gestaltungsbögen" sprechen https://de.wikipedia.org/wiki/Cascading_Style_Sheets - oder vielleicht auch nicht

- aber jetzt wieder zurück zum eigentlichen Inhalt des Themas. Bin gespannt, ob es noch andere Gestaltungsbögen für den Add-ons-Manager gibt.
-
Nur zur Information: Es handelt sich um CSS-Dateien und diese enthalten CSS-Code znd keine Skripte. Dateien mit der Endung .uc.js enthalten Skripte.
Hm, kurz CSS scripts in die Adresszeile eingeben ergibt u.a. das:

-
Ich nutze von Aris https://github.com/Aris-t2/CustomCSSforFx/releases die Skripte
addonlists_colorized_button_icons_fx68.css
addonlists_replace_button_labels_with_icons_fx72.css
addonlists_show_addon_version_number_fx68.css
addonlists_show_buttons_instead_of_menu_popup_fx72.css
addons_manager_alternative_appearance_fx68.css
recentupdates_category_always_visible.css
recentupdates_category_last_category.css
und dann sieht es so aus
Ein Vorteil ist, dass ich nur die Updates von Aris herunterladen muss und mich nicht selbst um jede Änderung nach Fx-Updates kümmern muss.
-
Ich habe extra IDs hinzugefügt und wie bei den nachfolgenden Einträgen für userChrome.css und userContent.css die entsprechenden Ordnernamen in die Klammer der openFolder-Funktion eingefügt. Aber es muss sicherlich der Code der openFolder-Funktion weiter unten im Skript noch geändert werden. Im Moment sieht es bei mir so aus: ...
Wie gesagt, es wird trotzdem der Ordner CSS geöffnet.
Soweit ich das verstehe - und ich verstehe wenig von Javascript - verwendet die openFolder Funktion den Order von "get FOLDER" (bei mir ab Zeile 77). Dort ist der Unterordner "CSS" fest eingestellt. Deshalb ist es egal, was man am Menü verändert.
Für das Öffnen eines Ordners könnte man das sicher variabel gestalten, aber beim Start oder Reload des Skripts werden die CSS-Skripte nur aus einem Ordnern geladen. Ob sich das leicht umbauen lässt, weiß ich nicht.
Deshalb funktionieren mit UserCSSLoader nur CSS-Skripte, die ein einem Ordner liegen.
-
Hallo...

statt 'createElement' muss es 'createXULElement' heißen.
Nimm mal diesen Code...damit geht es bei mir:Danke! Es hat erst geklappt, nachdem ich den ganzen von dir geposteten Code genommen habe, war noch irgendein anderer Fehler in meinem Skript.
-
Hallo,
mit dem hier RE: userChrome.js Scripte für den Fuchs (Diskussion) geposteten Skript UpdateBookmark2 (die zwei Falschen Anführungszeichen entfernt) sind bei mir die Kontextmenüs der Lesezeichen waagerecht statt senkrecht. Ist das bei euch auch so und hat jemand eine Idee, wie sich das ändern lässt?
Code
Alles anzeigenlocation == AppConstants.BROWSER_CHROME_URL && (function () { var separator = document.getElementById("placesContext_openSeparator"); var repBM = document.createElement('menuitem'); separator.parentNode.insertBefore(repBM, separator); repBM.id = "placesContext_replaceURL"; repBM.setAttribute("label", "Mit aktueller URL ersetzen"); repBM.setAttribute("accesskey", "U"); repBM.addEventListener("command", function () { var itemGuid = document.popupNode._placesNode.bookmarkGuid; PlacesUtils.bookmarks.update({ guid: itemGuid, url: gBrowser.currentURI, title: gBrowser.contentTitle }); }, false); var obs = document.createElement("observes"); obs.setAttribute("element", "placesContext_open"); obs.setAttribute("attribute", "hidden"); repBM.appendChild(obs); })(); -
Alles anzeigen
Hallo bege.
Teste diesen CSS Code mal im Thunderbird:
...
Welche Thunderbird Version verwendest Du?
Mfg.
Endor
Das Skript ändert nichts. Ich glaube nicht, dass es am CSS-Skript liegt. Im Fx ändert das Skript bei mir nichts am Aussehen und es wird trotzdem angezeigt.
Ich nutze TB 68.4.1
Ich habe genau das Skript genommen, das ich verlinkt hatte und das ja im Fx jetzt geht.
Ich habe auch mal die Zeile verändert, weil's damit im Fx auch funktioniert, und die NAVBAR vielleicht im TB anders heißt:
defaultArea: CustomizableUI.AREA_MENUBAR, statt AREA_NAVBAR
Ändert auch nichts.
Dann bin ich auf die "glorreiche" Idee gekommen, in der Fehlerkonsole nachzuschauen, und da steht
"CustomizableUI not defined"
In einem anderen Fx-Skript (RestartButton), das einen verschiebbaren Button hat, wird zusätzlich dieser Code verwendet
CodeComponents.utils.import("resource:///modules/CustomizableUI.jsm"); var {Services} = Components.utils.import("resource://gre/modules/Services.jsm", {}); var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);Wenn ich den einfüge, erscheint dieser Fehler nicht mehr, dafür diese zwei:
CustomizableUI: unable to normalize widget 2 CustomizableUI.jsm:2561
TypeError: aId is undefined CustomizableUI.jsm:1553:1
isSpecialWidget resource:///modules/CustomizableUI.jsm:1553
getWidgetProvider resource:///modules/CustomizableUI.jsm:1125
wrapWidget resource:///modules/CustomizableUI.jsm:686
createWidget resource:///modules/CustomizableUI.jsm:3828
init file:///F:/Users/bege/AppData/Roaming/Thunderbird/Profiles/plhihngc.default/chrome/JS/UserCSSLoader4g.uc.js:181
<anonym> file:///F:/Users/bege/AppData/Roaming/Thunderbird/Profiles/plhihngc.default/chrome/JS/UserCSSLoader4g.uc.js:614
<anonym> file:///F:/Users/bege/AppData/Roaming/Thunderbird/Profiles/plhihngc.default/chrome/JS/UserCSSLoader4g.uc.js:635
loadScript file:///C:/Program Files (x86)/Mozilla Thunderbird/userChromeJS/utilities.js:114
Die gleichen Fehler kommen, wenn in den UserCSSLoader deaktiviere und RestartButton lade.
Muss im TB für diese Funktion etwas anders definiert werden als beim Fx?
-
Hallo bege.
Der CSS Eintrag oben neben Hilfe müsste eigentlich über den Anpassen Dialog verschiebbar sein.
Mit diesem CSS Code wird daraus dann eine Schaltfläche:Vielen Dank, Endor, ich hab's im Fx zum Laufen bekommen.
Leider verschwindet es damit in Thunderbird, da wird's nur angezeigt, wenn es ein normales Menü ist. Falls jemand hier es auch als Button in Thunderbird zur Anzeige bekommen hat, wäre ich dankbar für 'nen Tipp. (Im dortigen Forum gab's keine Rückmeldungen auf Fragen zu diesem Skript.)
-
Hallo,
der UserCSSLoader (die letzte Version habe ich hier https://github.com/Endor8/userChr…CSSLoader.uc.js gefunden) wird als Menü in der Menüleiste angezeigt.
In der Beschreibung steht, dass es eine verschiebbare Schaltfläche gibt. Was ist hier gemeint? Ich suche eine Möglichkeit, statt des Menüs einen verschiebbaren Button anzuzeigen, aber das ist mit diesem Skript, soweit ich es verstehe, nicht möglich.
Kann mir jemand sagen, wie ich in dem Skript aus dem Menü einen Button machen kann, oder hat jemand schon so eine Version?
-
.. wenn mal wieder was quer läuft, werde ich dich dran erinnern bege


-
Das Problem liegt darin, das dein Profil einen Knacks hatte, du kannst jetzt Zeile für Zeile durchgehen und wirst es ggf trotzdem nicht herausfinden... Kopiere die wichtigsten Dateien ins neue Profil und lösche bei geschlossenem Fuchs das alte Profil im Profilordner
Falls jemand mit dem gleichen Problem hier vorbeikommt:
Da ich überhaupt keine Lust hatte, mit einem neuen Profil anzufangen, habe ich ein paar Monate gewartet. Nach mehreren Updates des Fx und der Erweiterungen läuft alles wieder wie gewohnt. Manchmal hilft also auch, sich in Geduld zu üben

-
Hallo,
ein bevorstehendes Update des Fx kann man in dem Popup "Über Firefox" sehen - wenn man es öffnet. Ich würde das gern per Skript anzeigen lassen. Kann man die Information irgendwo auslesen?
-
Zeile 3 vom Skript browser.xul umändern in browser.xhtml und Skriptcache löschen.
Danke für deine Antwort. Daran lag es nicht, denn ohne diese Änderung hätte das Skript gar nicht funktioniert. Da es heute wieder geht vermute ich, dass ich nur vergessen hatte, dass man wirklich zwei mal direkt hintereinander rechts klicken muss und nicht dazwischen das erste Kontextmenü wegklicken darf.
-
Wenn du eh Skripte nutzt kannst du für media.mediasource.enabled auch dieses Skript nutzen
JavaScript
Alles anzeigen(function() { if (location != 'chrome://browser/content/browser.xul') return; try { CustomizableUI.createWidget({ id: 'mediasource-enabled-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var button = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); var attributes = { id: 'mediasource-enabled-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: 'true', label: 'media.mediasource', tooltiptext: Services.prefs.getBoolPref('media.mediasource.enabled') ? 'media.mediasource ist aktiviert' : 'media.mediasource ist deaktiviert', oncommand: '(' + onCommand.toString() + ')()' }; for (var a in attributes) { button.setAttribute(a, attributes[a]); }; function onCommand() { var isEnabled = !Services.prefs.getBoolPref('media.mediasource.enabled'); Services.prefs.setBoolPref('media.mediasource.enabled', isEnabled); event.target.ownerGlobal.BrowserReload(); var windows = Services.wm.getEnumerator('navigator:browser'); while (windows.hasMoreElements()) { let button = windows.getNext().document.getElementById('mediasource-enabled-button'); if (isEnabled) button.setAttribute('tooltiptext', 'media.mediasource ist aktiviert') else button.setAttribute('tooltiptext', 'media.mediasource ist deaktiviert'); }; }; return button; } }); } catch(e) { }; var css = '#mediasource-enabled-button[tooltiptext="media.mediasource ist aktiviert"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QgVChgZrZw7pAAAAulJREFUOMttk89PXFUUxz/3vofDTAccfo2tFpDXzSSkFZSFYsLChTXsTGSYhS6EpN2y8EmABAIJQ8ho+hcwUbuAmVnpysRYZRaaGKI2pLUmzhhSw1Aob2gKU4b33r0uYChEv8tzvt9zz/mecwUnmJmZYXZ2lvn5eUtrPa61HtBaWwBCiKIQIi+EWJyamirWuAACYHJykmQyyfT09JLveSOPDl1i20Xay5sAPGx6mQdRi5fq6zBMMz03Nzda0wjbtkmlUkxMTPzuHFRe69kpMvrge+qqFZSQAEitcAMh0rF3+K3tCs0XQncXFhZ6bNs+7sC27SVnvzLy8b1veftxASUNpPJR0uAspPL5qbmLpauDtIRD6VQqNWqMjY1Z7tHRF907RT7Y+OVY7Pp8PXiDWOHX2pQAaCHpqDj8E27hUaCxt7+//7b0PG+8VKlys5A/9+LPLV188u4Yfza3I5V/GlfS4OZfeUqVKp7njUvXdQe6dzeoOzx43quAvfIeW1tbfNr6Bp/FriO1Ok2b1Qrdzgau6w5I13Wt9qfb6BPDagXK5TKO43BQdvjhmeTD1z/ifuurCDRKSDr3Sriua5m+76M152EIVldXebr5kGAwSGdHB8GGhjNugNYa3/cxlVLFv4NNMYFCY9SyRCIRGoXCM0yuv2iSvJdDCYlGILVPIdyGUqoolVL5tVAUtz58pjxEo21c7uwkF94lubN2ehMAXv0F1oJRlFJ5CSxGhOLWpb7nbmt4L1LHndIdeg93z4ml8rl1qY+IUACLxvr6evnqtWsdf3hG7+WjfbqqT1CGwUDpPkrK/xzSj+FXuN1oEQq8kF5eXv7SSCQSrKysfNPX0/P+d4G2i5uRi7x5uIPhH6FPbJMo/ECIz9vf4qsGi6ZQ8G4mkxlMJBLHjOHhYTKZDPF4fMn3vBHHh75n21zZfwxAIdzKWjBKswGGaaaz2exoTXO6mXg8TjabZWhoyAL+9zsDi7lcrljjAvwLey1SDvA6/m0AAAAASUVORK5CYII=)} ' + '#mediasource-enabled-button[tooltiptext="media.mediasource ist deaktiviert"] {list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QgVChcoe9onUQAAAvBJREFUOMttk09M22UYxz+/931b+kcg1FEoZAmWbGOSuCVOjR6IXnfzQGnCDeLBG4lpCJBAIAEye+CqB6qXJrTcPGjMolnINCbOxDl1soQyFKms0lrH1tHf731fD7SdLj7Jk/fwPt+83+/nzePQqIWFBRYXF1leXo5ba6ettSPW2jiA4zgFx3G2HMe5Njc3V2jOAjgAs7OzrKysMD8/v649b+LwxGPocIeB0n0A7ncP8EvPINE2hVIqs7S0NNnUOKlUinQ6zczMzPflR7VLLxfvMrH9JdJzMUICIIzGSB8fXXiTb/uGiYSDt1dXVy+nUqlTB6lUav3o0eOJyR8+5Y3ybkv4bAmj+TryAusvXeX5cCiTTqcnnampqbj2vJ2Lv9/l3e0vMEIh6l4jHE9PC9onkUbz4bm3+OnsMFKpQeV53nTx8QlrhZsYIRF1j/TUBxxVKvxVqVCr1bDWctIWIvfZ+xgleWf3JmNnztEbZFq5rjsyXN5Duict609qNZ48+IOHpRLHx8dYa3EDYRCNKJ7Li0d7HPYMjCjXdePxo32MaN7C/sEB9WqVSqVCtVpFSokO6RYLIySDf/7KfqQ/rrTW2P+Qgjt3fqS8V6BYLGKtJRaL8VzM95QHYLForVHGmMK99p4hcfTzaQQL7e3t2K4uhBBYa+no6KAtHIbSKVRhNNudfRhjCsoYs/VdKDqk/QEczwUL/jNRAvU6JtwBQDAYREW6YbfxuvJxK9RN1JgtZ3x8PO7W6zuvPjzgvd++QjsS6ekWsH95RkuJtIa1/tf4pvMsPr9/UGSz2YKQMnPd382NcD/SGoySGPFMN8Q3wn18HuhFSJnJZrMFmUwm2djY+OTK5UtvX2+L9j4IR3i9dojQLtZxAAdhNUgfa32v8HHnebpCgdu5XO5qMpk85To2NkYulyORSKxrz5soa7hSK3H+7yJYuNcZ41YoSkRYpFKZfD4/2dS0PiaRSJDP5xkdHY0D/7vOwLXNzc1CcxbgH/lpXYTK63B1AAAAAElFTkSuQmCC)} '; var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"'); document.insertBefore(stylesheet, document.documentElement); })();Damit kannst du sehr schnell den Wert auf false und true umstellen (Es lädt bei jedem Umstellen gleich die Seite neu)
Wenn media.mediasource.enabled deaktiviert (false) ist, dann einfach 2x Rechtsklick auf das Youtube Video --> Video speichern unter... wählen
Das Skript funktioniert bei mir mit Fx69.0.2 nur noch, wenn ich gleichzeitig per Skript die Manipulation des Kontextmenüs deaktiviere. Sonst kommt beim zweiten Mal klicken nicht das Fx-Kontextmenü. Liegt es am Fx oder an Youtube?
-
Ich habe kein Skript gefunden, mit dem man die Fx-Versionsnummer in der Addonbar anzeigen kann, deshalb habe ich es mir aus dem Script MemoryMonitorMod.uc.js und der Thunderbird-Erweiterung "Version in Statusbar" zusammengebastelt. Vielleicht kann es noch jemand gebrauchen.
JavaScript: VersionInAddonBar.uc.js
Alles anzeigen// ==UserScript== // @name VersionInAddonBar.uc.js // @description Versionsnummer in der Addon-Bar anzeigen // @include main // @charset UTF-8 // @note Basiert auf dem Script MemoryMonitorMod.uc.js und der Erweiterung "Version in Statusbar" // @note In Zeilen 16 u. 17 die Toolbar und die Position (hinter welchem Element) auf der Toolbar anpassen. // ==/UserScript== setTimeout(function() { var ucjsVN = { init : function () { var Toolbar = 'addonbar' var Position = 'MemoryDisplay' var info = Components.classes['@mozilla.org/xre/app-info;1'].getService(Components.interfaces.nsIXULAppInfo); var versionPanel = document.createXULElement('toolbaritem'); versionPanel.id = 'VersionDisplay'; versionPanel.setAttribute('tooltiptext', 'Versions-Nummer. Klick öffnet "Über ' + info.vendor + ' ' + info.name + '"'); versionPanel.setAttribute('onclick', "openAboutDialog();"); versionPanel.style.paddingTop = '4px'; var label = document.createXULElement('label'); label.setAttribute('value', "v" + info.version); versionPanel.appendChild(label); document.getElementById(Toolbar).insertBefore(versionPanel, document.getElementById(Position).nextSibling); }, } ucjsVN.init(); }, 5000); -
kleiner Zusatztipp: um den Link übersichtlicher zu halten, reicht übrigens (nicht nur in diesem Fall) die Angabe der Thread-ID (d.h. ohne das Subjekt), in diesem Fall also https://www.camp-firefox.de/forum/thema/12…action=lastPost.
Nur eine Zahl statt eines aussagekräftigen Titels würde ich nicht als übersichtlicher betrachten, ganz im Gegenteil.

Na ja, ich speichere einen Link ja mit Bezeichnung und URL ab. Da darf die URL ruhig kurz sein.