xclip

割とどうでもいいことなのだけど一応メモ。

X Window System が持っているセレクションはたとえば xclip といったプログラムでアクセスできる。

このとき、例えばテキスト以外、例えば画像とかをやり取りするにはどうするんでしたっけ? そのような場合は target オプションに ATOM を指定する。ATOM ってなんだろう…。

ATOM はここで定義されている: https://tronche.com/gui/x/icccm/sec-2.html

X11 の用語自体に ATOM というものがあったようが気がしないでもないが、関係があるのかはよく分からない。さてこれを参考にした上で、画像はどれになるのかと言うと実はどれでもなく、mime タイプを指定する。

$ cat foo.png | xclip -i -selection clipboard -target image/png

ここで jpeg とかをコピーしてもアプリケーションによっては対応してないこともあるので、必要ならコピー前に png に変換するなどの処理が必要。

とここまで書いて思ったのですが X11 から Wayland へみたいなドラスティックな変更を行った場合この辺どうなるんだろう。ググってみると当然ながら Wayland が面倒を見ることになるようだ: https://wayland.freedesktop.org/docs/html/ch04.html#sect-Protocol-data-sharing

この辺を考えるとディスプレイサーバという名称がふさわしいのかどうかよく分からなくなってくるが、気にしないことにしたい。

Leave a Reply

Your email address will not be published.