WezTerm ターミナルエミュレータを導入

Ubuntu ではターミナルエミュレータとして長らく Alacritty を使わせていただいていたのですが、WezTerm も良さそうな感じがしましたので使ってみることにしました。

カスタマイズできる項目が非常に多く、こだわりのターミナル環境がつくれそうです。

WezTerm

WezTerm is a powerful cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

実行環境ですが、Ubuntu 22.04 LTS の X11 セッションにて、ターミナルワークスペースの Zellij と組み合わせで使っています。ちなみに自分の環境だと Flatpack 版で Ibus の接続が「時折」うまくいかなくなる事象がでていたので deb 版を使っています。 IME がうまく切り替わらない問題は deb 版でも発生するようです。原因調査中。

X11 環境下でも IME 変換窓がずれない

Alacritty/X11 だと変換窓がウインドウの下にずれてしまうのですが、WezTerm/X11 は正しい位置に表示されていい感じです。

自分は、OBS Studio の対応などの関係で Wayland に移行できておらず X11 なのでタスカルラスカル。

壁紙が設定できる

画像のオフセット指定や、複数枚指定などこだわりの壁紙設定が可能です。良い。

(壁紙は Atelier Ryza 3: Alchemist of the End & the Secret Key | #WelcomebackRyzaEU Campaign Overview より)

ショートカットキーでフォントの大きさを操作できる

実はこの機能が欲しくて WezTerm にたどり着いたのですが、ショートカットキー CTRL + SHIFT + – などで表示フォントの大きさが素早く変更できます。

自分はよくあるのですが、他の方への説明で、見やすいように一時的にフォントを大きくしたいケースで便利です。

その他にも、ショートカットキーにはさまざまな機能をバインドできるようです。

高いカスタマイズ性

コンフィグレーションは .lue 言語を使ってできるので、プログラマルにいろいろなことができそうです。

以下は単純な設定ですが、参考までに自分の現在のところの .wezterm.lua を添付します。

local wezterm = require 'wezterm'
local config = {}

-- ime
config.use_ime = true
config.xim_im_name = 'ibus'

-- font
config.font = wezterm.font 'HackGen Console NF'
config.font_size = 12.0
-- CTRL + - などでのフォント変更時にウインドウサイズを変更しない
config.adjust_window_size_when_changing_font_size = false

-- window
config.initial_cols = 150
config.initial_rows = 52
config.window_padding = {
  left = 0,
  right = 0,
  top = 0,
  bottom = 0,
}
-- タブバーをタブがひとつの時は表示しない
config.hide_tab_bar_if_only_one_tab = true

-- color
config.colors = {
  foreground = "#c5c8c6",
  background = "#181818",
  visual_bell = '#202020',
}
-- デフォルトカラースキームから選択
config.color_scheme = 'Darcula (base16)'

-- backgound
config.background = {
  {
    source = {
      File = '/home/hiromasa/Documents/images/ryza/Ryza3Wallpaper3_iPhone2.jpg'
    },
    hsb =  { brightness = 0.02 },
    opacity = 1.0,
    attachment = { Parallax = 0.5 },
    horizontal_offset = 0,
    vertical_offset = -800,
  }
}

-- disable bell
config.audible_bell = "Disabled"
config.visual_bell = {
  fade_in_duration_ms = 75,
  fade_out_duration_ms = 75,
  target = 'CursorColor',
}

return config

その他の自分の気になり機能としては、シリアルポートサポートがあったり、

wezterm serial /dev/ttyUSB0

Sixel や iTerm 形式の画像表示に対応していたり、

wezterm imgcat /path/to/image.png

等々、非常に多機能です。素晴らしい…! 継続して使っていきたいと思います。

関連

コメントを残す