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
  • Deutsch
  • Anmelden
  • Registrieren
  • 
  • Suche
Dieses Thema
  1. Thunderbird Mail DE
  2. Forum
  3. Hilfe zu Add-ons und manuellen Anpassungen
  4. Manuelle Anpassungen per CSS oder Script

Funktion für Script gesucht (userButton für "Ordner leeren" erstellen)

    • 68.*
    • Linux
  • Thomas S.
  • 30. September 2019 um 11:49
  • Geschlossen
  • Erledigt
  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 30. September 2019 um 11:49
    • #1

    Um Rückfragen vorzubeugen, bitten wir um folgende Angaben:

    • Thunderbird-Version: 68.x
    • Betriebssystem + Version: Linux Mint Cinnamon 19.2

    Hallo.

    Ich migriere gerade von Outlook 2010 zu TB.

    Viel zu tun, aber das Meiste habe ich schon hinbekommen.

    Mir fehlen ein paar in Outlook sehr gerne verwendete Standard-Buttons zur Verwaltung der Nachrichten und Ordner.

    Hier z.B. einen zum leeren von Ordnern (egal, welche Variante: Papierkorb oder x-beliebiger anderer Ordner).

    Der Standard-Löschbutton will ja den ganzen Ordner löschen (was ich etwas merkwürdig finde). Oder kann man das Verhalten ändern? Nichts dazu gefunden.

    Das Anlegen von Extra-Buttons per userScript kann ich schon :) (zumindest das Grundgerüst).

    Einiges ist ja hier im Forum schon beschrieben oder kann von Firefox kopiert / angepaßt werden.

    Was mir aber immer schon Probleme gemacht hat, ist das Herausfinden der richtigen Funktion / des Befehls im Script zur Erledigung der gewünschten Aufgabe.

    Hier speziell suche ich nach der Funktion, die ohne große Rückfrage einen Ordner leert (und nicht den Ordner löscht).

    Dabei kann der Inhalt ohne das er markiert wurde in den Papierkorb verschoben werden.

    Ist es ein Papierkorb, soll der ebenfalls geleert werden.

    "doEmtyFolder()" habe ich mir als Hinweis ausgedacht (der geht natürlich nicht), das wäre so ein Befehl, den ich suche.

    Gibt es denn vielleicht eine Liste der internen Befehle?

    Danke für die Hilfe.

    PS.: hier noch das kleine Script-Gerüst.

    Für Interessierte : ich habe eine unsiverselle Pfadansprache für die Button-Icons verwendet. Die funktioniert unter Linux und Windows (wegen der Backslashes) und braucht nicht angepaßt zu werden. Setzt in dieser Form die Button-Icons im Verzeichnis %Profilordner%/chrome/icons/ (bzw. unter Win %Profilordner%\chrome\icons\) vorraus.

    Code
    //DrainFolderThunderbird.uc.js
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
    
    
    
        // toolbox
        var toolbarbutton = document.createElement('toolbarbutton');
        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
        var buttonicon = "drain.png"
        var props = {
            id: 'drainFolder-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) { \
                doEmtyFolder(); \
            };'
        };
    
        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("drainFolder-button", toolbar.lastChild);
    
    })();
    Alles anzeigen
  • graba 30. September 2019 um 12:10

    Hat das Thema freigeschaltet.
  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 30. September 2019 um 22:40
    • #2

    Habe selbst den Befehl zum Leeren des Papierkorbs gefunden.

    gFolderTreeController.emptyTrash()

    Gibt es einen ähnlichen Befehl zum Leeren anderer Ordner (Verschieben der Nachrichten in den Papierkorb)?

    Script für einen zusätzlichen Button, der den Papierkorb des aktuell im Konten- / Ordnerfenster selektierten Kontos / Lokalen Ordners löscht. Der Papierkorb muß dazu nicht selektiert sein.

    Code
    //EmptyTrashFolderThunderbird.uc.js
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
    
        // toolbox
        var toolbarbutton = document.createElement('toolbarbutton');
        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
        var buttonicon = "trash.svg"
        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
  • Harff182
    Mitglied
    Reaktionen
    6
    Beiträge
    89
    Mitglied seit
    20. Jun. 2015
    • 2. Oktober 2019 um 17:23
    • #3

    Danke fürs teilen, hat auch bei mir einen Platz gefunden ;)

    Was muß ich in der Zeile 32

    toolbar.insertItem("EmptyTrashFolder-button", toolbar.lastChild);

    ändern, um das weiter links, zwischen "Verfassen" und "Chat" zubekommen?

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

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 2. Oktober 2019 um 18:29
    • #4

    Bitte, gerne.

    Und wenn ich das genau wüsste... Bin keiner, der sich wirklich auskennt!

    Es geht z.B. "firstChild". Und natürlich ein händisches Verschieben.

    Und das geht (der Neue 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) als Parameter.

    Habe diese Codeschnipsel auch nur im Prinzip zusammengesucht.

    Und statt "mail-bar3" (die Standard Symbol- / Buttonleiste) kann u.a. stehen:

    mail-toolbar-menubar2 (Menüleiste)

    tabbar-toolbar (Toolbar in der Tableiste rechts)

    Diese "IDs" und "Orte" habe ich mit dem Inspektor herausgefunden oder hier im Forum aus anderen Beispielen.

    Habe aber den Eindruck, daß das nicht ganz zuverlässig klappt.

    Ist auch sehr von der TB-Version abhängig.

  • Harff182
    Mitglied
    Reaktionen
    6
    Beiträge
    89
    Mitglied seit
    20. Jun. 2015
    • 2. Oktober 2019 um 19:17
    • #5
    Zitat von Thomas S.
    ....

    Und wenn ich das genau wüsste... Bin keiner, der sich wirklich auskennt!

    Und das geht (der Neue 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) als Parameter.

    Danke Thomas, hat geklappt :thumbsup: und ich hab auch wieder ein wenig dazugelernt :)

    :whistling: Ich bin auch nur ein "Jäger und Sammler" und versuche mit interessante Sachen TB und FF für mich zu pimpen und beim Abgucken/Anpassen auch noch was zu lernen.

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

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 7. Oktober 2019 um 09:49
    • #6

    Lösungen siehe hier.

  • Harff182
    Mitglied
    Reaktionen
    6
    Beiträge
    89
    Mitglied seit
    20. Jun. 2015
    • 2. November 2019 um 16:50
    • #7
    Zitat von Thomas S.

    Habe selbst den Befehl zum Leeren des Papierkorbs gefunden.

    gFolderTreeController.emptyTrash()

    Wo/wie hattest Du das denn gefunden?

    Ich möchte jetzt dasselbe für "Junk" haben/machen - hab aber kein Plan wo ich suchen/nachgucken soll...

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

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 2. November 2019 um 20:36
    • #8

    In den Tiefen des www :S

    Oder z.B. in einer alten Erweiterung, die das macht, was man will, im Code nachsehen.

    Oder die Befehle der Funktion goDoCommand("cmd_xxx")

    hier zu finden

    Das Problem ist, das ich keine umfassende Referenz gefunden habe, alles setzt sich aus vielen Einzelfundstellen im www zusammen. Googlen, lesen, probieren...

    Du brauchst wahrscheinlich cmd_deleteJunk, was ich nicht verwende, weil ich Junk erst liste, den Betreff ansehe und dann mit "Ordner leeren" die Junk lösche. Brauch also keinen zusätzlichen Button dafür.

    Einmal editiert, zuletzt von Thomas S. (2. November 2019 um 21:38)

  • Harff182
    Mitglied
    Reaktionen
    6
    Beiträge
    89
    Mitglied seit
    20. Jun. 2015
    • 2. November 2019 um 21:37
    • #9

    Umpfff...

    schon wieder Böhmische Dörfer...

    Nuja, wäre zwar das Sahnehäuptchen gewesen, aber wenn ichs nicht hinbekomme, bricht auch keine Welt zusammen.

    Ich muß ja sowieso erstmal abwarten, bis sich wieder was im Junk-Ordner einfindet...

    Nichtsdestotrotz:

    :thumbsup: Danke, Thomas für den Link, habbich mal was für "Stille Stunden" zum lesen und rumtesten...

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

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 2. November 2019 um 21:44
    • #10
    Zitat von Harff182

    abwarten, bis sich wieder was im Junk-Ordner einfindet

    Nö. Irgendeine Email dahin kopieren...

    Versuche doch mal goDoCommand("cmd_deleteJunk") anstelle gFolderTreeController.emptyTrash() im Code.

    Versuch macht bekanntlich kluch.

  • Harff182
    Mitglied
    Reaktionen
    6
    Beiträge
    89
    Mitglied seit
    20. Jun. 2015
    • 2. November 2019 um 22:32
    • #11
    Zitat von Thomas S.

    Nö. Irgendeine Email dahin kopieren...

    Versuche doch mal goDoCommand("cmd_deleteJunk") anstelle gFolderTreeController.emptyTrash() im Code.

    Versuch macht bekanntlich kluch.

    Wald und Bäume...:wall:

    Jezz is was in Junk drinne.

    Aber weder gFolderTreeController.deleteJunk() noch goDoCommand("cmd_deleteJunk") zeigen Wirkung.

    Hier mein Code:

    JavaScript
    //    EmptyTrashFolderThunderbird.uc.js
    //    ursprünglich von Thomas S. für Trash
    //    https://www.thunderbird-mail.de/forum/thread/82717
    //
    //  gFolderTreeController.emptyTrash(); \  ersetzen gemäß:
    //
    //  https://www.thunderbird-mail.de/forum/thread/82717-funktion-f%C3%BCr-script-gesucht-userbutton-f%C3%BCr-ordner-leeren-erstellen/?postID=450375#post450375
    //
    //  durch:       gFolderTreeController.deleteJunk(); \  
    //  und/oder:    goDoCommand("cmd_deleteJunk"); \
    //    
    
    
    "use strict";
    (function() {
    
        if (location != 'chrome://messenger/content/messenger.xul') return;
    
        // toolbox
        var toolbarbutton = document.createElement('toolbarbutton');
        var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
        var buttonicon = "junk.png"
    
        var props = {
            id: 'EmptyJunkFolder-button',
            label: 'Junk leeren',
            tooltiptext: 'Junk leeren',
    
            style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
    
            class: 'toolbarbutton-1',
            onclick:
            'if (event.button == 0 || event.button == 1) { \
                goDoCommand("cmd_deleteJunk"); \
            };'
        };
    
        for (var p in props) toolbarbutton.setAttribute(p, props[p]);
    
        var toolbox = document.getElementById("mail-toolbox");
        toolbox.palette.appendChild(toolbarbutton);
    
        var newposition = document.getElementById("button-newmsg");
        var toolbar = document.getElementById("mail-bar3");
        toolbar.insertItem("EmptyJunkFolder-button", newposition);
    
    })();
    Alles anzeigen

    Oder habbich irgenwoanders nen Fallstrick eingebaut?

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

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 3. November 2019 um 09:05
    • #12

    Nun ja, dann ist das möglicherweise ;) nicht der Ordner Junk, der da angesprochen wird, sondern alle als Junk markierten Emails, die gerade gelistet werden, die auf einen Schlag weg sind. Egal in welchem Ordner man sich gerade befindet, aber nur im aktuell angezeigten Ordner eben.

  • Thomas S.
    Mitglied
    Beiträge
    95
    Mitglied seit
    30. Sep. 2019
    • 3. November 2019 um 09:11
    • #13

    Ich habe mal gFolderTreeController.emptyTrash() gegoogled.

    Um da hin zu kommen, wo diese Funktion(en) gelistet sind.

    Drittes Ergebnis liefert comm-central: changeset 1089 ... - Mozilla HG

    Darin steht möglicherweise das, was Du suchst...

    Sehe den Code nach "trash" durch und probiere die Funktionen aus.

    Auf eigene Gefahr aber! Ich wars nicht...

    gFolderTreeController.emptyJunk()

    Allgemeon noch eine Anmerkung. Es kann zu Problemen kommen, da im Script nicht geprüft wird, ob der Junk-Ordner gerade angezeigt wird und andere Abhängigkeiten ignoriert werden. Ob und was dann passieren kann, ist mir aber schleierhaft. So kann es z.B. harmlos sein, das ein in TB bereits vorhandener Löschbutton nicht inaktiviert wird, obwohl der Ordner leer ist, aber es kann auch schlimmer kommen. Das Script ist eben sehr simpel.

  • Harff182
    Mitglied
    Reaktionen
    6
    Beiträge
    89
    Mitglied seit
    20. Jun. 2015
    • 3. November 2019 um 13:24
    • #14
    Zitat von Thomas S.

    gFolderTreeController.emptyJunk()

    :ziehtdenhut:

    Damit klappts, wenn der (Unter-) Ordner mit den Junk-Files aktiv ist.

    :thumbsup: Danke, Thomas...

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

  • Community-Bot 3. September 2024 um 20:40

    Hat das Thema geschlossen.

Aktuelle Programmversion

  • Thunderbird 138.0.2 veröffentlicht

    Thunder 20. Mai 2025 um 16:44

Aktuelle ESR-Version

  • Thunderbird 128.10.1 ESR veröffentlicht

    Thunder 14. Mai 2025 um 21:50

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:

3,00 €
1
Per Paypal unterstützen*

*Weiterleitung zu PayPal.Me

Ähnliche Themen

  • Wie kann man den Skriptcache löschen?

    • bege
    • 21. Dezember 2018 um 04:04
    • Manuelle Anpassungen per CSS oder Script
  • Einzelne Ordner nach Windows-Wiederherstellung verschwunden

    • AnnaK
    • 11. Juli 2019 um 00:30
    • Migration / Import / Backups
  • Archivierte Mails scheinen "weg" zu sein

    • Emma2
    • 17. Mai 2019 um 09:00
    • Allgemeines Arbeiten / Konten einrichten / Installation & Update
  • Emails waren "verschwunden"

    • OTS
    • 28. Juni 2018 um 02:09
    • Allgemeines Arbeiten / Konten einrichten / Installation & Update
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™
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Forum
  • Lexikon
  • Artikel
  • Seiten
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern