WezTerm関連
WezTermを使い始めた背景
-
sixel対応があり、タブ機能がある。
- Tmuxもsixel対応が徐々に始まっているが正式にリリースされていない(2023/12時点)
- Tmuxの機能を満たしていこうとしているように見える(が、もちろん併用もできる)
-
ドキュメントが充実している
- とはいえLuaでカスタマイズできる範囲が広いので、自分で試す部分はある
-
フォントの指定が柔軟にできる
-
Windows、macOS、Linuxに対応している
- 設定をまとめることができる
OSごとに設定を変える
wezterm.target_triple - Wez’s Terminal Emulator
キーテーブルを固定する機能がある。
例えばペインのサイズを変更する場合、私はHJKLのキーでサイズ調整している。 ペインのサイズを変更するたびに「ctrl + shift + h」を繰り返したりしている。 が、一度、リーダーキーを押してキーテーブルに入ったら、連続して「h」を押すだけで、サイズを調整できたりすると連続してサイズ調整できるので嬉しい。
one_shot=false とするとモードに入ったかのようにできるので嬉しい。
{ key = 'y', mods = 'CTRL', action = wezterm.action.ActivateKeyTable { name = 'leader_option', one_shot = false } },
素敵な機能なのは間違いがない。ただ私個人の問題としてprefixキーがそろそろ使い切るというか、モードに入るためのキーバイドって悩ましい。
-
私がprefix使いすぎている
- WezTerm(ctrl + y)
- Tmux用2つ(ctrl + t, ctrl + b)
-
モードの切り替えはWezTermとTmuxで共通にしたい。が、Tmux側で一つのセッション内でprefixを異なるものに設定する方法が分からない
- Tmuxのペイン作成は ctrl + t、サイズ調整は ctrl + p とかにしたい、がTmux用の設定がわからず
という訳で使いこなせてない。
私が使っているカラースキーム
一時期は穏やかなカラースキームを使っていたのだけど、ターミナルを透過する設定で使い出すと見えづらくなったので、コントラストが強いカラースキームを使うようになった。
https://wezfurlong.org/wezterm/colorschemes/n/index.html#neobones_light
個人的なTodo
- wezterm.onイベントでの自動化
- テーマは豊富にあり使っているが、部分的にハイライトを強くしたい箇所がある
- 8年くらい使ってきたiTerm2 + tmuxの構成からWez’s Terminalに移行してみる | tubone BOYAKI
- タブ名にアイコン表示しているの素敵すぎるので真似したい
- 現在のディレクトリを引き継ぐ設定を行いたい(tmuxだとできているので)
ハイパーリンクの正規表現を設定する
Hyperlinks - Wez’s Terminal Emulator
ルールは、下記のURLを参考にした hyperlink_rules - Wez’s Terminal Emulator
tmux関連の設定を変更する時は、一度、ログアウトするなりしてtmuxのセッションを完全に停止してからの方が良い
コピーモードの挙動を変えたいとき
私はデフォルトの設定で問題ないが変えたくなった時のためにメモ local act = wezterm.action – act は copy_mode で使う Copy Mode - Wez’s Terminal Emulator
Luaのテーブルに簡単に追加する関数
local function append_table(table, other)
for k, v in pairs(other) do
table[k] = v
end
end
メニューに何か追加する方法
config.launch_menu = {
{
args = { 'top' },
},
{
label = 'fish',
set_environment_variables = { HOME = "/Users/kaoru" },
cwd = "/Users/kaoru",
args = { '/opt/homebrew/bin/fish', '--login' },
},
{
label = 'memo',
args = { '/User/kaoru/.bin/memo.sh' },
},
}
Ubuntu Studio で透過ができないな…?
mac OSだとできるが Linux ではできない… たぶんKDEのどこかの設定が影響している、という状況。 KDEの設定を開き、「ディスプレィとモニタ」の「コンポジタ」の「Compositing : Enable on startup」をオンにすると透過できるようになった
他可能性としては
不透明ウィンドウを強制する設定をオフ
System Settings → Desktop Effects を開く
Force Blur や Background Contrast を無効にする
ウィンドウルールで透過を許可
System Settings → Window Management → Window Rules を開く Add New Rule を作成し、WezTermに対して透明度を適用する Window class (application) に wezterm を指定 Opacity のルールを Apply Initially に設定し、透明度を 80% くらいに設定 Apply を押して適用
X11 vs Wayland
Plasmaでは X11 と Wayland のどちらで動かしているかによって、WezTermの透過挙動が変わることがあります。
echo $XDG_SESSION_TYPE を実行し、x11 なら X11, wayland なら Wayland で動作中
参考
-
Window Title - Commentary of Dotfiles
- ウィンドウタイトルの設定が参考になった
- 他のページも参考になる
-
alacritty+tmuxもいいけど、weztermがすごい件
- 機能紹介が参考になった。使いたくなる
- Luaで設定が書けるメリット。確かにカスタマイズの感触はTmuxというよりはVim/Neovimに近い
- wezterm.onによるイベントはまだ有効活用できてない
- 機能紹介が参考になった。使いたくなる
-
- キーバインドの設定が参考になった
-
8年くらい使ってきたiTerm2 + tmuxの構成からWez’s Terminalに移行してみる | tubone BOYAKI
- タブ名のカスタマイズのアイデアが素敵