i3で背景を設定する最も人気のある方法は、次のようにfeh
使用するようです。
exec_always feh --bg-fill /home/user/Pictures/wallpaper.jpg
あなたのファイルに~/.config/i3/config
。その後、以下を使用して透明に設定~/.Xresources
できます。URxvt
URxvt.transparent: true
URxvt.shading: 50
URxvt.blurRadius: 0
URxvt.background: #d3d3d3
URxvt.foreground: #1d1f21
feh
ご覧のとおり、この2つの機能は私の自宅のコンピュータで完全に連携します。今はひどいカラースキームを無視してください。
feh
これで、さまざまな理由で職場でyumリポジトリへのアクセスが制限されました。また、自分自身やそのようなものをダウンロードしてコンパイルすることはできません。代わりに、私はImageMagick
そのdisplay
機能を使って背景を設定してきました。
exec_always display -window root /home/user/Pictures/wallpaper.jpg
壁紙自体を設定し、i3で動作します。
問題は、これはImageMagick
実際にはルートイメージを設定するのではなく、オーバーレイのみを設定するように見え、URxvt
最終的にデフォルトのグレーのルートイメージを読み取ることになります。このコンピュータも私の家のコンピュータであり、うまく動作するので問題はfeh
ありません。URxvt
ImageMagick
実際にルートの壁紙を設定するように背景を設定する他の方法はありますか?これが私が好む解決策です。- 壁紙を設定するために使用できる他のソフトウェアや、あらかじめインストールされている共通ツールがある場合は良いですか?もう一度申し上げますが、
feh
私が職場で見てみるべきことにアクセスできないことに注意してください。私は見たこの投稿いくつかの言及がありましたが、作品に登場したことを確認する時間はありませんでした。 1. また、真の透明性のためにcompton、xcompmgrなどにアクセスすることはできません。
修正する:xsetroot
私はImageMagickを使って画像に変換してみましたが、.jpg
白黒のみをサポートする画像でのみ動作します。表示された画像とまだ同じであることを望んでいるので、動作しません。.bmp
convert
xsetroot
.xbm
.jpg
答え1
ltrace
これを実行すると、feh
ピックスマップを作成し、XsetWindowBackgroundPixmapを使用してルートウィンドウに接続するように見えます(193はルートウィンドウIDの0xc1です)。
XOpenDisplay(...) = 0x22a8a50
XCreatePixmap(0x22a8a50, 193, 1920, 1080) = 0x3000001
XSetWindowBackgroundPixmap(0x22a8a50, 193, 0x3000001, ...) = 1
しかし、もっと重要なのは、ルートウィンドウに2つのプロパティを設定することです。
XChangeProperty(0x22a8a50, 193, 312, 20) = 1
XChangeProperty(0x22a8a50, 193, 807, 20) = 1
あなたは見ることができます
$ xprop -root
ESETROOT_PMAP_ID(PIXMAP): pixmap id # 0x3000001
_XROOTPMAP_ID(PIXMAP): pixmap id # 0x3000001
ImageMagickのようなプログラムは、display
ルートの背景を変更したときにこれらのプロパティを更新しないようです。
使用後確認できますfeh
。上記の2つのプロパティを削除すると、プログラムはxprop -root -remove ...
透明urxvt
な背景を表示しなくなります。
xprop
オプションがありますが、それを-set
使用してPixmap IDを設定または変更する方法がわかりません。