取得剪貼簿內容變更的通知

取得剪貼簿內容變更的通知

我想以類似於監視檔案的方式監視剪貼簿,inotify以便可以在 tmux 狀態列或系統中的任何其他自訂 GUI 中顯示實際的剪貼簿內容。我不喜歡輪詢,因為它會加載系統並且響應不太靈敏。我使用的是 GNOME/X11。存在哪些方式?

答案1

既然這麼久了還沒答案,那我就來解決一下吧。

首先,民調很容易,但你說你不想這樣做。

找出哪個程式提供了您的實際剪貼板,殺死它,然後使用 strace 運行它,並執行一些簡單的剪貼簿操作,看看它做了什麼。希望這將為您提供一些有關如何以及在何處儲存新資料的線索。一旦您知道了這一點,您就會具體知道您要檢測的內容。

答案2

剪輯通知是一個簡單的程序,當檢測到剪貼簿中的任何更改時,它會做出回應。

附言。它也監視主要剪貼簿事件(文字選擇),這可能是不需要的。

XFixesSelectSelectionInput(disp, root, XA_PRIMARY, XFixesSetSelectionOwnerNotifyMask);

在原始碼檔案中clipnotify.c(所有積分都歸功於評論另一個 stackexchange 答案由名為的用戶製作阿克希爾建議這個解決方法..它省去了我很多麻煩)

附言。要安裝 Clipnotify,只需克隆 github 儲存庫並make在克隆的目錄中執行命令即可。將在要運行的目錄中建立一個新的可執行檔來執行程式。

相關內容