inotify
tmuxステータスラインまたはシステムの他のカスタムGUIに実際のクリップボードの内容を表示できるように、ファイルを監視するのと同じ方法でクリップボードを監視したいと思います。ポーリングはシステムをロードし、応答速度が遅いため、ポーリングが好きではありません。 GNOME/X11を使用しています。どのような方法がありますか?
答え1
あまりにも長い時間が経っても答えがないので、私が解決するようにします。
まず、世論調査は簡単だがやりたくないそうです。
実際のクリップボードを提供するプログラムを見つけて終了し、straceで実行し、いくつかの簡単なクリップボード操作を実行して、そのプログラムが何をしているかを確認します。これにより、新しいデータを保存する方法と場所に関する手がかりが得られることを願っています。このことを知ったら、何を検出したいのかを正確に知ることができます。
答え2
クリップ通知クリップボードの変更が検出されたときに応答する簡単なプログラムです。
PS。また、不要になる可能性があるデフォルトのクリップボードイベント(テキスト選択)も監視します。 1行をコメントアウトすると簡単に回避できます。
XFixesSelectSelectionInput(disp, root, XA_PRIMARY, XFixesSetSelectionOwnerNotifyMask);
ソースコードファイルclipnotify.c
(すべてのクレジットはコメントに移動)別のstackexchangeの答え名前付きユーザーによって作成されましたアキルこの回避策を提案してください。多くの問題が解決しました。)
PS。 Clipnotifyをインストールするには、githubリポジトリを複製し、複製されmake
たディレクトリからコマンドを実行します。プログラムを実行するために実行するディレクトリに新しい実行可能ファイルが作成されます。