Texpander: Textbausteine unter Linux

Textbausteine helfen beim Schreiben von E-Mails und anderen Nachrichten, um immer gleiche Formulierungen (Mit freundlichen Grüßen …) rasch einzufügen. Textbausteine eignen sich aber auch dazu, häufig benötigte Kommandos (ssh name@hostname) oder Code-Anweisungen (// Copyright MeineFirma) effizient einzugeben. Genau diese Aufgabe übernimmt das Mini-Script texpander.sh.

Textbaustein auswählen

Installation

Das großartigste Merkmal von Texpander besteht darin, dass es sich dabei um ein nur 70 Zeilen kurzes Shell-Script handelt! Ich liebe einfache Lösungen!

https://github.com/leehblue/texpander

Zur Installation laden Sie dieses Script von der GitHub-Seite herunter, speichern es an einem beliebigen Ort (gut geeignet ist das Unterverzeichnis bin, das Sie gegebenenfalls vorher in Ihrem Heimatverzeichnis einrichten) und setzen das Execute-Bit (chmod +x texpander.sh).

Das Script greift auf drei andere Tools zurück, die Sie installieren müssen (hier für Debian/Ubuntu):

sudo apt install xsel xdotool zenity

Zu guter Letzt müssen Sie das Script texpander.sh noch mit einem Tastenkürzel verbinden. Die Vorgehensweise hängt dabei von Ihrem Desktop-System ab. Unter Gnome öffnen Sie in den Einstellungen das Modul Geräte / Tastatur. Am Ende der langen Liste aller Tastenkürzel fügen Sie mit dem Plus-Button ein eigenes Kürzel hinzu, wobei Sie als Befehl den exakten Pfad zum Script angeben. Ich habe mich für das Kürzel Strg+, entschieden.

Definition eines Tastenkürzels für den Texpander unter Gnome

Textbausteine definieren

So kurz wie das Texpander-Script ist, so einfach ist das Anlegen von Textbausteinen: Jeder Textbaustein wird als Datei im Verzeichnis .texpander gespeichert. Der Dateiname gibt das Kürzel an. Für die eingangs erwähnten freundlichen Grüße richten Sie also die Datei .texpander/mfg mit dem gewünschten Text ein.

Anwendung

Wenn Sie nach der Definition einiger Tastenkürzel die festgelegte Tastenkombination drücken, zeigt texpander.sh einen kleinen Dialog mit der Liste aller Textbausteine an. Durch die Eingabe der Anfangsbuchstaben wählen Sie das gewünschte Kürzel aus, Return fügt es in das gerade aktuelle Programm ein.

texpander.sh verwendet zum Einfügen die Zwischenablage, stellt deren ursprünglichen Inhalt anschließend aber wieder her. Das Script versucht zu erkennen, ob es sich beim aktuellen Programm um ein Terminalfenster handelt. In diesem Fall wird der Text mit Shift+Strg+V eingefügt, sonst mit Strg+V.

Einschränkungen und Probleme

Nicht mit Wayland: Die zur Zeit verfügbaren Programme zur Eingabe von Textbausteinen setzen alle voraus, dass Xorg als Grafiksystem zum Einsatz kommt! Unter Wayland fehlen ganz einfach noch die Schnittstellen, die zur Programmierung derartiger Funktionen erforderlich sind.

Probleme mit mehreren Gnome-Tastaturlayouts: Sofern Sie in Gnome mehrere Tastaturlayouts eingerichtet haben und zwischen diesen wechseln, tritt ein merkwürdiges Problem auf: Solange das erste Layout aktiv ist, funktioniert der Texpander wunderbar. Ist aber ein anderes Layout aktiv, treten beim Einfügen Verzögerungen auf, die durchaus ein, zwei Sekunden betragen können.

Die Ursache des Problems ist aktuell unbekannt, eine Lösung nicht in Sicht. Betroffen sind davon alle Programme, die wie der Texpander auf xdotool zurückgreifen (siehe auch diesen Bug-Bericht). Verändern Sie gegebenenfalls die Reihenfolge der Tastaturlayouts in den Einstellungen. Das aktuell erste Layout ist von dem Problem nicht betroffen, alle weiteren schon.

Alternativen

Als leistungsfähigstes Linux-Tool zum Einfügen von Textbausteinen sowie ganz allgemein für Automatisierungsaufgaben gilt AutoKey. Die Inbetriebnahme und Konfiguration sind aber kompliziert. Bei meinen Tests war zudem die Anwendung fehleranfällig: Immer wieder verschwanden beim Einfügen von Text einzelne Zeichen.

Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Wenn Sie hier einen Kommentar absenden, erklären Sie sich mit der folgenden Datenschutzerklärung einverstanden.