MZ-Textbausteine ist ein systemweiter Textkürzel-Expander für Windows. Das Programm läuft unsichtbar im Hintergrund und ersetzt vordefinierte Kürzel automatisch durch längere Texte - in jeder Anwendung, jedem Textfeld und jedem Browser. Die Idee ist nicht neu: macOS bietet das seit Jahren als „Textersetzungen" in den Systemeinstellungen, und Omarchy Linux nutzt CapsLock als Compose-Taste für ähnliche Sequenzen. MZ-Textbausteine führt beide Konzepte unter Windows zusammen.

Geschrieben in Rust mit direkter Win32-API-Anbindung. Keine GUI-Bibliothek, kein Browser, kein Hintergrund-Service - nur ein Tray-Icon und ein paar hundert Kilobyte Binary. Alle Daten bleiben lokal: keine Cloud, kein Server, keine Telemetrie. Der Quellcode ist offen und liegt auf GitHub.

Bekannt aus SAP.

Viele kennen Textbausteine aus SAP - dort lassen sich häufig benötigte Texte hinterlegen und per Kürzel abrufen. Das ist praktisch, hat aber einen entscheidenden Nachteil: Die Bausteine funktionieren nur innerhalb von SAP. Sobald man in Outlook eine E-Mail schreibt, im Browser ein Formular ausfüllt oder in einem anderen Programm arbeitet, sind sie weg.

MZ-Textbausteine löst genau dieses Problem. Die Kürzel stehen in jeder Anwendung zur Verfügung - egal ob SAP, Outlook, Teams, Word, ein Webformular oder der einfache Windows-Editor. Einmal eingerichtet, spart das täglich Zeit: Grussformeln, E-Mail-Adressen, Datumsangaben, Signaturen - alles ist mit wenigen Tasten abrufbar, überall und sofort.

Aus zwei Welten zusammengeführt.

Wer macOS nutzt, kennt die Textersetzungen aus den Systemeinstellungen: ein paar Buchstaben tippen, der vollständige Text erscheint. Das Konzept funktioniert in jeder App - Mail, Notizen, Browser, fremde Software. Unter Omarchy Linux übernimmt CapsLock die Rolle einer Compose-Taste: kurze Folgen wie CapsLock - Space - m erweitern sich zu beliebig langen Texten.

Beide Konzepte fehlen unter Windows. Es gibt einzelne Hilfsprogramme, aber keine systemweite Lösung in der Tradition von macOS oder Omarchy Linux. MZ-Textbausteine kombiniert beide Ansätze: Auslöser im Stil von Apple und Tastenfolgen im Stil von Omarchy Linux - in einer einzigen schlanken Anwendung.

Zwei Eingabemodi.

Beide Modi laufen parallel und ergänzen sich:

  • Auslöser-Modus - Eine kurze Buchstabenfolge mit abschliessendem Leerzeichen wird sofort erkannt und ersetzt. Beispiel: @e wird zu vorname.nachname@example.com. Das Leerzeichen am Ende verhindert Fehlauslösungen mitten in einem Wort.
  • Tastenfolge-Modus - CapsLock leitet eine Sequenz ein, die das Programm sammelt und mit der Konfiguration vergleicht. Beispiel: CapsLock - Space - m tippt eine vollständige Grussformel mit zwei Zeilenumbrüchen und Namen.

Solange das Programm läuft, ist CapsLock seiner Funktion als Feststelltaste enthoben - der Tastenfolge-Modus übernimmt die Taste für die Sequenzeinleitung.

Platzhalter.

In den Ersetzungstexten lassen sich Platzhalter verwenden, die zur Laufzeit aufgelöst werden:

  • {{datum}} - aktuelles Datum im Format tt.mm.jjjj.
  • {{zeit}} - aktuelle Uhrzeit im Format hh:mm.
  • {{zeit_sek}} - aktuelle Uhrzeit mit Sekunden im Format hh:mm:ss.

Zeilenumbrüche im Ersetzungstext werden als \n geschrieben und beim Tippen als Enter-Taste gesendet - so lassen sich vollständige E-Mail-Signaturen oder mehrzeilige Texte hinterlegen.

Konfiguration.

Die Konfiguration erfolgt über eine einzige TOML-Datei mz-textbausteine.toml, die neben der .exe liegt. Jede Ersetzung ist ein eigener Eintrag mit entweder einem Auslöser oder einer Tastenfolge - oder beidem für dasselbe Ziel.

[[textbaustein]]
ausloeser = "@mfg "
ersetzung = "Mit freundlichen Grüssen\n\nMarcel Zimmer"

[[textbaustein]]
tastenfolge = "space d"
ersetzung = "{{datum}}"

Änderungen werden nach einem Neustart des Programms wirksam. Damit bleibt die Konfiguration einfach und nachvollziehbar - kein Datenbank-Backend, keine versteckten Profile, keine Cloud-Sync-Konflikte.

Die Konfigurationsdatei mz-textbausteine.toml mit beispielhaften Auslösern und Tastenfolgen
Abb. 01 - Die Konfigurationsdatei mz-textbausteine.toml mit beispielhaften Auslösern und Tastenfolgen.

Tray-Icon und Beenden.

Sobald das Programm läuft, erscheint ein Icon im Infobereich der Taskleiste. Ein Linksklick öffnet ein kleines Über-Fenster mit Versionsnummer, Autorname und klickbaren Verknüpfungen zur Webseite, zu X und zu GitHub. Ein Rechtsklick öffnet ein Kontextmenü mit dem einzigen Eintrag „Beenden".

Beendet wird die Anwendung erst nach einer Sicherheitsabfrage - so verschwinden die Textbausteine nicht versehentlich aus dem System. Bis zur Bestätigung bleibt der Tastatur-Hook aktiv und alle Kürzel funktionieren weiter.

Architektur.

Im Hintergrund läuft ein Low-Level-Keyboard-Hook über SetWindowsHookExW. Jeder Tastendruck wird abgefangen, der eingetippte Puffer mit den konfigurierten Auslösern verglichen und bei Treffern über SendInput die Ersetzung getippt. Der Tastenfolge-Modus arbeitet parallel mit einem eigenen Compose-Puffer.

Das Tray-Icon und das Über-Fenster nutzen die direkte Win32-API - keine GUI-Bibliothek, kein Webview, keine Embedded-Browser. Das Release-Binary ist nur wenige hundert Kilobyte gross und benötigt keine Laufzeitumgebung neben Windows selbst.

MIT-Lizenz.

Der Code steht unter MIT-Lizenz. Freie Nutzung, freie Änderung, freie Weitergabe - auch kommerziell. Haftung, Gewährleistung und Support-Pflicht sind ausgeschlossen. Wer die Anwendung produktiv einsetzt, prüft und passt den Quellcode bei Bedarf selbst an.

Fazit.

MZ-Textbausteine schliesst eine Lücke, die Apple und Omarchy Linux längst geschlossen haben: systemweite Textbausteine, die wirklich überall funktionieren. Auslöser für den Tippfluss, CapsLock-Sequenzen für längere Texte, Platzhalter für Datum und Uhrzeit. Konfiguration in einer einzigen TOML-Datei, Bedienung über das Tray-Icon. Alles lokal, alles offen, alles unter MIT.

Alle Dateien auf GitHub: