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」を押すだけで、サイズを調整できたりすると連続してサイズ調整できるので嬉しい。

WezTermに移行してみている

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

ハイパーリンクの正規表現を設定する

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 で動作中

参考