i3 likeなwayland compositorのswayを使ってみている
Wayland何度か試してみてまあぼちぼち動くが、いいdesktop環境にはなってないなという感じだった。そんなところへ、いま使っている普通のタイルWMなi3とcompatibleなswayというwayland上desktop環境(wayland composiotr)を見つけたので試している。いまのところ結構いい感じに使えている。
インストールして、とりあえず起動してみると、i3のconfigを読んでいるらしく、いままで通りに使える。べんりだ。
そのままでも、だいたい動くんだけど、 .i3/configから.sway/configにcopyして調整した方がいい。
ちゃんと動くの?
わりとだいたいのものが動いている。Firefoxで動画とかも見れている。i3と操作が変わらないので、悪くなった感じはあまりない。
時々、GPU hangして落ちてしまって困るけど、これはXの時でも起きてるし、そもそもkernelがRCだからそっちもあやしい。ただ、Xの時はcompositorであるcomptonが死ぬだけで、i3は大丈夫なんだけど、swayだとGPU hangしたらswayごと死んでしまう。しかたないけど。
アプリは動くの?
swayはwlcというwayland compositorを作るlibraryを使っていて、これがXWaylandを立ててXのものもWaylandに乗せて動かしてくれるっぽい。べんり
X固有のものは?
Xに依存したものとして、xrandrとかxbacklightコマンドがある。これらは当然Wayland上で動かないので置きかえる必要がある。
xrandrに対応する機能はswayのconfigで実現できている。
HDMI接続の画面だったら
output HDMI-A-1 res 1920x1080 pos 1920 0
のように書いておくと、メイン画面の右側になる、という感じ。
configに書いてなくても、
swaymsg -t command output HDMI-A-1 res 1920x1080 pos 1920 0
というコマンドで動的に認識できる。
画面の名前は
swaymsg -t get_outputs
で、出てくるJSONを見ればわかる。
xbacklightコマンドは使えないので、適当に/sys/class/backlightを使ってがんばる。多分、時間が経ったら画面が消えるとかも現状ない感じがする。
あとタスクトレイが現状動いていない。まあなくてもいいやってことで忘れている。
壁紙は?
これもswayのoutputコマンドで設定できる
swaymsg -t command output eDP-1 bg wallpapers/foo.jpg fit
こんな感じ。
i3との違いは?
i3でlauncherとしてrofiを使っている。これがswayだとうまく動かない。floatしてるwindowに対して入力できない?っぽい。裏にwindowいると、入力できるのでinputの当たり判定かなんかだろうか。"-normal-window"引数つけておけば動くのでそうしてる。
入力deviceの設定も、swayのconfigで出きる。こんな感じ。device nameは"swaymsg -t get_inputs"で
input "2:7:SynPS/2_Synaptics_TouchPad" {
accel_profile adaptive
natural_scroll enabled
}
ところでWaylandのよさは出てるの?
よくわからない…。結局ほとんどのものはXWayland経由になってるし、directにwaylandしゃべってるやつは多分いない。入出力まわりよくなってんのかな? 劇的な体感はないけど、まあおもしろいし動くし使ってみている。Waylandでこんな動くんだな、と思うと楽しいのは楽しい。