i3での壁紙設定で詰まった話

i3-wm

{{ page.title }}

要約すると

exec --no-startup-id i3-workscreen && nitrogen --restore

あらまし

今までデスクトップの環境には Xfce を使っていたが、設定ファイルが ~/.config/xfce/~~~ 以下に散らばっていて必要なものを dotfiles で管理するのが面倒なので他の wm を試してみようと思った。

最初は awesome を試してみようと考えたが、googlabirity が低いのと Lua が全然わからなかったので設定ファイルが特定の言語に依存していない i3-wm を試してみることにした。
(vim.jp)にいる人たちに i3wm を使っている人が多くて気になっていたのもある。

yayi3-gaps を入れて色々設定してみたが、Xfce とかと違ってマルチモニタの設定を勝手にやってくれたりはしないので手でやる必要がある。
ありがたいことにマルチモニタに関しては GitHub - fogine/i3-workscreen: In i3wm compatible manner - dynamically re-configures your (multi)-monitor setup on the fly when you hotplug/unplug display cabel(s)があったのでありがたく使わせてもらう。

壁紙の設定は fehnitrogen で設定するのが一般的のようだが、初心者なので nitrogen でやることにした。

~/.config/i3/configexec --no-startup-id nitrogen --restore を書いておけば設定ファイルを読み込んで再設定してくれるみたい。
しかし、マルチモニタの影響か壁紙がモニタからずれた状態で設定される。

i3 の起動後に端末を開いて nitrogen --restore を実行すればちゃんと設定されるので、i3-workscreen との兼ね合いがうまく行っていないようだった。

i3/config で順序を i3-workscreen => nitrogen にしてもうまくいかなかった。
多分モニタの設定が完了する前に nitrogen が始まってしまうのが問題みたいだった。

むりやり実行順序を決めるために bash 等での command A && command B を config 上で同じように書いたところ動いた。

exec --no-startup-id i3-workscreen && nitrogen --restore