1. Home
  2. News
  3. Download
    1. Thunderbird Release Version
    2. Thunderbird 140 ESR
    3. Thunderbird 128 ESR
    4. Thunderbird 115 ESR
    5. Thunderbird Beta Version
    6. Language Pack (User Interface)
    7. Dictionaries (Spell Check)
  4. Help & Lexicon
    1. Instructions for Thunderbird
    2. Questions & Answers (FAQ) about Thunderbird
    3. Help for this Website
  5. Forums
    1. Unresolved Threads
    2. Latest Posts
    3. Threads of the last 24 hours
  • Login
  • Register
  • 
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Forum
  • Lexicon
  • Articles
  • Pages
  • More Options
  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.
  • September 30, 2019 at 11:49 AM
  • Closed
  • Thread is Resolved
  • Thomas S.
    Member
    Posts
    95
    Member since
    30. Sep. 2019
    • September 30, 2019 at 11:49 AM
    • #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);
    
    })();
    Display More
  • graba September 30, 2019 at 12:10 PM

    Approved the thread.
  • Thomas S.
    Member
    Posts
    95
    Member since
    30. Sep. 2019
    • September 30, 2019 at 10:40 PM
    • #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);
    
    })();
    Display More
  • Harff182
    Member
    Reactions Received
    6
    Posts
    89
    Member since
    20. Jun. 2015
    • October 2, 2019 at 5:23 PM
    • #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.
    Member
    Posts
    95
    Member since
    30. Sep. 2019
    • October 2, 2019 at 6:29 PM
    • #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
    Member
    Reactions Received
    6
    Posts
    89
    Member since
    20. Jun. 2015
    • October 2, 2019 at 7:17 PM
    • #5
    Quote from 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.
    Member
    Posts
    95
    Member since
    30. Sep. 2019
    • October 7, 2019 at 9:49 AM
    • #6

    Lösungen siehe hier.

  • Harff182
    Member
    Reactions Received
    6
    Posts
    89
    Member since
    20. Jun. 2015
    • November 2, 2019 at 4:50 PM
    • #7
    Quote from 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.
    Member
    Posts
    95
    Member since
    30. Sep. 2019
    • November 2, 2019 at 8:36 PM
    • #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.

    Edited once, last by Thomas S. (November 2, 2019 at 9:38 PM).

  • Harff182
    Member
    Reactions Received
    6
    Posts
    89
    Member since
    20. Jun. 2015
    • November 2, 2019 at 9:37 PM
    • #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.
    Member
    Posts
    95
    Member since
    30. Sep. 2019
    • November 2, 2019 at 9:44 PM
    • #10
    Quote from 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
    Member
    Reactions Received
    6
    Posts
    89
    Member since
    20. Jun. 2015
    • November 2, 2019 at 10:32 PM
    • #11
    Quote from 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);
    
    })();
    Display More

    Oder habbich irgenwoanders nen Fallstrick eingebaut?

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

  • Thomas S.
    Member
    Posts
    95
    Member since
    30. Sep. 2019
    • November 3, 2019 at 9:05 AM
    • #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.
    Member
    Posts
    95
    Member since
    30. Sep. 2019
    • November 3, 2019 at 9:11 AM
    • #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
    Member
    Reactions Received
    6
    Posts
    89
    Member since
    20. Jun. 2015
    • November 3, 2019 at 1:24 PM
    • #14
    Quote from 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 September 3, 2024 at 8:40 PM

    Closed the thread.

Current app version

  • Thunderbird 147.0 veröffentlicht

    Thunder January 15, 2026 at 12:54 PM

Current 140 ESR version

  • Thunderbird 140.7.0 veröffentlicht

    Thunder January 15, 2026 at 12:58 PM

Current 128 ESR version

  • Thunderbird 128.14.0 ESR veröffentlicht

    Thunder August 21, 2025 at 3:04 PM

No Advertisements

There are no advertisements here. Maybe you give the website owner (Alexander Ihrig - aka "Thunder") instead something to be able to finance these sites in the long run. Many Thanks!

Thank you for the support!

Coffee to be spent?

Donate now via Paypal*

*Forwarding to PayPal.Me

Similar Threads

  • Wie kann man den Skriptcache löschen?

    • bege
    • December 21, 2018 at 4:04 AM
    • Manuelle Anpassungen per CSS oder Script
  • Einzelne Ordner nach Windows-Wiederherstellung verschwunden

    • AnnaK
    • July 11, 2019 at 12:30 AM
    • Migration / Import / Backups
  • Archivierte Mails scheinen "weg" zu sein

    • Emma2
    • May 17, 2019 at 9:00 AM
    • Allgemeines Arbeiten / Konten einrichten / Installation & Update
  • Emails waren "verschwunden"

    • OTS
    • June 28, 2018 at 2:09 AM
    • Allgemeines Arbeiten / Konten einrichten / Installation & Update
Thunderbird Mail DE
  1. Imprint & Contact
  2. Privacy Policy
    1. Cookie Policy
  3. Terms of Use
  4. Donation Call for Thunderbird
Help for this website
  • All website support articles
  • How to use website search
  • How to create a forums user account
  • How to create and edit a forums thread
  • How to reset your forums password
Copyright © 2003-2026 Thunderbird Mail DE

You are NOT on an official page of the Mozilla Foundation. Mozilla®, mozilla.org®, Firefox®, Thunderbird™, Bugzilla™, Sunbird®, Seamonkey®, XUL™ and the Thunderbird logo are (among others) registered trademarks of the Mozilla Foundation.

Powered by WoltLab Suite™