重い腰を上げて、メインマシン (ThinkPad X1 Carbon) の Ubuntu 22.04 を Wayland セッションに移行した。
移行に伴い、主に xremap と Ulauncher の対応が必要だった。
まず、xremap の README の手順に従い、GNOME Wayland 版をインストールした。 GNOME Shell extension は、ブラウザ拡張ではなく、Extension Manager で有効化した。 (おそらく、GNOME Shell の不具合 が原因でインストールが不安定だったため)
しばらく使ってみたところ、以下の問題が見つかった。
Gnome Terminal の WM_CLASS
が X11 と異なるため。再度 Gnome Terminal の WM_CLASS
を取得して変更した。
name: Terminal
application:
- only: Gnome-terminal
+ only: gnome-terminal-server
remap:
M-t: C-Shift-t
M-n: C-Shift-n
WM_CLASS
は、xremap の README に記載されているコマンドで取得できる。
busctl --user call org.gnome.Shell /com/k0kubun/Xremap com.k0kubun.Xremap WMClass
ただし、このコマンドは 実行時にフォーカスがあるウィンドウのクラス名を返す ため、次のように sleep
を挟んでコマンドを遅延実行することで取得した。
sleep 3 && busctl --user call org.gnome.Shell /com/k0kubun/Xremap com.k0kubun.Xremap WMClass
おそらく https://github.com/k0kubun/xremap/issues/179 によるもの。追加されたワークアラウンドの keypress_delay_ms
の設定を追加して対応した。
+# Workaround for https://github.com/k0kubun/xremap/issues/179
+keypress_delay_ms: 20
+
modmap:
動作しなかったのは、例えば以下のような設定。
- name: Nautilus
application:
only: Org.gnome.Nautilus
remap:
M-t: C-t
M-w: C-w
M-f: C-f
Ctrl+Space
に割り当てた Ulauncher が動作しなかった。
https://github.com/Ulauncher/Ulauncher/wiki/Hotkey-In-Wayland Ulauncher in Wayland does not receive hotkey events when triggered from some windows (like terminal or OS Settings).
上記記事の通り、Wayland で利用するには設定が必要とのこと。
記事の手順によって引き続き使うこともできるが、Ulauncher をやめ、GNOME の Activities を Ctrl+Space
に割り当てて使ってみることにした。
しっくりこなければ、Ulauncher か別の選択肢を検討することにする。