Benachrichtigungen über Änderungen am Inhalt der Zwischenablage erhalten

Benachrichtigungen über Änderungen am Inhalt der Zwischenablage erhalten

Ich möchte die Zwischenablage auf ähnliche Weise überwachen wie inotifyDateien, sodass ich den tatsächlichen Inhalt der Zwischenablage in der Tmux-Statuszeile oder in einer anderen benutzerdefinierten GUI in meinem System anzeigen kann. Ich mag Polling nicht, da es das System belastet und nicht richtig reagiert. Ich verwende GNOME/X11. Welche Möglichkeiten gibt es?

Antwort1

Da es schon so lange keine Antwort darauf gibt, werde ich es mal versuchen.

Erstens wäre eine Umfrage einfach, aber Sie haben gesagt, dass Sie das nicht möchten.

Finden Sie heraus, welches Programm Ihre eigentliche Zwischenablage bereitstellt, beenden Sie es und führen Sie es dann mit strace aus, führen Sie einige einfache Zwischenablageaktionen aus und sehen Sie, was passiert. Hoffentlich gibt Ihnen dies einige Hinweise darauf, wie und wo die neuen Daten gespeichert werden. Sobald Sie das wissen, wissen Sie genau, was Sie erkennen möchten.

Antwort2

Clipnotifyist ein einfaches Programm, das reagiert, wenn eine Änderung in der Zwischenablage erkannt wird.

PS. Es überwacht auch PRIMÄRE Zwischenablageereignisse (Textauswahlen), die möglicherweise nicht erwünscht sind. Dies kann leicht umgangen werden, indem man einfach die folgende Zeile auskommentiert:

XFixesSelectSelectionInput(disp, root, XA_PRIMARY, XFixesSetSelectionOwnerNotifyMask);

in der Quellcodedatei clipnotify.c(Alle Credits zu einem Kommentar ineine weitere Stackchange-Antworterstellt von einem Benutzer namensAchilfür den Vorschlag dieser Problemumgehung ... er hat mir eine Menge Ärger erspart)

PS. Um Clipnotify zu installieren, klonen Sie einfach das GitHub-Repository und führen Sie den Befehl makeim geklonten Verzeichnis aus. Im Verzeichnis, das zum Ausführen des Programms ausgeführt werden soll, wird eine neue ausführbare Datei erstellt.

verwandte Informationen