なんか書いていこうぜー.com

Let's write something good

i3-wm と polybar に乗り換えた

2020-01-25
  • Share on Facebook
  • Tweet
  • Add to Pocket

2019年末から2020年年始の休みの間に、awesome-wm から i3-wm + polybar + dunst + picom に乗り換えた。

実際に入ったのは、i3-gaps らしい。

$ sudo pacman -S i3

なぜ乗り換えたの?

awesomeからi3に同僚が乗り換えたというので、年末に試すかーと思っていたが、そのまま乗り換えた。

気に入った点は以下のとおり。

  • ワークスペースが外部ディスプレイにまたがって設定されるのでディスプレイ間の移動が簡単
  • 一部 awesome とショートカットが似ている
  • もともとの設定がよくできているのであまりカスタマイズしなくても使える
  • 設定は設定ファイルに記述 or シェルを呼び出すだけなので設定書くのに覚えることはそんなに多くない

どう設定したの?

だいたいここに書いてある。

https://github.com/muryoimpl/dotconfig

設定 したことをかいつまんで

外部ディスプレイに接続されたときに、決まったワークスペースを割り当てるようにした

workspace 1 output eDP1
workspace 2 output HDMI2 HDMI1 eDP1
workspace 3 output HDMI2 HDMI1 eDP1
workspace 4 output DP2 HDMI1 eDP1

左から順に同名のディスプレイあれば設定されて、そうでなければ次、なければ eDP1 (ノートPC本体のディスプレイ) にすべて設定される。

ノートPC本体、ワイドディスプレイ、縦ディスプレイの順で配置しているので、左から 1, 2 & 3, 4 のワークスペースが設定されるようになっている。

scrot で screenshot 撮れるようにした

awesome で設定していたものとだいたい同じものを設定した。Win + PrtScr で全画面、Win + Shift + PrtScr で選択範囲を撮るようになっている。

bindsym $mod+Print exec --no-startup-id "scrot -e 'mv $f ~/screenshots/ 2>/dev/null'"
bindsym $mod+Shift+Print exec --no-startup-id "sleep 0.5 && scrot -s '%Y-%m-%d_%H%M%S_scrot.png' -e 'mv $f ~/screenshots/ 2>/dev/null'"

コンポジットマネージャと壁紙とPolybar

## コンポジットマネージャ(ちらつき防止のため導入)
exec_always --no-startup-id picom -b -d :0
## 壁紙 (ディスプレイごとにかえたかったので nitrogen 導入)
exec_always --no-startup-id nitrogen --restore
## polybar (i3-status でもよかったが、ディスプレイごとに表示をかえたかった)
exec_always --no-startup-id $HOME/.config/polybar/launch.sh

Polybar の設定

i3-style で生成した色を使っている。

Polybar には接続しているディスプレイごとに表示するものを簡単にではあるが変えている。 ここ にあるように、縦ディスプレイに表示項目が多いと時刻が見えないのでかえている。

FontAwesome によるアイコンフォントの設定はフォント名の設定がちょっと変わっていたのでハマった。その他のアプリで表示されるフォント名と異なっているのはなぜ?

困っていることは?

外部ティスプレイを接続して arandr で設定したときに Polybar をリロードしないと Nitrogen の壁紙と bar の表示が乱れることがあるところが解決していないが、ショートカットでリロードできるのでなんとかなっている。