web-dev-qa-db-ja.com

クリップボードの内容が正規表現と一致したときにアクションを実行します

特定の正規表現に一致するものをクリップボードにコピーするときに、KDEのKlipperユーティリティのアクション機能を使用して特定のコマンドを実行します。残念ながら、コマンドを実行したいものをコピーするたびに、クリップボードアクションを有効にするをオンにして、メニューからコマンドを選択する必要があります。代わりに、そのコマンドを自動的に実行したいと思います。

アクション設定ダイアログボックスに自動チェックボックスがあるので、これは可能だと思います。

残念ながら、それは何もしないようです。 Klipperに含まれているドキュメントには、そのチェックボックスの機能が示されていません。

クリップボードの内容が正規表現と一致する場合にコマンドを自動的に実行するようにKlipperを構成することは可能ですか?そうでない場合、これを達成する別の方法はありますか?

6
Patches

アクションを自動的に適用するようにklipperに指示する方法が見つかりませんでした。 klipperが自動的に行うことのほとんどは、アクションを含むメニューをポップアップすることです。実際にアクションを適用するには、もう一度マウスをクリックする必要があります。

アクションプロパティダイアログのAutomaticチェックボックスには、次の効果があります。テキストをコピーし、そのテキストが構成済みの正規表現と一致すると、対応するアクションを含むメニューがポップアップ表示されます。これにはEnable Clipboard Actionsを有効にする必要があることに注意してください。 Enable Clipboard ActionsまたはAutomaticのいずれかが無効になっている場合、コピー時にメニューは表示されません。

代替案について:私は周りを見回しましたが、あなたが望むことをするクリップボードマネージャーが見つかりませんでした(正規表現に一致し、クリップボードの内容を自動的に変更します)。 klipperと同様の機能を提供するクリップボードマネージャーをいくつかテストしました。これらはすべて、アクションを自動的に適用するのではなく、klipperのように、構成されたアクションのポップアップメニューを提供します。

独自のソリューションをコーディングする必要があるようです。

単純な実装は次のようになります。

  1. クリップボードの内容を監視します。
  2. コンテンツが変更された場合は、正規表現と照合してください。
  3. 正規表現が一致する場合は、クリップボードの内容を変更します。

たとえば、python and PyGTK or PyQt を使用してコーディングできるはずです。

または、コマンドxclip -oを使用してシェルスクリプトをハックしてクリップボードのコンテンツをダンプし、xclip -iを使用して変更されたコンテンツをクリップボードに挿入することもできます。

Perlとxclipコマンドを使用してポイント番号1と番号2の一部を実装したように見えるプロジェクトを見つけました: https://github.com/trapd00r/clipbored 。たぶん、そこでフォームを開始して、ニーズに合わせて変更することができます。

4
lesmana