Ich möchte die Zwischenablage auf ähnliche Weise überwachen wie inotify
Dateien, 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 make
im geklonten Verzeichnis aus. Im Verzeichnis, das zum Ausführen des Programms ausgeführt werden soll, wird eine neue ausführbare Datei erstellt.