Wie wieder Symbole zu den Kontextmenüs von Thunderbird 68 hinzugefügt werden können

    • Thunderbird-Version: 68.4.1
    • Betriebssystem + Version: Windows 10 Professional 64 bit


    Bis TB 60 hatte ich per CSS Sybole zu den Einträgen der Kontextmenüs hinzugefügt. Das funkioniert nun nicht mehr. Die Buttons der Benutzeroberfläche kann ich per CSS ändern, aber ich bekomme kein einziges Symbol in die Kontextmenüs. Wie geht das mit TB 68?

    • Best Answer

    aborix hat im camp-firefox.de Forum einen noch bessern Code gepostet.

    Eventuell den timeout-Wert in Zeile 11 anpassen.


  • Diese Anleitung hat mich auf die Spur für eine Lösung gebracht. Ich weiß nicht, ob das unerwünschte Nebeneffekte haben wird, im Moment hat es den gewünschten Effekt.

    Dieser kurze JS-Dode fügt den "menu" Elementen die class "menu-iconic" hinzu und den "menuitem" Elementen die class "menuitem-iconic". Jetzt werden die Icons, die durch CSS Code und Grafikdateien zur Verügung gestellt werden, auch vor den Einträgen der Kontextmenüs dargestellt, wieder so, wie es bis Thunderbird 60 war :-)


    Wenn jemand Verbesserungsvorschläge hat oder Thunderbird das wieder eingebaut bekommt, freue ich mich.



  • bege

    Changed the title of the thread from “Wie Symbole zu den Kontextmenüs hinzufügen?” to “Wie wieder Symbole zu den Kontextmenüs von Thunderbird 68 hinzugefügt werden können”.
  • Mit dieser Ergänzung wird verhindert, dass Menüpunkte, die schon die entsprechende CSS class haben, zerschossen werden. Ist mir in TB noch nicht passiert, damit kann man aber auch wieder Symbole in die Menüs vom Firefox mit dem bisherigen CSS-Code einfügen.

    • Best Answer

    aborix hat im camp-firefox.de Forum einen noch bessern Code gepostet.

    Eventuell den timeout-Wert in Zeile 11 anpassen.


  • Die ursprüngliche Erweiterung "CuteButtons" gibt es hier:

    https://github.com/ChoGGi/CuteButtons

    Dort oben rechts auf "Clone or Download" klicken, dann "Download ZIP"

    In der ZIP-Datei finden sich alles Codes und Symbole im Ordner "content"


    Die können allerdings nicht unverändert benutzt werden. Deshalb hier diejenigen für die Menüsymbole angepasst. Die PNG-Datei muss im selben Ordner liegen wie der CSS-Code, bei der Code-Datei noch die Erweiterung txt entfernen. Da ich persönlich veränderte Dateien verwende, habe ich die angehängten nicht getestet, sollte aber funktionieren.


    Da der Code für die Erweiterung nicht mehr für Firefox und Thunderbird, sondern nur noch für PaleMoon angepasst wird, werden nicht alle Menüeinträge mit Symbolen versorgt, ist aber ein Anfang. Weitere kannst du ja selbst hinzufügen. Vielleicht werden auch einige Buttons verändert. Wenn du das nicht willst, musst du die entsprechenden Einträge im CSS-Code löschen oder deaktivieren.

  • Ich verwende Thunderbird 68.9.0 und habe gemäß dem Post #6 von bege die Icons.Normal.css in den Chrome-Ordner kopiert. Ferner habe ich aus dem Ordner CuteButtons-master\content die Datei mosaic.normal.png in den Chrome-Ordner kopiert und habe sie umbenannt in mosaic.png. Schließlich habe ich in die userChrome.css am Anfang eingefügt: @import url("Icons.Normal.css");


    Bei mir werden in Thunderbird dennoch keine Menüsymbole angezeigt. Was mache ich falsch?

  • Ich verwende Thunderbird 68.9.0 und habe gemäß dem Post #6 von bege die Icons.Normal.css in den Chrome-Ordner kopiert. Ferner habe ich aus dem Ordner CuteButtons-master\content die Datei mosaic.normal.png in den Chrome-Ordner kopiert und habe sie umbenannt in mosaic.png. Schließlich habe ich in die userChrome.css am Anfang eingefügt: @import url("Icons.Normal.css");


    Bei mir werden in Thunderbird dennoch keine Menüsymbole angezeigt. Was mache ich falsch?

    Das funktioniert nur, wenn den Kontextmenüs noch Code per JS-Skript hinzugefügt wird. Dazu musst du, wenn du das noch nicht nutzt, zunächst Thunderbird entsprechend präparieren Anpassung per userChromeJS (per Script) - ab Version 60+

    Wenn das erledigt ist, das obige JS-Skript hinzufügen RE: Wie wieder Symbole zu den Kontextmenüs von Thunderbird 68 hinzugefügt werden können

    Erst dann werden die Symbole in den Kontextmenüs angezeigt.


    Außerdem: Lies diesen Beitrag nochmal genau durch RE: Wie wieder Symbole zu den Kontextmenüs von Thunderbird 68 hinzugefügt werden können

    Du musst den CSS-Code aus diesem Beitrag verwenden.

  • bege, vielen Dank. Ich habe in Thunderbird dieselben js-Dateien an den gleichen Stellen eingefügt wie in Firefox. Dann habe ich das Script von aborix aus dem Post #4 als MenuIcons.uc.js gespeichert und in dem Chrome Ordner von TB eingefügt. Auf dieses Script hasr Du verlinkt. Bei der Icons.Normal.css im Chrome Ordner handelt es sich um Deine Datei in Post #6. Ich habe auch den ScriptCache geleert. Doch werden immer noch keine Menüsymbole angezeigt.

  • Hast du andere Skripte in TB, die funktionieren? Wenn nicht, dann füge auch mal dieses Skript hinzu (evtl. Position im Skript ändern!):

    Dann sollte in der Statusleiste die Versionsnummer erscheinen.

    Wenn sie es nicht tut, stimmt mit der Installation der Dateien etwas nicht, die für das Funktionieren der Skripte nötig sind.


    Poste auch mal den Inhalt der UserChrome.CSS und der UserChrome.JS


    Edit: Hast du mit dem Timeout-Wert am Ende des Skripts experimentiert?


    Boersenfeger: Fällt dir etwas ein/auf, was bei bananovic nicht funktioneren könnte?

  • Hier meine userChrome.css und meine userChrome.js:


    userChrome.css.txt

    userChrome.js.txt


    Ich hatte bisher in Thunderbird keine Scripte, nur in Firefox. Jetzt habe ich in TB das Script RestartThunderbird.uc.js eingefügt, damit ich den ScriptCache löschen kann. Dieses Script stammt von edvoldi: Wie kann man den Skriptcache löschen?

    Dieses Script funktioniert. Dein vorstehendes Script funktioniert nicht. Die Versionsnummer erscheint nicht in der Statusleiste.




    Wie soll ich mit dem Timeout-Wert, der auf 5000 steht, experimentieren? Mehr oder weniger? Was besagt dieser Wert?

  • bege, Dein Script funktioniert jetzt, die Versionsnummer wird ganz rechts in der Statusleiste angezeigt. Das hat wohl vorher etwas gedauert (5 Sekunden). Ich habe den Wert auf 1000 geändert. Jetzt erfolgt die Anzeige schneller.


    Mir fiel auch ein, daß im Forum mal darauf hingewiesen wurde, daß die Script-Dateien mit UTF 8 (ohne BOM) kodiert sein müssen. Das habe ich bei Deinem Script und bei dem Script MenueIcons.uc.js gemacht. Leider bewirkt diese Kodierung bei letzterem Script immer noch nichts. Menüsymbole werden immer noch nicht angezeigt.

  • Jetzt werden in TB die Symbole sowohl in den Menüs wie auch im Kontextmenü angezeigt. Das Geheimnis besteht darin, daß sowohl in der Icons.Normal.css wie auch in der userChrome.css der @namespace Eintrag deaktiviert oder entfernt werden muß. Es nutzt auch nichts, in der userChrome.css den @import Eintrag vor den @namespace Eintrag zu setzen, wie des öfteren empfohlen wird. Wenn ich den @namespace Eintrag wieder aktiviere, sind die Symbole wieder weg.


    Die mosaic-brighter.png zeigt mehr Symbole an als die mosaic-normal.png. Deshalb ist diese Datei zu empfehlen.


    Ich habe die gleichen Dateien (Icons.Normal.css, MenuIcons.uc.js und mosaic.png) auch in Firefox kopiert und dort in die userChrome.css den @import Eintrag eingefügt. Nun werden die Symbole auch in FF angezeigt.


    Das ganze ist aber instabil. Sowohl in TB wie auch in FF werden die Symbole in einigen Menüs, insbesondere im Menü Extras, nach dem Start dieser Programme mal angezeigt und mal nicht. Wenn man das Programm mehrmals neu startet, kann es sein, daß die bis dahin fehlenden Symbole angezeigt werden. Eine Frage an die Experten: Ist es möglich, hier für mehr Stabilität zu sorgen?


    Wegen des Zusammenhangs und wegen des Themas im TB-Forum gestattet mir bitte eine Frage zu FF. Ich verwende in FF schon lange das Script RestartFirefox.uc.js. Nun wird nach der "Symbol-Operation" oben rechts ein anderes Symbol angezeigt und im Datei-Menü unten vor "Neustart" gar kein Symbol. Gibt es eine Möglichkeit, das bisherige Symbol wieder herzustellen? Bei TB hat sich glücklicherweise insoweit nichts geändert.


    Noch ein letzter Punkt: Ich kann seit diesem Post nicht mehr die obigen Symbole für Fett (B), Kursiv (I), Unterstrichen und Durchgestrichen betätigen. Wenn ich auf eines dieser Symbole klicke, tut sich nichts. Normalerweise erhält das Symbol beim Aktivieren einen schwarzen Hintergrund. Hängt das etwa mit den Menüsymbolen in FF zusammen? Wenn ich den @import Eintrag in der userChrome.css deaktiviere und die Menü-Symbole nicht erscheinen, ist der Zustand beim Posten unverändert. Allerdings ging es bis gestern noch.

    Edited once, last by bananovic ().

  • bananovic

    Du fragst die "Experten", und das bin ich leider nicht, sondern ein Bastler, der sich durch Versuch und Irrtum hangelt ;-)

    Ich antworte mal soweit ich kann.


    • Schriftformatierung hier im Forum: Bei mir funktioniert die Formatierung, einen Hintergrund bekommen die Buttons nicht.
    • Die einzige Erklärung, die mir zur Instabilität der Symbole einfällt, ist der Timeout-Wert. Der bewirkt, dass das Skript nach dem Start des Programms um die entsprechende Zeit (in Millisekunden) verzögert startet. Ist der Wert zu kurz, kann das Skript starten, bevor die Menüs existieren. Ein zu langer Wert hat bei mir auch Probleme gemacht. Deshalb mit diesem Wert experimentieren (ruhig zwischen 1000 und 10000 oder mehr testen und bei hohen Werten natürlich Geduld).
    • Prüfe mit den Entwicklerwerkzeugen die class der Menüeinträge. Die muss "menu-iconic" oder "menuitem-iconic" enthalten. Das sind die Einträge, die das Skript hinzufügt. Wenn die vorhanden sind, startet das Skript richtig und irgendwas anderes stimmt nicht. Fehlen die, mal in der Fehlerkonsole schauen, ob für das Skript Fehler erscheinen.
    • Manche Menüeinträge werden von Erweiterungen erstellt und da funktionieren die Symbole z.T. nicht. Auch das Untermenü für die Entwicklerwerkzeuge im Fx ist ein Spezialfall.
    • Zum @namespace-Eintrag in der UserChrome.css kann ich nichts sagen, weil ich CSS-Code mit einem Skript und nicht per import-Eintrag lade. Ich weiß nicht, wie Boersenfeger es macht, bei es anscheinend wie bei mir auch funktioniert.
    • Die CSS-Datei enthält eine Menge an IDs für Menüs und Untermenüs. Deshalb ist es gut möglich, dass einige Symbole anders dargestellt werden. Vergiss nicht, dass diese Datei nicht mehr für Fx und TB aktualisiert wird. Da hilft nur, die ID des Menüeintrags herauszufinden und den entsprechenden Eintrag in der CSS-Datei zu ändern.

    Jetzt bin ich mit meiner "Weisheit" am Ende. Wenn das alles nichts hilft und niemand anders noch eine Idee hat, kann ich, befürchte ich, nicht weiterhelfen. Ich hoffe, es klappt.

  • Bei mir werden nun alle Symbole sowohl in Thunderbird wie auch in Firefox stabil nach jedem Start angezeigt, nachdem ich den Timeout-Wert von 5000 auf 1000 reduziert habe.


    Das alte Restart Symbol in Firefox aus dem Script RestartFirefox.uc.js wird statt des Symbols aus der Datei mosaic.png wieder angezeigt. Ich habe dazu einfach in Paintshop die mosaic.png geöffnet und habe das dortige Symbol durch das alte Restart Symbol ersetzt.