これになった.
tmux3.4 + urxvtの組み合わせで謎の文字列が出力される
tmuxを3.4にあげてからというもの,ターミナル起動時に必ず
10;rgb:ff00/ff00/ff00]11;rgba:0000/0000/0000/bfff
この文字が出力される.
原因はこれなんだけど,tmuxとurxvtの組み合わせによるものだ.urxvt側の修正を入れなきゃいけないんだけど,urxvtが更新されてないので自分で修正してビルドする必要がある. 正直面倒だし,urxvtも飽きたので,新しいターミナルを探してみることにした.
alacritty
この辺を漁っていたら,良さそうなものを見つけた.クロスプラットフォームで,Rustベースで,シンプル.設定を外部ファイルで指定できる.
というわけでalacrittyを使ってみることにした.
~/.config/alacritty/alacritty.toml
import = [ "~/.config/alacritty/themes/themes/monokai_charcoal.toml" ] [window] opacity=0.8 [font] # Normal font style normal = { family = "Ubuntu Mono derivative Powerline", style = "Regular" } # Default for Linux/BSD: "monospace", Regular # Bold font style bold = { style = "Bold" } # Inherits family from normal, Default style: Bold # Italic font style italic = { style = "Italic" } # Inherits family from normal, Default style: Italic # Bold Italic font style bold_italic = { style = "Bold Italic" } # Inherits family from normal, Default style: Bold Italic # Font size in points size = 11.25 # Default: 11.25se
テーマは
ここにいっぱいあるので,結構選びたい放題だった.これもalacrittyの良い点であった.カラーテーマ変更がめちゃくちゃ楽.
ただ,使ってみるとtmuxのキーバインドが一部使えなくなっていた.特にMetaとの組み合わせのショートカットが軒並み動かない. tmuxはcopy-modeに入るとデフォルトでemacsキーバインドを使う.このときにemacsなのでCtrlとMetaを多用する.Ctrlは問題なく動くが,Metaがalacrittyに吸収されてしまいtmux側に入力されていない.というわけでMetaとの組み合わせを正しく伝達させる.
[[keyboard.bindings]] key = "<" mods = "Super|Shift" chars = "\u001B<" [[keyboard.bindings]] key = ">" mods = "Super|Shift" chars = "\u001B>" [[keyboard.bindings]] key = "R" mods = "Super|Shift" chars = "\u001BR" [[keyboard.bindings]] key = "b" mods = "Super" chars = "\u001Bb" [[keyboard.bindings]] key = "f" mods = "Super" chars = "\u001Bf" [[keyboard.bindings]] key = "m" mods = "Super" chars = "\u001Bm" [[keyboard.bindings]] key = "r" mods = "Super" chars = "\u001Br" [[keyboard.bindings]] key = "v" mods = "Super" chars = "\u001Bv" [[keyboard.bindings]] key = "w" mods = "Super" chars = "\u001Bw" [[keyboard.bindings]] key = "x" mods = "Super" chars = "\u001Bx"
こんな感じ.これで無事にcopy-modeでもショートカットが使えるようになる.
ちなみにmacOS向けには option_as_alt
という設定もあるらしい.が,macOSで使ってないのでわからん.
また,画面共有するとき等にターミナルの文字サイズを変更したくなることがある.というわけでこのためのショートカットも作っておく.
[[keyboard.bindings]] key = "Up" mods = "Control" action = "IncreaseFontSize" [[keyboard.bindings]] key = "Down" mods = "Control" action = "DecreaseFontSize" [[keyboard.bindings]] key = "=" mods = "Control|Shift" action = "ResetFontSize"
余談
他にもkittyとかstとか試してみた.stは割と良さそうでは合ったのだが,フォント変更等の設定変更にヘッダーファイル変更+再ビルドが必要なので,それは流石に試行錯誤するときに面倒すぎるのでやめた. kittyも(ぐぐらびりてぃがやたら低いことを除外すれば)割と良かったけど,フォントレンダリング周りの結果を見てalacrittyの方が良かった.