いつも通りに分割線を multibyte character から ascii にする作業をします。
過去の作業ログは 2.9a や 2.8 や 2.7 など。そもそもの問題についてはこの記事にあります。
環境
- OS: macOS Mojave 10.14.6
- tmux: 3.0a-border-ascii ( 9664700184f23ec828768c8aceac248dc2efffdc )
- Homebrew: 2.2.1-76-gaf98c15
- Homebrew/homebrew-core: (git revision d0305; last commit 2019-12-20)
- Font: Ricty 3.2.2
インストール方法
- $ brew install --HEAD atton/customs/tmux
でインストールできます。
今回の変更
tmux は window や pane を表示するための文字情報を tty-acs.c に持っています。
なので、毎度この定義を修正する事で対応しています。
2.9a の時等は tty-acs.c に変更が無かった為、過去の commit の cherry-pick のみで目的が達成できました。
が、今回は修正が入っているので cherry-pick をすると conflict します。
conflict を解消する形で対応しても良いのですが、今回は新しく修正用の commit を作ることにしました。
conflict を解消する形で対応しても良いのですが、今回は新しく修正用の commit を作ることにしました。
過去のパッチ を参考にすると、置換が必要な文字とその対応関係は
- j,k,l,m,n,t,u,v,w が "+"
- x が "|"
- q が "-"
- ~ が "*"
のようです。これらを元に tty-acs.c を修正。make すると今まで通り動きました。
もちろん後から何か踏む可能性はありますが、今の所問題は発生していません。
ということで tmux のソースコードの更新は以上。
あとは branch 名を homebrew の atton/customs 用に付けてあげればおしまいです。
formula の更新は本家 tmux の --HEAD 版の定義を借りて、branch 名を指定すればOK。
と、いうことで tmux 3.0a-border-ascii の更新ログでした。
もちろん後から何か踏む可能性はありますが、今の所問題は発生していません。
ということで tmux のソースコードの更新は以上。
あとは branch 名を homebrew の atton/customs 用に付けてあげればおしまいです。
formula の更新は本家 tmux の --HEAD 版の定義を借りて、branch 名を指定すればOK。
と、いうことで tmux 3.0a-border-ascii の更新ログでした。
おまけ
分割線の定義を間違えると、分割した瞬間に tmux が crash します。こわい。
きちんと定義できれば以下のように割りたい放題しても動きます。