1. Startseite
  2. Nachrichten
  3. Herunterladen
    1. Thunderbird Release-Version
    2. Thunderbird 140 ESR
    3. Thunderbird 128 ESR
    4. Thunderbird 115 ESR
    5. Thunderbird Beta-Version
    6. Sprachpaket (Benutzeroberfläche)
    7. 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

Skript für tbkeys gesucht: Verkettung von 4 Befehlen "Antworten, Speichern, Schließen, Nächste Ungelesene"

    • 140 ESR
  • thun.der.bird
  • 13. September 2025 um 15:06
  • Unerledigt
  • thun.der.bird
    Senior-Mitglied
    Reaktionen
    7
    Beiträge
    380
    Mitglied seit
    28. Aug. 2003
    • 13. September 2025 um 15:06
    • #1
    Thunderbird-Produkt
    Thunderbird für Windows
    Thunderbird-Version
    140.2

    Moin.

    Ich verwende seit Ewigkeiten folgenden "Workflow" für eine konkrete Situation:

    Ich lese eine neue Mail und entscheide mich, darauf zu antworten, möchte das aber zu einem anderen Zeitpunkt erledigen. Vergessen möchte ich es nicht.

    Meine 4 Schritte:

    1. Hauptfenster: Antworten
    2. Verfassenfenster: Speichern
    3. Verfassenfenster: Schließen
    4. Hauptfenster: Nächste Ungelesene

    Für diese Einzelschritte funktioniert in tbkeys folgender Code:

    1. Hauptfenster: cmd:cmd_reply
    2. Verfassenfenster: cmd:cmd_saveAsDraft
    3. Verfassenfenster: cmd:cmd_close
    4. Hauptfenster: cm:cmd_nextUnreadMsg

    Wie verkette man diese 4 Befehle zu einem einzigen?

    Ein sog. "Eval-Befehl" funktioniert nicht:

    Code
    "(function () { window.goDoCommand('cmd_reply'); window.goDoCommand('cmd_saveAsDraft'); window.goDoCommand('cmd_close'); window.goDoCommand('cmd_nextUnreadMsg'); })();"


    Früher, als es noch die Erweiterung KeyConfig gab, hatte ich dafür einen Skriptschnipsel für Keyconfig, der es mir erlaubt hat das mit einem einzigen Kürzel, zum Beispiel (S) zu erledigen.

    Code
    var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    .getService(Components.interfaces.nsIWindowMediator);
    var Listener = {
     onWindowTitleChange: function(){}, onCloseWindow: function(){},
     onOpenWindow: function(aWindow){
     wm.removeListener(this);
     this.compose = aWindow.docShell
     .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
     .getInterface(Components.interfaces.nsIDOMWindow);
     this.compose.addEventListener("compose-window-init", this, true);
     },
     handleEvent: function(event){
     event.currentTarget.removeEventListener(event.type, this, true);
     event.currentTarget.gMsgCompose.RegisterStateListener(Listener);
     },
     NotifyComposeFieldsReady: function() {},
     NotifyComposeBodyReady: function() {
     this.compose.gMsgCompose.UnregisterStateListener(this);
     this.compose.window.setTimeout(function(){
     this.goDoCommand("cmd_saveAsDraft");
     this.goDoCommand("cmd_close");
     goDoCommand("cmd_nextUnreadMsg");
     },0);
     }
    }
    wm.addListener(Listener);
    goDoCommand("cmd_reply"); 
    Alles anzeigen

    Kennt jemand einen Weg, die Aufgabe zu realisieren?

    Hintergrund:
    Ich arbeite gerade an einem weiteren öffentlichen Thunderbird-Projekt, neben Easy-Peasy.

    Die Zielgruppe sind normale Nutzer, die den Schwerpunkt auf eine geschmeidigen Bedienung per Tastatur und eine übersichtliche Oberfläche legen.

    Danke.

    Mein Projekt für Menschen mit kognitiven Einschränkungen: Thunderbird Easy-Peasy
    Thunderbirdnutzer der ersten Stunde - seit 2003 : ) | Plattform: macOS | Thunderbird-Version: die jeweils aktuelle ESR

    3 Mal editiert, zuletzt von thun.der.bird (17. September 2025 um 07:17)

  • bege
    Mitglied
    Reaktionen
    7
    Beiträge
    150
    Mitglied seit
    29. Dez. 2008
    Hilfreiche Antworten
    3
    • 14. September 2025 um 20:58
    • #2

    Ich nutze jetzt tbkeys.

    GitHub - wshanks/tbkeys: Custom keybindings for Thunderbird
    Custom keybindings for Thunderbird. Contribute to wshanks/tbkeys development by creating an account on GitHub.
    github.com
  • thun.der.bird
    Senior-Mitglied
    Reaktionen
    7
    Beiträge
    380
    Mitglied seit
    28. Aug. 2003
    • 14. September 2025 um 23:07
    • #3

    Ich auch, das habe ich ja im Ausgangsposting erwähnt: "Ergänzung für die Erweiterung tbkeys".

    Aber wie löst man damit die Aufgabe?

    Mein Projekt für Menschen mit kognitiven Einschränkungen: Thunderbird Easy-Peasy
    Thunderbirdnutzer der ersten Stunde - seit 2003 : ) | Plattform: macOS | Thunderbird-Version: die jeweils aktuelle ESR

  • thun.der.bird
    Senior-Mitglied
    Reaktionen
    7
    Beiträge
    380
    Mitglied seit
    28. Aug. 2003
    • 16. September 2025 um 15:31
    • #4

    Unabhängig von der Hauptaufgabe: weiß jemand, ob man in tbkeys auch Pfeiltasten für Kürzel verwenden kann?

    In tbkeys wird für keybindigs "mousetrap" eingesetzt.

    Bei stackoverflow fand ich:

    Detecting arrow key presses in JavaScript
    How do I detect when one of the arrow keys are pressed? I used this to find out: function checkKey(e) { var event = window.event ? window.event : e;…
    stackoverflow.com


    Ich steige nicht durch.

    Mein Projekt für Menschen mit kognitiven Einschränkungen: Thunderbird Easy-Peasy
    Thunderbirdnutzer der ersten Stunde - seit 2003 : ) | Plattform: macOS | Thunderbird-Version: die jeweils aktuelle ESR

    Einmal editiert, zuletzt von thun.der.bird (17. September 2025 um 07:19)

  • bege
    Mitglied
    Reaktionen
    7
    Beiträge
    150
    Mitglied seit
    29. Dez. 2008
    Hilfreiche Antworten
    3
    • 16. September 2025 um 21:11
    • #5

    Dass du tbkeys bereits verwendest, habe ich überlesen. Sorry. Den Workflow habe ich nicht kapiert und ich bin kein Programmierer sondern nur Bastler. Ich weiß nur, dass der Code in tbkeys als Funktion geschrieben sein muss. Das sähe dann so aus. Aber ob das so funktioniert und ob der Code noch dem aktuellen Thunderbird entspricht, kann ich dir als Bastler nicht sagen.

    Nur falls du es nicht weißt: Im json-Format in tbkeys dürfen innerhalb einer Funktion keine Zeilenschaltungen vorkommen. Ich habe deinen Codeschnipsel hier nur reinkopiert. Du müsstest also in tbkeys alle Zeilenschaltungen innerhalb der Funktion löschen. Und das Komma ganz am Ende nach den Anführungsstrichen nur, wenn es nicht der letzte Eintrag ist.

    Kennst du dieses Forum? https://forums.mozillazine.org/viewtopic.php?t=72994

    Dort hat der Benutzer morat über viele Jahre Tipps für keyconfig und dann tbkeys gegeben. Die Codeschnipsel, die ich in tbkeys nutze, sind alle mit seiner Hilfe entstanden. Allerdings ist dort der letzte Beitrag vom Oktober 2024. Ich weiß nicht, ob morat dort noch aktiv ist.

    Code
    "s": "(function () {
    var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    .getService(Components.interfaces.nsIWindowMediator);
    var Listener = {
     onWindowTitleChange: function(){}, onCloseWindow: function(){},
     onOpenWindow: function(aWindow){
     wm.removeListener(this);
     this.compose = aWindow.docShell
     .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
     .getInterface(Components.interfaces.nsIDOMWindow);
     this.compose.addEventListener("compose-window-init", this, true);
     },
     handleEvent: function(event){
     event.currentTarget.removeEventListener(event.type, this, true);
     event.currentTarget.gMsgCompose.RegisterStateListener(Listener);
     },
     NotifyComposeFieldsReady: function() {},
     NotifyComposeBodyReady: function() {
     this.compose.gMsgCompose.UnregisterStateListener(this);
     this.compose.window.setTimeout(function(){
     this.goDoCommand("cmd_saveAsDraft");
     this.goDoCommand("cmd_close");
     goDoCommand("cmd_nextUnreadMsg");
     },0);
     }
    }
    wm.addListener(Listener);
    goDoCommand("cmd_reply"); 
    })();",
    Alles anzeigen
  • thun.der.bird
    Senior-Mitglied
    Reaktionen
    7
    Beiträge
    380
    Mitglied seit
    28. Aug. 2003
    • 16. September 2025 um 23:42
    • #6

    bege

    Herzlichen Dank für die Infos. Das Forum für keyconfig kannte ich. Ich wußte nur nicht, dass es dort auch um tbkeys geht. Prima zu wissen. Vielleicht liest morat noch mit. Ist aber wohl unwahrscheinlich, wenn er so lange schon nix gepostet hat.

    Zum Code: ich habe alle Zeilenumbrüche entfernt und den Code in tbkeys eingefügt.

    Weil es der letzte Eintrag war, habe ich dahinter das Komma entfernt.

    Fehlermeldung: JSON invalid.

    Mit einem Online-Validator für JSON kam ich nicht weiter.

    Hast Du oder ein anderer Mitleser eine Idee?

    Code
    "s": "(function () {var wm=Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);var Listener = { onWindowTitleChange: function(){}, onCloseWindow: function(){}, onOpenWindow: function(aWindow){ wm.removeListener(this); this.compose = aWindow.docShell .QueryInterface(Components.interfaces.nsIInterfaceRequestor) .getInterface(Components.interfaces.nsIDOMWindow); this.compose.addEventListener("compose-window-init", this, true); }, handleEvent: function(event){ event.currentTarget.removeEventListener(event.type, this, true); event.currentTarget.gMsgCompose.RegisterStateListener(Listener); }, NotifyComposeFieldsReady: function() {}, NotifyComposeBodyReady: function() { this.compose.gMsgCompose.UnregisterStateListener(this); this.compose.window.setTimeout(function(){ this.goDoCommand("cmd_saveAsDraft"); this.goDoCommand("cmd_close"); goDoCommand("cmd_nextUnreadMsg"); },0); }}wm.addListener(Listener);goDoCommand("cmd_reply"); })();",

    Mein Projekt für Menschen mit kognitiven Einschränkungen: Thunderbird Easy-Peasy
    Thunderbirdnutzer der ersten Stunde - seit 2003 : ) | Plattform: macOS | Thunderbird-Version: die jeweils aktuelle ESR

    4 Mal editiert, zuletzt von thun.der.bird (17. September 2025 um 01:10)

  • thun.der.bird 17. September 2025 um 07:04

    Hat den Titel des Themas von „Skript gesucht: Ein Tastenkürzel für die 3 Schritte "Antworten, Speichern, Schließen"“ zu „Skript für tbkeys gesucht: Verkettung von 4 Befehlen "Antworten, Speichern, Schließen, Nächste Ungelesene"“ geändert.

Aktuelle Programmversion

  • Thunderbird 143.0 veröffentlicht

    Thunder 17. September 2025 um 07:26

Aktuelle 140 ESR-Version

  • Thunderbird 140.2.1 ESR veröffentlicht

    Thunder 3. September 2025 um 00:18

Aktuelle 128 ESR-Version

  • Thunderbird 128.14.0 ESR veröffentlicht

    Thunder 21. August 2025 um 15:04

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™