Swayを使ってみる
はじめに
この記事は東京高専プロコンゼミアドベントカレンダーの記事です。
背景
このArch Linuxを構築してもう1年以上経ちました。安定したLinux環境を運用できていることが嬉しい一方、新しい環境に対して少しハードルのようなものを感じてきました。このままではいずれ老害になってしまうと思い、Swayの導入を試みました。
Swayって?
WaylandはX WindowSystemの置き換えでGNOMEやKDEがサポートしています。
Sway(SirCmpwn's Wayland window manager)はWaylandのコンポジタのひとつです。似たようなものとしてWestonというものがあるそうです。
また、Swayはi3 window managerとの置き換えでもあるため、今まで書いてきた設定ファイルの使い回しができます。
インストール
sudo pacman -S sway mkdir .config/sway cp .config/i3/config .config/sway/config
これだけです。 LightDMからSwayを選択して実行できます。
困ったこと
configファイルのエラー
「置き換えるだけでいい」って言ったくせにエラーが起きました。
このようにしてエラーは潰せますがうまくいってるのかどうかは知りません。
$ diff .config/i3/config .config/sway/config 5,6c5,6 < new_window pixel 1 < new_float normal --- > default_border pixel 1 > default_floating_border normal 109d108 < i3bar_command i3bar -t
xrandrが使えない
そりゃそうなので新しいコマンドを探しました。
情報取得
$ swaymsg -t get_outputs Output eDP-1 'Panasonic Industry Company VVX13T043N00 0x00002300' (focused) Current mode: 2560x1440 @ 59.999001 Hz Position: 0,1542 Scale factor: 1.000000 Subpixel hinting: unknown Transform: normal Workspace: 4 Available modes: 2560x1440 @ 48.000000 Hz 2560x1440 @ 59.999001 Hz Output HDMI-A-1 'Eizo Nanao Corporation EV2336W 92891093' Current mode: 1920x1080 @ 60.000000 Hz Position: 0,0 Scale factor: 0.700000 Subpixel hinting: unknown Transform: normal Workspace: 8 Available modes: 720x400 @ 70.082001 Hz 640x480 @ 59.939999 Hz 800x600 @ 60.317001 Hz 1024x768 @ 60.004002 Hz 1280x720 @ 60.000000 Hz 1280x960 @ 60.000000 Hz 1280x1024 @ 60.020000 Hz 1680x1050 @ 59.882999 Hz 1920x1080 @ 60.000000 Hz
swaymsg -t get_outputs
というコマンドでディスプレイの名前等の情報を取得します。これはxrandrとほとんど同じ感じですね。
ここのeDP-1
や Output HDMI-A-1
をつかって操作します。
画面回転、スケール変更
swaymsg
自体が今動いているswayへメッセージを送るコマンドなのでこれを使います。
$ swaymsg -t command output HDMI-A-1 transform 270
$ swaymsg -t command output HDMI-A-1 scale 0.7
位置変更
ディスプレイの左上をどこに置くかをグローバルな座標で指定します。数値が大きくなるにつれて右下へずれます。スケールを変更している場合はそれに応じたpositionを指定するところに気をつけてください。
# HDMIディスプレイを上に、eDP-1を下にもってくる # HDMIは1920x1080でscaleが0.7だとすると、1080/0.7≒1542なので $ swaymsg -t command output HDMI-A-1 pos 0 0 $ swaymsg -t command output eDP-1 pos 0 1542
日本語入力
最初は動かなかったけれど、configのエラーを直して環境変数を直し、リロードしたら直りました。
おわりに
確かにi3のままではあるし、普通にアプリケーションが動くけど細かいところで違うので使ってて微妙だなと思いました。
nm-appletの表示とかタッチパッドの挙動とか直す気にもなれないし、かといって直さないと不便だし。
3日くらい使ってみて慣れたらこのまま使い続けようかと思います。