web-dev-qa-db-ja.com

選択した画像/スクリーンショットをクリップボードにコピーするにはどうすればよいですか?

私は現在Manjaroを使用していますが、将来の移行のためにArchでも機能するものが欲しいです。現在i3を使用していますが、dwmに切り替える予定です。

スクリーンショットをクリップボードに入れるために、現在i3構成で次のコマンドを使用しています。

bindsym Print       exec --no-startup-id maim /tmp/screenshot.png && cat /tmp/screenshot.png | xclip -selection clipboard -t image/png

ただし、これには2つの問題があります。

  1. これにより、スクリーンショットがクリップボードにパイプされる前にファイルに保存されます。代わりに、可能であれば画像をクリップボードに直接保存したいと思います。
  2. catを使用することにより、イメージのコピー方法は、コピー先のターゲットによって異なります。たとえば、Facebookでは、チャットボックスに画像としてコピーされますが(これは問題ありません)、「投稿」ボックスに貼り付けると、代わりに生のテキストがコピーされます。ただし、画像にright_mouse_click -> Copy Imageを使用しても、この問題はまったく発生しません。

私は この質問 を見て、使用してみました:

bindsym Print           exec --no-startup-id maim /tmp/screenshot.png && xclip -selection clipboard -t "$(file -b --mime-type "$img")" < /tmp/screenshot.png

...代わりに、同じ「プレーンテキスト」の問題があります。

私の望ましい行動:

  1. スクリーンショットを撮るときは、別のファイルとして保存せずに、画像をクリップボードに直接入れます。
  2. 画像をコピーするときは、生のテキストデータをクリップボードにcatまたはechoするのではなく、right_mouse_click -> Copy Imageを実行するような画像として使用したいと思います。

(画像(sxivにある可能性があります)を選択してクリップボードにコピー/パイプできるようにしたいのですが、この後の別の質問のために保存します。)

このような画像コピー動作を作成するにはどうすればよいですか?

1
John Zhau

ファイルは必要ありません。 maim READMEから:

maim -s | xclip -selection clipboard -t image/png

maimはデフォルトでSTDOUTに書き込みます。これは、xclipにパイプできます— ????、エコー、およびファイルはありません。

1
punund