Alle Eintrage aus Klipper auslesen (KDE)

Manchmal muss man viele kleine Textstellen zusammen kopieren. Diese landen alle aktuell schon in meiner Zwischenablage von KDE, oder auch Klipper genannt.

Leider kann man da nur immer einen Eintrag heraus holen, dies ist auf Dauer etwas lästig. Deswegen habe ich mich mal hingesetzt und hab mir eine kleines Schnippet geschrieben, dass mir alles aus Klipper rausholt.

Den aktuellen Eintrag bekommt man mit

qdbus org.kde.klipper /klipper getClipboardContents

Dies ist schon mal ein guter Anfang, aber das wusste Tante Google auch schon.
Aber mit etwas Hilfe des DBus-Browsers d-feet, habe ich die Funktion „getClipboardHistoryItem“ entdeckt.
So konnte ich gezielt einen beliebigen Eintrag aus Klipper bekommen.

qdbus org.kde.klipper /klipper getClipboardHistoryItem 4

Jetzt hieß es nur noch eine kleine Schleife drum schreiben und fertig. Da Klipper einen leeren String ausgibt, falls der Eintrag nicht exisitert bricht die Schleife bei einem leeren Return ab.
Hier mein kleines Script.

i=0; in=unwichtiges_initiales_wort
while [ "x$in" != "x" ]; do
   echo "Eintrag $i ========================================"
   in=$(qdbus org.kde.klipper /klipper getClipboardHistoryItem $i)
   echo $in
   i=$((i+1))
done

Noch ein kleiner Hinweis:
Klipper speichert nur eine begrenzte Anzahl an Einträgen in der Zwischenablage. Diese war bei mir 7.
Über das Menu „Klipper einrichten“ könnt ihr dies auf aber erhöhen. zB. 100 (was ich nutzte).
Und leert auch eure Zwischenablage, bevor ihr anfangt. Der alte Schrott wird nämlich auch mit ausgegeben.