mlterm

提供: ArchWiki
2023年12月28日 (木) 23:44時点におけるKgx (トーク | 投稿記録)による版 (→‎Render Arabic script in Xft: 翻訳)
ナビゲーションに移動 検索に移動

mlterm は非常に高速な 低遅延 ターミナルエミュレーターであり、可変幅フォントのレンダリング、適切な双方向などの多くの独自の機能を備えています。すぐに使用できるデーモンモード、複数の XIM、および景透過性をサポートします。

インストール

mlterm-gitAUR パッケージを インストール して下さい。

設定

設定は、~/.mlterm/ の下のプレーンテキストファイルに保存します。

ほとんどは ~/.mlterm/main で定義されています

すべての設定はコマンドラインオプションを使用して設定できます。

GUI 設定ウィザードは、Ctrl+RightMouse で開くことができ、さまざまな設定を試すのに役立ちます。

パディング

パディングを有効にするには、メイン設定ファイル ~.mlterm/maininner_border=value を設定するか、--border=value オプションを使用します。

フォント

フォントは、2 つの異なるファイル ~/.mlterm/aafont (等幅) と ~/.mlterm/vaafont (非等幅) で個別に定義されます。

ENCODING = FONT NAME, SIZE

各エンコーディングでは異なるフォントを使用できます。エンコーディングの完全なリストについては、マニュアルページを確認してください。

Mlterm には、mlfc というツールが提供されています。このツールは、Unicode ブロックとフォントのペアのリストを aafont に取り込み、特定の言語で使用するフォントを選択するのに役立ちます。

可変幅フォントの使用

mlterm は可変幅フォントを適切に表示できます。まず、.mlterm/vaafont で定義します。

DEFAULT = Latin Modern Roman, 12

そして、.mlterm/main のオプションを有効にします。

use_variable_column_width = true

あるいは、コマンド ライン --varwidth で渡すか、設定ウィンドウの フォント ダイアログで 可変列幅 オプションをチェックすることもできます。 アンチエイリアスを有効にする必要があります。有効にしないと等幅にフォールバックします。

use_anti_alias = true

フォントに応じて、ウィンドウをセルの新しい可変幅に合わせて フォントサイズに対する画面サイズの比率 を調整します。 --wscrpercentage オプションを使用するか、メイン設定ファイルに保存します。

screen_width_ratio = percentage

カスタムカラー

次の色名を使用して、~/.mlterm/colors ファイルでカスタムカラーを定義できます:

black=#48483e
red=#dc2566
green=#8fc029
yellow=#d4c96e
blue=#55bcce
magenta=#9358fe
cyan=#56b7a5
white=#acada1
hl_black=#76715e
hl_red=#fa2772
hl_green=#a7e22e
hl_yellow=#e7db75
hl_blue=#66d9ee
hl_magenta=#ae82ff
hl_cyan=#66efd5
hl_white=#cfd0c2

さらに、前景色と背景色の値は、-f および -b 引数を使用して個別に指定するか、.mlterm/main 保存する必要があります:

fg_color = #f1ebeb
bg_color = #272822

前の例の値は、.Xresources の monokai カラーテーマに対応しています。[1]

使い方

Shift+Up キーまたは Shift+Prior キーを押すか、マウスホイールを使用して、バックスクロールモードにアクセスしてバッファをスクロールできます。

バッファ選択モードに入るには、Ctrl+Shift+Return を押し、矢印キーを使用して移動します。選択を開始および終了するには、スペース space キーを押します。選択したテキストがクリップボードにコピーされます。

どちらのモードも、hjkl キーと u/d キーを使用して画面を移動する vi の移動をサポートしています。

Troubleshooting

Render CJK characters when using Xft

If you see empty glyph boxes when rendering CJK characters, that is because the font you are using does not support them, and unlike using cairo, mlterm with Xft does not look for a fallback fonts as an alternative (as explained by the author in GitHub issue#18).

If your default font does not support CJK glyphs, you can specify such font (such as Noto Sans Mono CJK JP) as a fallback font besides your default font in ~/.mlterm/aafont :

DEFAULT = Fantasque Sans Mono 12
ISO10646_UCS4_1_FULLWIDTH = Noto Sans Mono CJK JP 10

Xft でアラビア語スクリプトをレンダリングする

メインのフォントがアラビア語の Unicode 範囲をサポートしていない場合は、アラビア文字の すべての Unicode 範囲 の完全なリストを提供することで、アラビア文字を適切にサポートするフォント (DejaVu Sans Mono など) を使用するように mlterm に具体的に指示できます:

U+10a60-10a7f = DejaVu Sans Mono, 10
U+10a80-10a9f = DejaVu Sans Mono, 10
U+600-6ffj    = DejaVu Sans Mono, 10
U+750-77f     = DejaVu Sans Mono, 10
U+8a0-8ff     = DejaVu Sans Mono, 10
U+1ee00-1eeff = DejaVu Sans Mono, 10 
U+10e60-10e7f = DejaVu Sans Mono, 10
U+fe70-feff   = DejaVu Sans Mono, 10
U+fb50-fdff   = DejaVu Sans Mono, 10

Arabic script rendering when using fixed width fonts

When entering in Arabic on a R-to-L line, proper rendering of ligatures might need a screen refresh when using fixed width fonts. One workaround is to enable the variable column width option and set your vaafont to the fixed width font. follow this issue on github.

参照

  • LWN.net ターミナルエミュレータに関する記事
  • Typometer 入力レイテンシーを測定するツール