1. Startseite
  2. Nachrichten
  3. Herunterladen
    1. Thunderbird Release-Version
    2. Thunderbird 128 ESR
    3. Thunderbird 115 ESR
    4. Thunderbird Beta-Version
    5. Sprachpaket (Benutzeroberfläche)
    6. Wörterbücher (Rechtschreibprüfung)
  4. Hilfe & Lexikon
    1. Anleitungen zu Thunderbird
    2. Fragen & Antworten (FAQ) zu Thunderbird
    3. Hilfe zu dieser Webseite
  5. Forum
    1. Unerledigte Themen
    2. Letzte Beiträge
    3. Themen der letzten 24 Stunden
  • Anmelden
  • Registrieren
  • 
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Forum
  • Lexikon
  • Artikel
  • Seiten
  • Erweiterte Suche
  1. Thunderbird Mail DE
  2. Forum
  3. Hilfe zu Add-ons und manuellen Anpassungen
  4. Manuelle Anpassungen per CSS oder Script

TB68 - eigene Toolbar-Buttons für nicht vorhandene per User Script kreieren

    • 68.*
    • Linux
  • Thomas S.
  • 6. Oktober 2019 um 11:30
  • Geschlossen
  • Unerledigt
  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 6. Oktober 2019 um 11:30
    • #1

    Hallo alle.

    Ich hatte verschiedene Aktionen, die einfache per Toolbar-Button auszuführen sind, in TB 68 vermisst. Siehe diesen Thread.

    Hier meine Scripte, die bisher ganz normal wie gewünscht funktionieren.

    Vorraussetzung ist die grundsätzliche Erweiterung zur Nutzung von UserScript wie hier von "edvoldie" erläutert.

    Die Scripte bestehen im Wesentlichen immer aus dem gleichen Code.

    Nur die jeweils für die andere ID, Funktionalität bzw. für andere verknüpfte Icons zuständigen Zeilen sind anzupassen.

    Die Icons werden im Unterverzeichnis %Profilordner%/chrome/icons/ erwartet, was aber auch angepaßt werden kann.

    Icons sind im Anhang. icons.zip

    Die Scripte sollten ohne Änderungen auch unter Windows funktionieren, habe das aber nicht getestet (Tests nur unter Linux).

    Die Buttons werden in der Toolbar rechts eingeordnet und können händisch per "Anpassen" verschoben werden.

    [EDIT:

    - die neue Position der Buttons wird möglicherweise nicht gespeichert. Die Ursache ist unbekannt.

    Bei mir trat das Problem nur auf, wenn TB per "Restart" direkt neu gestartet wurd und bei extremen Experimenten.

    - Habe noch eine Korrektur vorgenommen. Die Funktion event.preventBubble() gibt es nicht, habe ich entfernt.

    - Weiters Script zum Sortieren ganz unten: SpecialSortEmails.uc.js]

    Grundsätzlich muß ich noch anmerken, daß ich mich eigentlich nicht mit JS UserScripten für TB auskenne :S

    Daher ist mir nicht alles klar, was da passiert. Verwendung bitte auf eigene Gefahr...

    Da ich aber schon Scipte für anderen Programme programmiert hatte, nun ja, einfach mal machen...

    Noch zu den "Orten" für die neuen Buttons (Zeile 49 im ersten Script), die möglich sind:

    "mail-bar3" (die Standard Toolbar / Buttonleiste)

    "mail-toolbar-menubar2" (Menüleiste)

    "tabbar-toolbar" (Toolbar in der Tableiste rechts)

    Das erste Script mit Kommentaren, hier für die Aktion "Alle Emails als gelesen markieren":

    Code
    //MarkAllEmailRead.uc.js
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
        
        // neues Objekt "toolbarbutton" anlegen
        var toolbarbutton = document.createElement('toolbarbutton');
        
        // Pfad zum aktuellen Profilordner, Pfadtrennzeichen (/ oder \) unabhängig vom OS immer /
        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
        
        // hier das gewünschte Button-Icon angeben
        var buttonicon = "markallread.png"
    
        // die Eigenschaften des Buttons festlegen
        var props = {
            
            // die folgende Button-ID ist EINMALIG zu vergeben, Dopplungen mit anderen Bezeichnern strikt vermeiden!
            id: 'MarkAllEmailRead-button',
            
            // in der Toolbar angezeigter Text
            label: 'Alle gelesen',
            
            // bei MausOver angezeigter Text (Tooltip)
            tooltiptext: 'Markiert alle Emails als gelesen',
    
            // das anzuzeigende Icon (hier nicht ändern, oben angeben)
            style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
    
            // Klassenzugehörigkeit
            class: 'toolbarbutton-1',
    
            // Aktion bei Klick auf den Button (hier mei Links- oder Mittelklick alle Emails als gelesen markieren)
            onclick:
            'if (event.button == 0 || event.button == 1) { \
                goDoCommand("cmd_markAllRead"); \
            };'
        };
    
        // alle definierten Eigenschaften dem Button-Objekt zuordnen
        for (var p in props) toolbarbutton.setAttribute(p, props[p]);
    
        var toolbox = document.getElementById("mail-toolbox");
        toolbox.palette.appendChild(toolbarbutton);
    
        // gewünschte Leiste / Ort, wo der Button erstellt werden soll
        var toolbar = document.getElementById("mail-bar3");
        
        // die hier anzugebende Button-ID muss identisch zu der oben vergebenen sein
        // Button in der Leiste anlegen
        toolbar.insertItem("MarkAllEmailRead-button", toolbar.lastChild);
    
    })();
    Alles anzeigen

    Dieses Script löscht alle Emails des aktuellen Ordners (nur Emails, keine Unterordner):

    Code
    //EmptyFolder.uc.js
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
    
        var toolbarbutton = document.createElement('toolbarbutton');
        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
        var buttonicon = "emptyfolder.png"
        var props = {
            id: 'emptyFolder-button',
            label: 'Ordner leeren',
            tooltiptext: 'Ordner leeren',
    
            style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
    
            class: 'toolbarbutton-1',
            onclick:
            'if (event.button == 0 || event.button == 1) { \
                goDoCommand("cmd_selectAll"); goDoCommand("cmd_delete"); \
            };'
        };
    
        for (var p in props) toolbarbutton.setAttribute(p, props[p]);
    
        var toolbox = document.getElementById("mail-toolbox");
        toolbox.palette.appendChild(toolbarbutton);
    
        var toolbar = document.getElementById("mail-bar3");
        toolbar.insertItem("emptyFolder-button", toolbar.lastChild);
    
    })();
    Alles anzeigen

    Dieses Script leert den Papierkorb des aktuell ausgewählten Bereichs / Kontos (alles, Emails UND Ordner):

    Code
    //EmptyTrashFolder.uc.js
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
    
        var toolbarbutton = document.createElement('toolbarbutton');
        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
        var buttonicon = "delete.png"
        var props = {
            id: 'EmptyTrashFolder-button',
            label: 'Papierkorb leeren',
            tooltiptext: 'Papierkorb leeren',
    
            style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
    
            class: 'toolbarbutton-1',
            onclick:
            'if (event.button == 0 || event.button == 1) { \
                gFolderTreeController.emptyTrash(); \
            };'
        };
    
        for (var p in props) toolbarbutton.setAttribute(p, props[p]);
    
        var toolbox = document.getElementById("mail-toolbox");
        toolbox.palette.appendChild(toolbarbutton);
    
        var toolbar = document.getElementById("mail-bar3");
        toolbar.insertItem("EmptyTrashFolder-button", toolbar.lastChild);
    
    })();
    Alles anzeigen

    Dieses Script beendet TB:

    Code
    //QuitThunderbird.uc.js
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
    
        var toolbarbutton = document.createElement('toolbarbutton');
        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
        var buttonicon = "exit.png"
        var props = {
            id: 'quitThunderbird-button',
            label: 'Beenden',
            tooltiptext: 'Thunderbird beenden',
    
            style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
    
            class: 'toolbarbutton-1',
            onclick:
            'if (event.button == 0 || event.button == 1) { \
                goQuitApplication(); \
            };'
        };
    
        for (var p in props) toolbarbutton.setAttribute(p, props[p]);
    
        var toolbox = document.getElementById("mail-toolbox");
        toolbox.palette.appendChild(toolbarbutton);
    
        var toolbar = document.getElementById("mail-bar3");
        toolbar.insertItem("quitThunderbird-button", toolbar.lastChild);
    
    })();
    Alles anzeigen

    Dieses Script markiert alle Emails:

    Code
    //SelectAllEmail.uc.js
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
    
        var toolbarbutton = document.createElement('toolbarbutton');
        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
        var buttonicon = "selectall.png"
        var props = {
            id: 'SelectAllEmail-button',
            label: 'Alle auswählen',
            tooltiptext: 'Wählt alle Emails aus',
    
            style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
    
            class: 'toolbarbutton-1',
            onclick:
            'if (event.button == 0 || event.button == 1) { \
                goDoCommand("cmd_selectAll"); \
            };'
        };
    
        for (var p in props) toolbarbutton.setAttribute(p, props[p]);
    
        var toolbox = document.getElementById("mail-toolbox");
        toolbox.palette.appendChild(toolbarbutton);
    
        var toolbar = document.getElementById("mail-bar3");
        toolbar.insertItem("SelectAllEmail-button", toolbar.lastChild);
    
    })();
    Alles anzeigen

    Dieses Script startet TB neu, ein Mitteklick löscht den JS-Cache.

    Hierzu muß ich noch sagen, daß es nach dem Neustart auffällt, daß alle per Script erzeugten UserButtons nicht ihre händisch zugeordneten Positionen einnehmen. Alle sind dann zusammen rechts in der Toolbar. Das ist immer so, eagl auf welchem Weg TB direkt neu gestartet wird.

    TB normal beenden und neu starten behebt das Problem wieder.

    Code
    //RestartThunderbird.uc.js
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
    
    
    
        // Toolbar
        var toolbarbutton = document.createElement('toolbarbutton');
        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
        var buttonicon = "sync.svg"
        var props = {
            id: 'restartThunderbird-button',
            label: 'Neustart',
            tooltiptext: 'Neustart (Mittelklick leert userChrome.js-Cache)',
    
            style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
    
            class: 'toolbarbutton-1',
            onclick:
            'if (event.button == 1) { \
                event.preventDefault(); \
                Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).invalidateCachesOnRestart(); \
            }; \
            if (event.button == 0 || event.button == 1) { \
                BrowserUtils.restartApplication(); \
            };'
        };
    
        for (var p in props) toolbarbutton.setAttribute(p, props[p]);
    
        var toolbox = document.getElementById("mail-toolbox");
        toolbox.palette.appendChild(toolbarbutton);
    
        var toolbar = document.getElementById("mail-bar3");
        toolbar.insertItem("restartThunderbird-button", toolbar.lastChild);
    
    
    
        // Menü-Datei (FilePopup)
        var menuitem = document.createElement('menuitem');
        var props = {
            id: 'restartThunderbird-popupButton',
            label: 'Neustart',
            tooltiptext: 'Neustart (Mittelklick leert userChrome.js-Cache)',
            style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
            class: 'menuitem-iconic',
            onclick:
            'if (event.button == 1) { \
                event.preventDefault(); \
                Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).invalidateCachesOnRestart(); \
            }; \
            if (event.button == 0 || event.button == 1) { \
                BrowserUtils.restartApplication(); \
            };'
        };
    
        for (var p in props) menuitem.setAttribute(p, props[p]);
    
        var popup = document.getElementById('menu_FilePopup')
        popup.insertBefore(menuitem, document.getElementById('menu_FileQuitItem'));
    
    })();
    Alles anzeigen

    Dieses Script sortiert die Emails auf einen Schlag wie gewünscht.

    Ganz unten stehen als Kommentar weitere Befehle, die zu einer anderen Sortierung führen.

    Darüber geht auch ein gruppiertes Sortieren nach Datum absteigend bei gleichzeitigem Öffnen aller Gruppen.

    Mit goDoCommand("cmd_previousMsg") und gFolderDisplay.clearSelection() kann experimentiert werden, wie die Markierung einer Email zum Schluß gesetzt wird. (Wollte eigentlich immer die oberste markieren, den Code habe ich aber nicht herausgefunden)

    Code
    //SpecialSortEmails.uc.js
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
    
        var toolbarbutton = document.createElement('toolbarbutton');
        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
        var buttonicon = "sort.png"
        var props = {
            id: 'SortEmail-button',
            label: 'Sortieren',
            tooltiptext: 'Sortiert und gruppiert alle Emails nach Datum',
    
            style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
    
            class: 'toolbarbutton-1',
            onclick:
            'if (event.button == 0 || event.button == 1) { \
                MsgSortThreadPane("byDate"); MsgSortDescending(); MsgSortUnthreaded(); goDoCommand("cmd_previousMsg"); \
            };'
        };
    
        for (var p in props) toolbarbutton.setAttribute(p, props[p]);
    
        var toolbox = document.getElementById("mail-toolbox");
        toolbox.palette.appendChild(toolbarbutton);
    
        var toolbar = document.getElementById("mail-bar3");
        toolbar.insertItem("SortEmail-button", toolbar.lastChild);
    
    })();
    
    //MsgSortThreadPane("byDate"); MsgSortDescending(); MsgGroupBySort(); goDoCommand("cmd_selectAll"); gFolderDisplay.clearSelection();
    //MsgSortThreadPane("byDate"); MsgSortDescending(); MsgSortUnthreaded(); goDoCommand("cmd_selectAll"); goDoCommand("cmd_previousMsg");
    Alles anzeigen

    Nutzen und freuen! :thumbsup:

    Einmal editiert, zuletzt von Thomas S. (8. Oktober 2019 um 10:55)

  • edvoldi
    Moderator
    Reaktionen
    266
    Beiträge
    7.540
    Mitglied seit
    23. Dez. 2005
    Hilfreiche Antworten
    32
    • 6. Oktober 2019 um 14:08
    • #2

    Hallo Thomas S.,

    ich habe mir einmal das Script MarkAllEmailRead.uc.js geladen.
    Ich arbeite in der Mail Ansicht "Gruppiert", leider funktioniert das Script dort nicht, sondern nur in der Ansicht "Alle" und auch nur wenn ich mich in dem Mailkonto befinde, was ja auch kein Problem ist.

    Nur verschieben kann ich den Button unter Windows nicht, er steht immer wieder hinten wenn ich Thunderbird Neustarte.

    Egal ob TB 68.x oder TB60,X


    Gruß
    EDV-Oldi

    WIN11 Home Version 24H2 (Build 26100.3915)

    Thunderbird 128.10.0esr (64-Bit)
    Thunderbird - Beta 139.0b2 (64-Bit)
    Thunderbird - Daily 140.0a1 (64-Bit)

    Firefox 138.0 (64-Bit)

    Thunderbird-Kalender: FAQ / Erweiterungen für den Kalender / Meine Erweiterungen

    Keine Forenhilfe per Konversation!

  • Harff182
    Mitglied
    Reaktionen
    6
    Beiträge
    87
    Mitglied seit
    20. Jun. 2015
    • 6. Oktober 2019 um 15:23
    • #3
    Zitat von edvoldi

    Nur verschieben kann ich den Button unter Windows nicht, er steht immer wieder hinten wenn ich Thunderbird Neustarte.

    Das liegt IMHO jeweils an dieser Zeile:  toolbar.insertItem("restartThunderbird-button", toolbar.lastChild);.

    Kann man bestimmt irgendwie mit "before" oder "after" lösen, ich kanns leider nicht.

    Bei meinen Buttons in der "tabbar-toolbar" hab ich mich beholfen, die Scripte mit einem Prefix ("1_", "2_", "3_",...) zu versehen um die gewünschte Reihenfolge zu erreichen.

    Ich hab noch diesen Codeschnipsel in einem meiner Scripts gefunden, der Dir vielleicht weiterhilft:

    JavaScript
        var newposition = document.getElementById("button-newmsg");
        var toolbar = document.getElementById("mail-bar3");
        toolbar.insertItem("EmptyTrashFolder-button", newposition);

    W11 Home 64bit - TB 115.x (64-Bit) Portable

    Einmal editiert, zuletzt von Harff182 (6. Oktober 2019 um 16:05) aus folgendem Grund: Schreibfehler beseitigt, Code hinzugefügt

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 6. Oktober 2019 um 17:27
    • #4
    Zitat von edvoldi

    Ich arbeite in der Mail Ansicht "Gruppiert", leider funktioniert das Script dort nicht

    Hm, das kann ich nicht nachvollziehen. Liegt es an meinem Linux?

    Egal, wie ich die Ansicht der Emails sortiere oder gruppiere, ungelesene werden sofort als gelesen markiert... :/

    Aber alle Varianten kann ich auch nicht testen.

    Der verwendete Befehl ist eigentlich unabhängig von der Darstellung.

    Zu den Positionen: das ist mir generell dann aufgefallen, wenn ich TB direkt "restarted" habe. Dann sind alle immer rechts einsortiert.

    Normales Beenden / Fenster schließen behält die Position bzw. stellt sie auch wieder her.

    Bei den Tests (auch mit anderen Varianten der Einbindung von Scripten) hatte ich aber auch einmal ein "defektes" Profil erhalten, das sich durch dauerhaftes Auftreten dieses Fehlers zeigte. Die Buttonsposition wurde gar nicht mehr gespeichert. Mir half dann nur ein gesichertes Profil weiter.

    Ich suche noch nach einer anderen Möglichkeit als die Position .lastChild hergibt...

  • edvoldi
    Moderator
    Reaktionen
    266
    Beiträge
    7.540
    Mitglied seit
    23. Dez. 2005
    Hilfreiche Antworten
    32
    • 6. Oktober 2019 um 17:34
    • #5

    Im meinem Script, Restart mit Cache löschen, habe ich folgenden Eintrag für ein Symbol in einem Menü.

    Code
        var popup = document.getElementById('menu_FilePopup')
        popup.insertBefore(menuitem, document.getElementById('menu_FileQuitItem'));

    Leider bekomme ich das nicht für die tabbar-toolbar angepasst.

    Mit diesem Code:

    Code
    toolbar.insertItem("aboutconfig-toolbar", document.getElementById('ExtraConfigMenu-button')); 

    kann ich zwar ein Button angeben, aber ich bekomme damit keine vernünftige Reihenfolge zustande.


    Gruß
    EDV-Oldi

    WIN11 Home Version 24H2 (Build 26100.3915)

    Thunderbird 128.10.0esr (64-Bit)
    Thunderbird - Beta 139.0b2 (64-Bit)
    Thunderbird - Daily 140.0a1 (64-Bit)

    Firefox 138.0 (64-Bit)

    Thunderbird-Kalender: FAQ / Erweiterungen für den Kalender / Meine Erweiterungen

    Keine Forenhilfe per Konversation!

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 6. Oktober 2019 um 17:45
    • #6

    Funktioniert hatte diese Angabe (siehe auch hier).

    Der neue Button wird hier vor dem AddOn-Button eingefügt.

    Code
    var toolbar = document.getElementById("mail-bar3");
    var newposition = document.getElementById("button-addons");
    toolbar.insertItem("EmptyTrashFolder-button", newposition);

    Man benötigt die ID (hier der Buttonbezeichner "button-addons") als Parameter.

    Geht aber auch nur eingeschränkt (der Butoon muß sichtbar bzw. aktiv sein.

  • edvoldi
    Moderator
    Reaktionen
    266
    Beiträge
    7.540
    Mitglied seit
    23. Dez. 2005
    Hilfreiche Antworten
    32
    • 6. Oktober 2019 um 18:38
    • #7

    Das funktioniert bei mir leider alles nicht.

    Nur damit Du es verstehst, ich versuche das in meine Scripts einzubinden.
    Hier die Scripts um die es geht:

    // aboutconfig-button.uc.js

    Code
    // aboutconfig-button.uc.js
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
    
        var toolbarbutton = document.createElement('toolbarbutton');
        var props = {
            id: 'aboutconfig-toolbar',
            label: 'About:Config',
            tooltiptext: 'About:Config',
            style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAACXBIWXMAACcPAAAnDwGrs%2B%2FJAAAAB3RJTUUH1AwRDyUGYuIbjQAAAwRJREFUOMuFkV1rWwUAhp%2BTnnNyPpOsbjVZsSC6sVHY1hXZ1RiIon%2FAC7%2BmF16Jv2RjwnDTXfiBoHUoanQLrDpvhMKgiHajq7NN89E0aU6bpM35zDnJOV5YpmMXPnfvzcPL%2BwoAFy9%2BPh4nPB3HcT6Oh4U4Jm%2FoSkHTtbyiyAVZlvOSLOYdx3V%2BujX%2F2tzc1dvsI1y%2B%2FNV7x6afeT%2BbMSVFVdDUNIqiMIpHhGFEGIYMwoixVIqG43Ll65uN%2B1370nZ57Vqw8E0g3Cgt9E%2FNHDdr9SbBICQMI6IoIkl4hPstC236CAefyLO49CfFYrFU%2B%2FLSK6m0LJqO4xEEIfVala3WJrqmYegaVrvJtSsXWL67SM12mDhUwB9EjOKEzPihl0mNnUulhARVkdF0jbkvPuZW6XsUJY2ma%2Bz2djhz5jQvvXiWqYkD%2FHZvlXsra1TrG3St1oB4NC4igKKkMXQDSRRRNQ1VVZEkGV03mDlxhEqlwrBapqNO8nt9i85W02%2F%2FemMBuCNG0RAhJaLrGrphYJomuq4hSTJpWeKTTz%2Fj2PGTvHH%2BHXIZgzfPv11bunn9AjAPrIuDcISQGkPXVQQgk8lgGBqiKJHNZZl4cpITJ2cwDB0vCEmGowgoAk2AVBAMIIkxNYmppw7T2Wkhjf2TTT1NLmOQyyiYmoTtOAxHw0feET0%2FIApD5GyaQiHP7Ows3%2F7wHTsHpqh3XTpDjeclEVkWsPsuw%2BFjAh%2FH9TBNheXlFYIgoDc5zQtnn%2BOw5bGo6hSXNzl9KqJvO48LfM%2FHdnyyXsirr7%2BF67r8aEW0dny6uzau51Hd3KbXc%2Bh0domiMAGSfwV%2BgG17eEHEs0enASgVb7P4xwq247Be3eBgHDH%2Fyx3Kq38l9Vp5A%2FAfClzPGz5YrYjt7Q6eH%2BC6HnnX5uelu%2FQTkqDd9MWg53xQut5rtxtrltX4ENh7KKitlz9ybOdd294Lt62mY7Wbvf5et9Xv71Z6PetBGA7WK1Dfv60DuP%2FdQABk4ByQAxrAJtDdrznif%2FgbTgGEQikOjI8AAAAASUVORK5CYII%3D)',
            class: 'toolbarbutton-1',
            onclick:
                    'if (event.button == 0) { \
                            var tabmail = document.getElementById("tabmail"); \
                            tabmail.openTab("contentTab", { contentPage: "about:config" }); \
                    };'
        };
        for (var p in props) toolbarbutton.setAttribute(p, props[p]);
    
        var toolbox = document.getElementById("mail-toolbox");
        toolbox.palette.appendChild(toolbarbutton);
    
        var toolbar = document.getElementById("tabbar-toolbar");
        toolbar.insertItem("aboutconfig-toolbar", document.getElementById('ExtraConfigMenu-button')); 
    
    })();
    Alles anzeigen

    // Addons-Update-Check-Button.uc.js

    Code
    // Addons-Update-Check-Button.uc.js
    
    "use strict";
    (function() {
      if (location != 'chrome://messenger/content/messenger.xul') return;
    
        var toolbarbutton = document.createElement('toolbarbutton');
        var props = {
            id: 'addons-update-button',
            label: 'Add-ons Update',
            tooltiptext: '',
            style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gIGDi8Bp3Y5ZAAAAphJREFUOMt1k9trFVcUxn97z5yLeMBW0STnIEmjiE3jjVhBLJSWBoU+tLVQREGf+iQRGvFBBC/Qgpcn8VUKQv+A6lublhZf8lRQQwSTgCalJMVzMjNnZs+c2Xtmtg/B2zFZT3uzvu9ba+39LcEqsfUc/HsDGuN8tXtg5AMhRXl+ab41/eD53Q1baAY/v8YK1oiPf2qcOfvNhZu4FpUFeHGT3yb/WJwYe1R/E+euJVBkuEHHQ5YtofZpG4+O6ZS7cc6bl8Y4hJMr58W/w8mnm6dmdgxu+zYpIv6Zfnh/4vTUULfAOyMcurbtyud7v7iobYosQaXmEOmAZthkqfk/iYlJ8wSvpcyT+2rY6RY4de67v/obWylVJYWriXRAZAI6VmGrGioaW9WUN2ZOkeeBBBj5sT6273LfDwDGpoTaJzQ+ofaJTEBk2qgsJDERcRbT9hUmM0hX5E5jnK+vHL9+Z9f24cMLvY/ndg5uP5q7elVyUsQszoYz02c6/bqvIGnZGXfPwMgApQJp4cSXx35JbLQ6OY9JiwTlm3uAat6yF1a+UYqKygJC7ZOiiNYi5wm5NVAQv+WD+aWFlpc0aWuPB4+nJjfVaweNTN4hZ4VBCJAlMQzAp/SX3sN1ntfUvK2qk3PPnnYmTk/t7D287rKt6lczp8VKZSHAWqjU5IeVfRxqHHBvSYe2+36d1sTYo76XLSUmBmOJs5UHU765hyWRJfHRxkHnaHk99Aw5o0JC8J/IXe/22z5I8wTygravmD2f7gWSlzl5id97hpxRa1/Brezai4rXUlbbBLeWs+l7cRXoBersYH9tixwVEoQDNofOsk27l2n97K/qs55P5BHpily3WQAsgFPDWZ7Lr/rPRI5AdDyrlv8sbr4AjzKFxdWBwzsAAAAASUVORK5CYII=)',
            class: 'toolbarbutton-1',
            onclick:
                    'if (event.button == 0) { \
                            var tabmail = document.getElementById("tabmail"); \
                            tabmail.openTab("contentTab", { contentPage: "about:addons" }); \
                    };'
        };
        
        for (var p in props) toolbarbutton.setAttribute(p, props[p]);
    
        var toolbox = document.getElementById("mail-toolbox");
        toolbox.palette.appendChild(toolbarbutton);
    
        var toolbar = document.getElementById("tabbar-toolbar");
        toolbar.insertItem("addons-update-button", document.getElementById('ExtraConfigMenu-button')); 
        
      function onCommand(event) {
        let frameScript = function() {
          addEventListener('pageshow', function onPageshow(event) {
            if (event.target.location != 'about:addons')
              return;
            content.gViewController.doCommand('cmd_findAllUpdates');
            content.gViewController.doCommand('cmd_goToAvailableUpdates');
            removeEventListener('pageshow', onPageshow);
          });
        };
    
        window.gBrowser.selectedBrowser.messageManager.loadFrameScript(frameScriptURI, true);
      };
    
    
    })();
    Alles anzeigen

    WIN11 Home Version 24H2 (Build 26100.3915)

    Thunderbird 128.10.0esr (64-Bit)
    Thunderbird - Beta 139.0b2 (64-Bit)
    Thunderbird - Daily 140.0a1 (64-Bit)

    Firefox 138.0 (64-Bit)

    Thunderbird-Kalender: FAQ / Erweiterungen für den Kalender / Meine Erweiterungen

    Keine Forenhilfe per Konversation!

  • edvoldi
    Moderator
    Reaktionen
    266
    Beiträge
    7.540
    Mitglied seit
    23. Dez. 2005
    Hilfreiche Antworten
    32
    • 6. Oktober 2019 um 18:41
    • #8
    Code
    //RestartThunderbird.uc.js
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
    
        // toolbox
        var toolbarbutton = document.createElement('toolbarbutton');
        var props = {
            id: 'restartthunderbird-toolbar',
            label: 'Neustart',
            tooltiptext: 'Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)',
            style: 'list-style-image: 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)',
            class: 'toolbarbutton-1',
            onclick:
                'if (event.button == 1 || event.button == 2) { \
                    event.preventDefault(); \
                    Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).invalidateCachesOnRestart(); \
                }; \
                BrowserUtils.restartApplication();'
        };
        for (var p in props) toolbarbutton.setAttribute(p, props[p]);
    
        var toolbox = document.getElementById("mail-toolbox");
        toolbox.palette.appendChild(toolbarbutton);    
    
        var toolbar = document.getElementById("tabbar-toolbar");
        toolbar.insertItem("restartthunderbird-toolbar", toolbar.lastChild);
        
        // popup
        var menuitem = document.createElement('menuitem');
        var props = {
            id: 'restartthunderbird-popup',
            label: 'Neustart',
            tooltiptext: 'Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)',
            style: 'list-style-image: 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)',
            class: 'menuitem-iconic',
            onclick:
                'if (event.button == 1 || event.button == 2) { \
                    event.preventDefault(); \
                    Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).invalidateCachesOnRestart(); \
                }; \
                BrowserUtils.restartApplication();'
        };
        for (var p in props) menuitem.setAttribute(p, props[p]);
    
        var popup = document.getElementById('menu_FilePopup')
        popup.insertBefore(menuitem, document.getElementById('menu_FileQuitItem'));
    
        // pane
        var menuitem = document.createElement('menuitem');
        var props = {
            id: 'restartthunderbird-pane',
            label: 'Neustart',
            tooltiptext: 'Neustart (mit Rechts- und Mittelklick wird userChrome.js-Cache geleert)',
            style: 'list-style-image: 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)',
            class: 'menuitem-iconic',
            onclick:
                'if (event.button == 1 || event.button == 2) { \
                    event.preventDefault(); \
                    Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).invalidateCachesOnRestart(); \
                }; \
                BrowserUtils.restartApplication();'
        };
        for (var p in props) menuitem.setAttribute(p, props[p]);
    
        var pane = document.getElementById('appmenuPrimaryPane');
        pane.insertBefore(menuitem, document.getElementById('appmenu-quit'));
    
    })();
    Alles anzeigen

    WIN11 Home Version 24H2 (Build 26100.3915)

    Thunderbird 128.10.0esr (64-Bit)
    Thunderbird - Beta 139.0b2 (64-Bit)
    Thunderbird - Daily 140.0a1 (64-Bit)

    Firefox 138.0 (64-Bit)

    Thunderbird-Kalender: FAQ / Erweiterungen für den Kalender / Meine Erweiterungen

    Keine Forenhilfe per Konversation!

  • edvoldi
    Moderator
    Reaktionen
    266
    Beiträge
    7.540
    Mitglied seit
    23. Dez. 2005
    Hilfreiche Antworten
    32
    • 6. Oktober 2019 um 18:46
    • #9

    Das letzte Script ist für unsere Seite hier zu groß.

    Du solltest Dir das aber hier

    https://send.firefox.com/download/03904…aY9XuucrzCzxcoQ

    herunterladen können.


    Gruß
    EDV-Oldi

    WIN11 Home Version 24H2 (Build 26100.3915)

    Thunderbird 128.10.0esr (64-Bit)
    Thunderbird - Beta 139.0b2 (64-Bit)
    Thunderbird - Daily 140.0a1 (64-Bit)

    Firefox 138.0 (64-Bit)

    Thunderbird-Kalender: FAQ / Erweiterungen für den Kalender / Meine Erweiterungen

    Keine Forenhilfe per Konversation!

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 6. Oktober 2019 um 19:16
    • #10

    Dein Script "RestartThunderbird.uc.js" war die Grundlage für mein Script "RestartThunderbird.uc.js".

    Der Code ist im Prinzip identisch, nur kleine Anpassungen, nur Links- und Mittelklick (kein Rechtsklick) und eine Verknüpfung mit einer Icon-Datei im Profilordner (kein base64 Code).

    Zum Testen habe Ich die letzte Zeile noch mal geändert in toolbar.insertItem("MarkAllEmailRead-button") ohne zweiten Parameter.

    TB (hier v68) scheint sich seltsam zu verhalten beim Starten.

    Die gespeicherte Position des Buttons wird nur verwendet, wenn TB normal beendet und neu gestartet wird.

    Bei einem sofortigen Restart wird die gespeicherte Position nicht verwendet, der Button liegt dann in der Toolbox und wird nicht angezeigt.

    Bei Verwendung von toolbar.insertItem("MarkAllEmailRead-button", toolbar.lastChild) wird der Button dann auf die Standardposition ganz hinten einsortiert. firstChild positioniert ihn ganz links.

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 6. Oktober 2019 um 20:17
    • #11

    Das letzte große Script von Dir funktioniert bei mir nicht.

    Das im Script als Ziel angegebene Menü zum Anlegen des neuen Untermenüs existiert nicht. Die ID ist schlicht falsch / nicht vorhanden.

    Ausgabe Konsole:


    [box]

    userChromeJS extras_config_menu.uc.js findet Zielpunkt 'task-tab-button' 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.[/box]

    Zwei Änderungen helfen:

    Zeile 19: warpmenuto: 'sanitizeHistory',

    Zeile 42: var zielmenu = document.getElementById('taskPopup');

    Legt das neue Untermenü unter "Extras" und da unterhalb von "Neueste Chronik löschen" an.

    Ist das aber nicht der letzte Eintrag, dann ist das Symbol vor diesem letzten Eintrag.

    Insofern würde hier eine Umstellung auf "lastChild" helfen, ist aber umfangreich.

  • edvoldi
    Moderator
    Reaktionen
    266
    Beiträge
    7.540
    Mitglied seit
    23. Dez. 2005
    Hilfreiche Antworten
    32
    • 6. Oktober 2019 um 20:20
    • #12
    Zitat von Thomas S.

    'task-tab-button'

    Das ist der Tab von dem Aufgaben in Lightning, hast Du den nicht?

    WIN11 Home Version 24H2 (Build 26100.3915)

    Thunderbird 128.10.0esr (64-Bit)
    Thunderbird - Beta 139.0b2 (64-Bit)
    Thunderbird - Daily 140.0a1 (64-Bit)

    Firefox 138.0 (64-Bit)

    Thunderbird-Kalender: FAQ / Erweiterungen für den Kalender / Meine Erweiterungen

    Keine Forenhilfe per Konversation!

  • mrb
    Senior-Mitglied
    Reaktionen
    111
    Beiträge
    24.310
    Mitglied seit
    13. Jun. 2004
    Hilfreiche Antworten
    8
    • 6. Oktober 2019 um 22:43
    • #13

    Hallo,

    Frage: diese Skripts funktionieren wahrscheinlich nicht in Versionen bis 60.0?

    2) Gibt es einen Link, in dem Evoldi die Voraussetzungen für Scripts erklärt?

    Gruß

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 6. Oktober 2019 um 22:43
    • #14
    Zitat von edvoldi

    Das ist der Tab von dem Aufgaben in Lightning, hast Du den nicht?

    Doch, in der Tat habe ich den (ganz rechts neben der Tab-Leiste).

    Aber warum gibt TB dann einen Fehler aus, weil er ihn bzw. die ID nicht findet?

    Sehr seltsam...

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 6. Oktober 2019 um 22:44
    • #15
    Zitat von mrb

    Gibt es einen Link, in dem Evoldi die Voraussetzungen für Scripts erklärt?

    Ist der oberste festgepinnte Post in diesem (Unter-) Forum.

  • edvoldi
    Moderator
    Reaktionen
    266
    Beiträge
    7.540
    Mitglied seit
    23. Dez. 2005
    Hilfreiche Antworten
    32
    • 6. Oktober 2019 um 22:49
    • #16

    alle meine Sripts laufen von TB 60 bis TB 71.

    Und die Voraussetzung für Sritps ist die selbe wie im Firefox.

    Ich habe das auch hier im Forum auch angepinnt. Nur vom Smartphone Finde ich das im Moment nicht

    WIN11 Home Version 24H2 (Build 26100.3915)

    Thunderbird 128.10.0esr (64-Bit)
    Thunderbird - Beta 139.0b2 (64-Bit)
    Thunderbird - Daily 140.0a1 (64-Bit)

    Firefox 138.0 (64-Bit)

    Thunderbird-Kalender: FAQ / Erweiterungen für den Kalender / Meine Erweiterungen

    Keine Forenhilfe per Konversation!

  • edvoldi
    Moderator
    Reaktionen
    266
    Beiträge
    7.540
    Mitglied seit
    23. Dez. 2005
    Hilfreiche Antworten
    32
    • 6. Oktober 2019 um 22:51
    • #17

    ich habe es doch gefunden .

    Anpassung per userChromeJS (per Script) - ab Version 60+

    WIN11 Home Version 24H2 (Build 26100.3915)

    Thunderbird 128.10.0esr (64-Bit)
    Thunderbird - Beta 139.0b2 (64-Bit)
    Thunderbird - Daily 140.0a1 (64-Bit)

    Firefox 138.0 (64-Bit)

    Thunderbird-Kalender: FAQ / Erweiterungen für den Kalender / Meine Erweiterungen

    Keine Forenhilfe per Konversation!

  • mrb
    Senior-Mitglied
    Reaktionen
    111
    Beiträge
    24.310
    Mitglied seit
    13. Jun. 2004
    Hilfreiche Antworten
    8
    • 6. Oktober 2019 um 23:33
    • #18

    Danke! Klappt bestens!

    Gruß

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 7. Oktober 2019 um 09:20
    • #19
    Zitat von edvoldi

    Das ist der Tab von dem Aufgaben in Lightning, hast Du den nicht?

    Bei mir ist das auch ein Button in einer separaten Leiste rechts neben der Tableiste (im Prinzip also kein Tab).

    Diese kleine Leiste mit Kalender- und Aufgaben-Button wird von Lightning erzeugt.

    Und mir ist beim Testen aufgefallen, daß die Scripte ausgeführt werden, bevor diese kleine Leiste angezeigt wird.

    Da ist eine deutliche Verzögerung. Alle User-Buttons (auch die in der Tab-Leiste) sind praktisch sofort da, Kalender- und Aufgaben-Button erscheinen erst ganz zum Schluß. Hängt wohl vom Lightning AddOn so ab.

    Daher wohl eine zeitkritische Angelegenheit beim Programmstart. Was nicht da ist wird auch nicht per ID erkannt.

  • edvoldi
    Moderator
    Reaktionen
    266
    Beiträge
    7.540
    Mitglied seit
    23. Dez. 2005
    Hilfreiche Antworten
    32
    • 7. Oktober 2019 um 09:36
    • #20
    Zitat

    Kalender- und Aufgaben-Button erscheinen erst ganz zum Schluß

    Das ist bei mir in der 68.x Version genauso, erst nach einem Restart ist es so wie ich es haben möchte .

    Das Problem ist im Moment erst in der Version 71 behoben.

    WIN11 Home Version 24H2 (Build 26100.3915)

    Thunderbird 128.10.0esr (64-Bit)
    Thunderbird - Beta 139.0b2 (64-Bit)
    Thunderbird - Daily 140.0a1 (64-Bit)

    Firefox 138.0 (64-Bit)

    Thunderbird-Kalender: FAQ / Erweiterungen für den Kalender / Meine Erweiterungen

    Keine Forenhilfe per Konversation!

Aktuelle Programmversion

  • Thunderbird 138.0 veröffentlicht

    Thunder 30. April 2025 um 00:04

Aktuelle ESR-Version

  • Thunderbird 128.10.0 ESR veröffentlicht

    Thunder 29. April 2025 um 23:24

Keine Werbung

Hier wird auf Werbeanzeigen verzichtet. Vielleicht geben Sie dem Website-Betreiber (Alexander Ihrig - aka "Thunder") stattdessen etwas aus, um diese Seiten auf Dauer finanzieren zu können. Vielen Dank!

Vielen Dank für die Unterstützung!

Kaffee ausgeben für:

Per Paypal unterstützen*

*Weiterleitung zu PayPal.Me

Thunderbird Mail DE
  1. Impressum & Kontakt
  2. Datenschutzerklärung
    1. Einsatz von Cookies
  3. Nutzungsbedingungen
  4. Spendenaufruf für Thunderbird
Hilfe zu dieser Webseite
  • Übersicht der Hilfe zur Webseite
  • Die Suchfunktion benutzen
  • Foren-Benutzerkonto - Erstellen (Neu registrieren)
  • Foren-Thema erstellen und bearbeiten
  • Passwort vergessen - neues Passwort festlegen
Copyright © 2003-2025 Thunderbird Mail DE

Sie befinden sich NICHT auf einer offiziellen Seite der Mozilla Foundation. Mozilla®, mozilla.org®, Firefox®, Thunderbird™, Bugzilla™, Sunbird®, XUL™ und das Thunderbird-Logo sind (neben anderen) eingetragene Markenzeichen der Mozilla Foundation.

Community-Software: WoltLab Suite™