Windowsでもbashを使うような自分にとっては、クリップボードをコマンドで操作できると、GUIアプリケーションとのやり取りが非常に便利になります。
他にも似たような考えをする人はいるのか、その手のプログラムは大抵のOSにあったりしたりします。
Windowsだったら clip コマンド、cygwinなら /dev/clipboard デバイスファイル、MACだと…、なんかあった気がします。
で、linuxであれば xset や xclip などがあったりするのですが、もうWaylandが主流になってきているのだから、Waylandに適したものがあるのでは…なんて思い調べてみると、wl-clipboardなるものがあるようです。
ubuntuであれば、apt install wl-clipboard でさくっとインストールしちゃいます。
wl-copy でクリップボードへのコピー。wl-paste でクリップボードからのペースト。
標準入出力でのアクセスもできるので、コマンドの実行結果をクリップボードにコピー、なんてこともできるんです。
(例えば、git diff | wl-copy なんてgitの差分をクリップボードへコピーしたり)
…で、ここからが本題。
wl-copy は、なんと -t オプションでmimetypeが指定できるのです。
例えば、
cat photo.jpg | wl-copy -t image/jpeg
なんてすると、Jpegファイルを画像としてクリップボードへコピーするので、このままGIMPなんかにペーストすることができます。
さらに、ファイルのクリップボードデータのmimetypeは text/uri-list なので、
ls -1 $PWD/* | sed -e 's#^#file://#' | wl-copy -t text/uri-list
なんてすれば、ファイルマネージャへファイルをペーストすることもできるんですよ。
URIに変換しないといけないのはめんどくさいですね。
変換しないと、GNOMEのファイルアプリへのペーストはできませんでした。ファイルアプリから wl-paste すると絶対パスでペーストされるので、なんかやり方があるのかもしれない。
フォルダ内に大量にあるファイルも、find コマンドで絞り込んでコピー、なんてできるんですよ。便利ですね。