CopyQ – Benutzeroberfläche & Integration in SL5 Aura

Was ist CopyQ?

CopyQ ist ein erweiterbarer Clipboard-Manager mit einer skriptbaren Benutzeroberfläche. Er speichert eine History aller kopierten Inhalte und erlaubt Zugriff per Kommandozeile, Python-Script oder Tastenkürzel.

Für SL5 Aura ist CopyQ das primäre Werkzeug um Sprach-zu-Text Ergebnisse in die Zwischenablage zu bringen und dort zu verwalten.

Relevante Dateien im Repo

Datei

Zweck

tools/export_to_copyq.py

Exportiert FUZZY_MAP-Regeln nach CopyQ

scripts/py/func/process_text_in_background.py

Verarbeitet Text und sendet ihn an CopyQ

config/maps/plugins/standard_actions/de-DE/renumber_clipboard_text.py

Nummeriert Clipboard-Text um

config/maps/plugins/z_fallback_llm/de-DE/test_clipboard.py

Test-Script für Clipboard-Zugriff

config/maps/koans_deutsch/11_copyq_benutzeroberflaeche/

Koan-Übungen zum Thema

export_to_copyq.py

Das Script tools/export_to_copyq.py liest die Map-Dateien des Repos (read-only) und sendet die Regeln als strukturierte Items an CopyQ.

Wichtig: Das Script verändert keine Dateien im Repo – es sendet nur Kommandos an den externen CopyQ-Prozess.

Plattformen

  • Linux: copyq ist direkt im PATH verfügbar

  • Windows: Typische Pfade werden automatisch gesucht, z.B. C:\Program Files\CopyQ\copyq.exe

Nutzung

python tools/export_to_copyq.py

CopyQ per Kommandozeile steuern

CopyQ hat eine eingebaute CLI:

# Aktuellen Clipboard-Inhalt zeigen
copyq read 0

# Text in Clipboard schreiben
copyq add "Mein Text"

# Item aus History holen (Index 0 = aktuell)
copyq read 0

# CopyQ-Fenster öffnen
copyq show

# Script ausführen
copyq eval "popup('Hallo von Aura!')"

Koan 11 – CopyQ Benutzeroberfläche

Der Koan 11_copyq_benutzeroberflaeche enthält Regeln die das Wort “koans” aus typischen STT-Erkennungsfehlern wiederherstellen.

FUZZY_MAP_pre.py (vor LanguageTool)

FUZZY_MAP_pre = [
    ('koans', '^(korn|korns|koons|cohens|kreuz|kohl|kurz|chor ins|cuarn|twain|kurt)$'),
]

Diese Regel greift bei Fullmatch (^...$) – stoppt also die weitere Pipeline.

FUZZY_MAP.py (nach LanguageTool)

FUZZY_MAP = [
    ('koans', '(korn|korns|chor|chor ins|kohlen)'),
]

Diese Regel greift auch innerhalb eines längeren Satzes (kein Fullmatch).

Typische STT-Fehler bei “CopyQ”

Vosk erkennt “CopyQ” oft als:

  • copy cue

  • kopie ku

  • copy queue

  • kopi q

Mögliche Korrektur-Regel für FUZZY_MAP_pre.py:

('CopyQ', r'\b(copy\s*q(ue|ue?ue)?|kopi\s*q)\b', 0, {'command_flags': re.IGNORECASE}),

pyperclip als Python-Alternative

Wenn CopyQ nicht verfügbar ist, nutzt Aura pyperclip als Fallback:

import pyperclip
pyperclip.copy("Text in Clipboard")
text = pyperclip.paste()

pyperclip ist im .venv installiert (site-packages/pyperclip/).

Hinweise

  • CopyQ muss als Hintergrundprozess laufen damit die CLI funktioniert

  • Unter Linux: copyq & beim Systemstart

  • Unter Windows: CopyQ startet automatisch im Tray wenn installiert

  • Für Tests: config/maps/plugins/z_fallback_llm/de-DE/test_clipboard.py