我想以類似於監視檔案的方式監視剪貼簿,inotify
以便可以在 tmux 狀態列或系統中的任何其他自訂 GUI 中顯示實際的剪貼簿內容。我不喜歡輪詢,因為它會加載系統並且響應不太靈敏。我使用的是 GNOME/X11。存在哪些方式?
答案1
既然這麼久了還沒答案,那我就來解決一下吧。
首先,民調很容易,但你說你不想這樣做。
找出哪個程式提供了您的實際剪貼板,殺死它,然後使用 strace 運行它,並執行一些簡單的剪貼簿操作,看看它做了什麼。希望這將為您提供一些有關如何以及在何處儲存新資料的線索。一旦您知道了這一點,您就會具體知道您要檢測的內容。
答案2
剪輯通知是一個簡單的程序,當檢測到剪貼簿中的任何更改時,它會做出回應。
附言。它也監視主要剪貼簿事件(文字選擇),這可能是不需要的。
XFixesSelectSelectionInput(disp, root, XA_PRIMARY, XFixesSetSelectionOwnerNotifyMask);
在原始碼檔案中clipnotify.c
(所有積分都歸功於評論另一個 stackexchange 答案由名為的用戶製作阿克希爾建議這個解決方法..它省去了我很多麻煩)
附言。要安裝 Clipnotify,只需克隆 github 儲存庫並make
在克隆的目錄中執行命令即可。將在要運行的目錄中建立一個新的可執行檔來執行程式。