Herzlichen Dank für eure lieben Glückwünsche.
Geburtstag feiern war noch nie mein Ding, man wird ja nur älter.
Allerdings ist heute für mich ein besonderer Geburtstag: Der letzte Geburtstag vor der Rente! Nächsten Monat bin ich schon Rentner.
Herzlichen Dank für eure lieben Glückwünsche.
Geburtstag feiern war noch nie mein Ding, man wird ja nur älter.
Allerdings ist heute für mich ein besonderer Geburtstag: Der letzte Geburtstag vor der Rente! Nächsten Monat bin ich schon Rentner.
Ich habe auch etwas gebastelt, aber immer noch ohne appmenu_edit.uc.js. Es ist eine Notlösung. Ich habe einfach die Hilfe-Einträge in der appmenu.uc.js angelegt. Nutzt sie oder nutzt sie nicht.
{
name: 'Hilfe erhalten',
command: "let { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
document.getElementById('menu_openHelp').click()",
subdir: 'Hilfe'
},
{
name: 'Problem mit Website melden',
command: "let { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
document.getElementById('help_reportBrokenSite').click()",
subdir: 'Hilfe'
},
{
name: 'Ideen und Feedback teilen…',
command: "let { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
document.getElementById('feedbackPage').click()",
subdir: 'Hilfe'
},
{
name: 'Fehlerbehebungsmodus…',
command: "let { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
document.getElementById('helpSafeMode').click()",
subdir: 'Hilfe'
},
{
name: 'Weitere Informationen zur Fehlerbehebung',
command: "let { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
document.getElementById('troubleShooting').click()",
subdir: 'Hilfe'
},
{
name: 'Betrügerische Website melden…',
command: "let { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
document.getElementById('menu_HelpPopup_reportPhishingtoolmenu').click()",
subdir: 'Hilfe'
},
{
name: 'Zu einem neuen Gerät wechseln',
command: "let { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
document.getElementById('helpSwitchDevice').click()",
subdir: 'Hilfe'
},
{
name: 'Über Firefox',
command: "let { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
document.getElementById('aboutName').click()",
subdir: 'Hilfe'
},
Alles anzeigen
Im Hauptmenü wird ein Ordner „Hilfe“ angelegt und darin sind die Untereinträge des Hilfe-Menüs. Sie funktionieren bei mir. Ich habe den Code unten bei mir vor // Hauptmenü Einträge - Funktionen ins Skript eingefügt.
Ich fragte es vielleicht schon, habe aber die Adresse zum Thread nicht gespeichert,
Du kannst dir hier die gewünschten Benachrichtigungen festlegen:
Ich habe dierse Datei jetzt nur überflogen. Was funktioniert denn nicht? Wird der Eintrag gar nicht übernommen oder ist da ein anderes Problem. Bei FuchsFan habe ich gesehen, dass es da noch eine appmenu.css gibt. Darin wimmelt es von Selektoren des Typs :nth-child(Nummer). Diese legen die Position des Eintrags fest, die sich natürlich ändert, wenn du Einträge hinzufügst oder herauslöschst.
Vielen Dank.
Wie immer gern geschehen.
Das Problem mit dem Explorer hatte sich erledigt! Einfach die Zeile "fileManager: ...." auskommentiert und schon ging es.
Das hatte ich wohl in deinem Startbeitrag etwas geistesabwesend gelesen, daher bin ich auch nicht darauf eingegangen. Aber du konntest das Problem ja nun selbst lösen. ![]()
So und zu guter Letzt noch einmal Danke für den Code für die "Werkzeuge für Webentwickler".
Gern geschehen.
Mir will es einfach nicht gelingen, dass sich der Explorer im richtigen Pfad öffnet.
Zwar habe ich auch Notepad++ im angegebenen Pfad installiert,
aber lieber wäre es mir Visual Studio Code würde verknüpft werden.
Das kannst du doch im Skript festlegen, ziemlich weit oben unter der Zeile var Appmenu = {. Da ist eine Zeile, die mit editor: beginnt. Dort hast du zwei Möglichkeiten: Entweder du nutzt die angegebene Einstellung view_source.editor.path in about:config oder du schreibst den Pfad von Visual Studio Code, also:
Den entsprechenden Pfad zu deinem Editor also in about:config angeben und die Kommentarstriche am Anfang dieser Zeile entfernen. Oder du schreibst den Pfad von Visual Studio Code in editor: Dann musst du natürlich die Kommentarstriche bei der obigen Variante belassen. Das ist jetzt mein Pfad:
Danke Dir, für das Appmenü funktioniert das bestes!
Fein, mit Geduld und Spucke fängt man eine Skrucke oder so ähnlich. ![]()
Problem gelöst. Für mich bilden die beiden Wörter Firefox und Funktionen einen Begriff, deshalb habe ich einen Bindestrich zwischen beide gesetzt. Dadurch hat das Skript den Namen des Unterverzeichnisses nicht erkannt, denn bei mir heißt es Firefox Funktionen.
Ein Symbol kannst du noch mit image: unter dieser Zeile hinzufügen. Achte dann darauf, dass du am Ende der subdir:-Zeile ein Komma setzen musst, während am Ende der image:-Zeile dann keins steht.
Hallo @Mira-Belle, probiere mal folgenden Code ub der appmenu.uc.js, eine appmenu-edit.uc.js habe ich nicht.
{
name: 'Web-Entwickler',
command: "let { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
require('devtools/client/framework/devtools-browser');\
document.getElementById('menu_devToolbox').click()",
subdir: 'Firefox Funktionen'
},
Am besten du setzt den Code an den Anfang des Verzeichnisses Firefox Funktionen, um sofort eine Kontrolle zu haben, denn dann erscheint der Eintrag als erster im Menü.
Äh, habe gerade gesehen, dass der Eintrag im Hauptmenü erscheint, statt im Untermenü von Firefox Funktionen. Mal sehen, wo der Hund begraben ist.
oder milupo Hilfe.
Ich fürchte, ich kann dir da nicht viel helfen. Meine JavaScript-Kenntnisse sind sehr bescheiden, deswegen muss ich mich darauf beschränken, Skripte durchzusuchen und vielleicht etwas Bekanntes zu finden.
Danke
Gern geschehen.
Auweia da hätte ich eigentlich selbst drauf kommen müssen.
Kein Drama, die Änderung der Bezeichnungen ist ja noch nicht so lange her, du wirst das schon noch verinnerlichen.
Als Anhaltspunkt kannst du dir merken, dass die Funktionen mal mit Browser anfingen und die Bezeichnung aus einem einzigen Wort bestand. Die Funktionsbezeichnungen sind jetzt zweiteilig, wobei die beiden Teile durch einen Punkt getrennt sind. Die meisten neuen Bezeichnungen haben BrowserCommands. als Vorsatz, aber es gibt auch Ausnahmen, so z. B. BrowserUtils.whereToOpenLink() und BrowserAddonUI.openAddonsMgr(). Bei einer Umformung ist zu beachten, dass der erste Buchstabe nach dem Punkt klein geschrieben werden muss, vorher nach Browser war das ein Großbuchstabe.
Eine Übersicht habe ich nicht, vielleicht hat Sören eine.
Hat da jemand von euch eine Idee?
Ergänzend zu Sören:
nein habe ich nicht.
Dann mach das bitte.
Thaliel Ich habe dich bereits am Donnerstag gebeten, Firefox im Fehlerbehebungsmodus zu starten. Hast du denn das mal getan und was war das Ergebnis?
FuchsFan Teste mal den Eintrag Downloads unter Firefox-Funktionen. Die Bezeichnung der Browserfunktionen hatte sich ja vor nicht allzu langer Zeit geändert. Wenn der Aufruf des Download-Fensters nicht mehr funktioniert, ersetze Zeile 987 durch folgende Zeile:
Außerdem gibt es die Dateien Loader.jsm und Launcher.jsm nicht mehr. Der Aufruf mit ihnen könnte zwar noch funktionieren, wie wir letztens bei einem anderen Skript (addons_ver_day_updatecheck.uc.js) gesesehen haben, aber eigentlich sollte man stattdessen die Loader.sys.mjs und Launcher.sys.mjs einlesen. Denn spätestens mit Fx 136 funktioniert kein JSM-Code mehr. Das betrifft die Browser-Werkzeuge. Ersetze daher Zeile 1018 durch:
command: "var { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});\
und Zeile 1019 durch:
Tja da reicht mein Fachwissen leider nicht, wo genau man das findet. Die [Werkzeuge für Entwickler] sind sehr mächtig und leider überhaupt nicht selbsterklärend.
Das ist nur ein Fenster und du arbeitest dann in der Hauptsache mit dem Reiter Inspektor. In den Inhalt einer Liste müsstest du dich auch erst einarbeiten und du hast dann alles Mögliche aufgelistet. Wenn das alles noch erklärt werden würde, wirst du erst recht von dem umfangreichen Inhalt „erschlagen“. Mit dem Inspektor kannst du punktgenau auf die Benutzeroberfläche oder eine Webseite zugreifen. Natürlich musst du dich auch da einarbeiten, aber du lernst dann durch praktische Erfahrung. Du kannst nicht jedes Mal eine riesige Liste durchforsten, wenn du CSS-Code brauchst.
Und das hat vorher immer funktioniert? Ich frage, weil im Skript Appmenu_edit.uc.js in Zeile 18 helpmenu steht, mit kleinem m. Alle anderen Menüs haben großes M, wie z. B. davor toolsMenu. In Zeile 17 steht ja auch helpMenu als ID, also mit großem M. Mache also mal in Zeile 18 aus helpmenu helpMenu.
Soll ich das Script auch in den Ordner für Thunderbird Scripte bei Github packen?
Ja, ich denke das ist gut.
Ich habe mir mal überlegt, ob es nicht vielleicht sinnvoll wäre, den Versionsordnern zwei Unterordner JSM und ESM hinzuzufügen. Alle Skripte, die JSM-Module nutzen in den JSM-Ordner und alle konvertierten Skripte in den ESM-Ordner. Im Laufe der Zeit verschiebst du dann die Skripte in den ESM-Ordner, wenn sie dann konvertiert sind. Der JSM-Ordner wird dann irgendwann leer sein und du kannst ihn löschen. Ab Fx 136 funktioniert sowieso nur noch ESM. Wenn es da noch nicht konvertierte JSM-Skripte gibt, lässt du sie dann noch im JSM-Ordner, vielleicht kann man sie dann doch noch konvertieren. Aber selbst wenn alle Skripte konvertiert sein sollten, kannst du noch, sagen wir ein halbes Jahr, eine Galgenfrist für die Nachzügler geben. Mehr aber nicht, denn die Firefox-Nutzer sollten schon etwas gezwungen werden eine aktuelle Firefox-Version zu nutzen. Außerdem kommt dann im Juli 2025 die neue ESR-Version, Firefox 140 ESR oder so, dann ist ganz Schluss mit JSM.
Auf der Wurzelebene der Versionsordner kannst du dann all die Skripte unterbringen, die unabhängig von einem Modul sind.
Aber entscheide selbst, ob du dir die Arbeit machen willst und nimm, falls ja, dir die erforderliche Zeit. Es ist nur ein Vorschlag.
Ich lade jetzt beides und fertig. Danke fürs drüberschauen.
Wenn du den Zusammenhang zwischen dem CSS-Code und diesem Skript sehen willst, setze doch den Code in eine CSS-Datei, die genauso heißt, wie das Skript.
Übrigens. Ich bin kein Freund davon, Skripte mit CSS-Code zu überladen. Mal so ein paar Angaben wie in diesem Skript, aber nicht hundert Zeilen CSS in ein Skript packen. Das ist jetzt übertrieben, ich weiß.
Starte mal Firefox im Fehlerbehebungsmodus.