Ubuntu ではターミナルエミュレータとして長らく Alacritty を使わせていただいていたのですが、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
等々、非常に多機能です。素晴らしい…! 継続して使っていきたいと思います。