Text Expander - Was ist das?

Do, 15. September 2022, Ralf Hersel

Als ich gestern die aktuelle Folge von Radio Tux hörte, erweckte die Nachricht über den Text Expander Espanso meine Aufmerksamkeit. Ein Text Expander ist ein Werkzeug, welches systemweit Triggerwörter erkennt und diese durch einen Langtext ersetzt. Beispiel: Du schreibst irgendwo das Wort 'mfg' und der Text Expander wandelt diese Eingaben in 'Mit freundlichen Grüssen' um.

Solche Werkzeuge können in der Regel noch mehr, zum Beispiel Tastaturkombination durch Texte ersetzen oder Shell-Skripte starten. Ein bekannter Vertreter ist Autokey. Viele Programme dieser Art gibt es nicht, und noch seltener sind solche, die auf dem technischen Stand der Dinge sind und unter Wayland funktionieren.

Das Espanso-Projekt hat einen modernen und sehr informativen Web-Auftritt, der Lust auf das Ausprobieren macht. Das Eis wird jedoch dünn, schaut man sich auf der GitHub-Seite die Installationsmöglichkeiten an:

AppImage wäre noch in Ordnung gewesen, aber zum selbst Kompilieren für Wayland hatte ich dann doch keine Lust. Das Projekt schreibt, dass es die Situation bei den Paketformaten und der Wayland-Unterstützung verbessern möchte. Weil ich Espanso nicht installiert habe, verzichte ich in diesem Artikel auf eine Beurteilung der Anwendung. Auf der gelungenen Webseite erfährt man alles Wissenswerte über das Werkzeug.

Dennoch war der Keim in mir gesät, weshalb ich auf die Suche nach anderen Text Expandern ging. Zu meiner Überraschung gibt es sehr wenige. Da kam mir die Idee, solch ein Tool schnell einmal in Python selbst zu schreiben. Es kann doch nicht so schwer sein, die Tastatur laufend mitzulesen, Key-Value-Paare zu matchen und den Langtext in die jeweilige Anwendung zu kopieren.

> pip3 install keyboard
> python
>>> import keyboard
>>> keyboard.add_abbreviation('mfg', 'Mit freundlichen Grüssen')
ImportError: You must be root to use this library on linux.

(stark gekürzte Ausgabe)

Und dann fiel es mir wie Schuppen von den Augen: 'Text Expander' ist ein anderes Wort für 'Keylogger'. Das keyboard-Modul verlangt Root-Rechte, was völlig in Ordnung ist. Sonst könnte ja jeder kommen und alle Tastatureingaben mitlesen.

Nichtsdestotrotz wollte ich noch das Werkzeug AutoKey ausprobieren. Im AUR-Repo findet man es in der neusten Version 0.96. AutoKey ist sehr mächtig; es erlaubt nicht nur die Verwendung von Phrasen, die durch Langtext ersetzt werden, sondern auch die Definiton von Hotkeys, die Beschränkung auf bestimmte Anwendungen (z. B. Ersetzen funktioniert nur in Gedit) und das Anlegen von Python-Skripten innerhalb des GUIs von AutoKey.

Alleine der Screenshot lässt erahnen, welche Möglichkeiten AutoKey bietet. Die mitgelieferten Beispiele für Phrasen und Skripte sind praktisch. Leider ist es mir nicht gelungen, die Phrase 'mfg' zum Laufen zu bringen. Das Problem dabei war, dass ich nicht wusste, ob ich alle Optionen in AutoKey richtig gesetzt hatte, oder ob die Anwendung unter Wayland nicht funktioniert. Aber auch unter X hatte ich keinen Erfolg mit AutoKey.

Fazit

Die Idee von Text Expander-Werkzeugen ist gut, lassen sich damit doch viele Eingaben und Aufgaben verkürzen und standardisieren. Ausnahmsweise gibt es im GNU/Linux-Umfeld nur wenige Anwendungen, die diesen Zweck erfüllen, insbesondere wegen der fehlenden Wayland-Unterstützung. Espanso ist ein hoffnungsvoller Kandidat, wenn das Projekt den Installationsprozess vereinfacht.

Was haltet ihr von Text Expandern? Nutzt ihr welche? Habt ihr Anwendungsfälle dafür? Schreibt doch bitte eure Erfahrungen und Meinungen in die Kommentare unter diesem Artikel.

Tags

Hotkey, Textersetzung, AutoKey, Espanso, Shortcut