※ ChatGPTを利用し、要約された質問です(原文:X-window systemでClipBordにあるtextをショートカットキーで他のアプリケーションに引き渡すには?)
X-window systemでClipBordにあるtextをショートカットキーで他のアプリケーションに引き渡すには?
このQ&Aのポイント
Linuxで単語を調べる際に、マウスで範囲指定してショートカットキーを押すと辞書検索結果が表示されるプログラムを作りたい
CTR-Sが押されたらクリップボードに記憶された文字列を他のアプリケーションに引き渡すには、どのライブラリを使えば良いか分からない
X-window system上で動くアプリケーションでマウスで範囲指定したテキストをクリップボードに保存し、別の場所でペーストする仕組みについても教えて欲しい
X-window systemでClipBordにあるtextをショートカットキーで他のアプリケーションに引き渡すには?
Linuxにおいて、Webブラウザやエディタなどで、ある単語を調べたい場合に、その単語をマウスで範囲指定してCTR-Sを押すと自動的にwindowが開きwebで辞書検索した結果を表示するというプログラムを作りたいと考えています。
そこで、「CTR-Sが押されたらマウスで範囲指定した(つまりクリップボードに記憶された)文字列をあるアプリケーションに引き渡す」ということをやらせたいと思います。そのためには、
1) CTR-Sが押されたというイベントをハンドリングし、
2) クリップボードの中味を読みこむ
ということが必要だと思うのですが、
これはどのライブラリを使えばよいでしょうか?
GTK+で可能でしょうか?Motifでしょうか?それともXlibが必要でしょうか?
この周辺の知識が必要ということまでは分ったのですがどれを勉強すれば確実にやりたいことが出来るかはっきり分からなかったため、質問させていただきました。
また、この問題を解決するには、以下の仕組みがわかれば参考になるなと思いますので、もし以下の点に関しても御存じでしたら、合わせて教授いただけるとありがたいです。
X-window system上で動くアプリケーションにおいて、ある領域をマウスで範囲指定すると、その領域にあるテキストがクリップボードに保存され、別の場所でマウスの真ん中のボタンを押すとその内容がペーストされますが、その仕組み。(異なるアプリケーション間でこのようなことが出来る仕組みが分りません。)
どうぞよろしくお願いします。
お礼
ご回答有難うございます。 >これは、xkeywrapというソフトがあったと思うので参考にして下さい。ソースも公開されています。 URLの御紹介どうもありがとうございます。 とても参考になりそうです。このサイトでは、詳しいことは良く分りませんが、Xlibを直に使っているようですね。 例えば、私の環境ではF1キーを押すと画面が切り替わるのですが、この感覚でCTR-Sキーをおされたらclipboardに格納された文字列を受け取って、検索アプリケーションに引き渡したいとかんがえております。あらかじめ検索アプリケーションのwindowを開いておいて、そこにフォーカスを合わせた場合なら、GTK+かTKで確実に出来るということまでは分ったのですが。。。 御紹介いただいたサイトのソースが参考になりそうです。(本当はXlibまでいじりたくはないのですが...) >クリップボードは、これで読めませんか? >cat /dev/clipboard > clp.txt どうもこれはcygwinの場合の話のようで、私の使っているRHL9では出来ませんでした。xclipboardというコマンドがあって、これをひらくと、何やらカットしたテキストが入っているようなのですが、その取りだし方がわかりません。 どうもありがとうございました。