コンテンツにスキップ

「Mlterm」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
en:Mltermへの転送ページ
 
Kgx (トーク | 投稿記録)
 
(2人の利用者による、間の13版が非表示)
1行目: 1行目:
{{Lowercase title}}
#redirect[[en:Mlterm‏‎]]
[[Category:ターミナルエミュレータ]]
[[en:mlterm]]
[https://github.com/arakiken/mlterm mlterm] は非常に高速な [https://lwn.net/Articles/751763/ 低遅延] ターミナルエミュレーターであり、可変幅フォントのレンダリング、適切な双方向などの多くの独自の機能を備えています。すぐに使用できるデーモンモード、複数の XIM、および景透過性をサポートします。

== インストール ==

{{AUR|mlterm-git}} パッケージを [[インストール]] して下さい。

== 設定 ==

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

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

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

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

=== パディング ===

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

=== フォント ===

フォントは、2 つの異なるファイル {{ic|~/.mlterm/aafont}} (等幅) と {{ic|~/.mlterm/vaafont}} (非等幅) で個別に定義されます。
ENCODING = FONT NAME, SIZE

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

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

==== 可変幅フォントの使用 ====

{{ic|mlterm}} は可変幅フォントを適切に表示できます。まず、{{ic|.mlterm/vaafont}} で定義します。
DEFAULT = Latin Modern Roman, 12
そして、{{ic|.mlterm/main}} のオプションを有効にします。
use_variable_column_width = true
あるいは、コマンド ライン {{ic|--varwidth}} で渡すか、設定ウィンドウの ''フォント'' ダイアログで ''可変列幅'' オプションをチェックすることもできます。
アンチエイリアスを有効にする必要があります。有効にしないと等幅にフォールバックします。
use_anti_alias = true

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

=== カスタムカラー ===

次の色名を使用して、{{ic|~/.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

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

fg_color = #f1ebeb
bg_color = #272822

前の例の値は、.Xresources の ''monokai'' カラーテーマに対応しています。[https://github.com/janoamaral/Xresources-themes.git]

== 使い方 ==

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

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

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

== トラブルシューティング ==

=== テキスト描画領域外にドットが表示される問題の修正 ===

一部のフォントには、テキスト描画領域から溢れるグリフ (アラビア文字、ダイアクリティックマーク、括弧など) があります。これらは、ターミナルに残るドットを生成し、時間の経過とともに蓄積される可能性があります。

{{ic|xterm}} の {{ic|useClipping}} 設定と同様に、{{ic|--clp}} オプションを使用するか、メイン設定ファイルに

use_clipping = true

を追加して、クリッピングを有効にしてください。

=== Xft を使用するときに CJK 文字をレンダリングする ===

CJK 文字をレンダリングするときに文字化けする場合は、使用しているフォントがそのグリフボックスをサポートしていないためです。また、'''cairo を使用''' とは異なり、'''Xft''' を使用した mlterm はフォールバックを検索しません。代替としてフォントを使用します ([https://github.com/arakiken/mlterm/issues/18#issuecomment-841337016 GitHub issue#18] で著者によって説明されています)

デフォルトのフォントが CJK グリフをサポートしていない場合は、そのようなフォント ({{ic|Noto Sans Mono CJK JP}} など) を、{{ic|~/.mlterm/aafont}} でデフォルトフォントのほかにフォールバックフォントとして指定できます:

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

=== Xft でアラビア文字をレンダリングする ===

メインのフォントがアラビア語の Unicode 範囲をサポートしていない場合は、アラビア文字の [[Wikipedia:Arabic_script_in_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

=== 固定幅フォント使用時のアラビア文字のレンダリング ===

右から左にアラビア語を入力する場合、固定幅フォントを使用すると、合字を適切に表示するには画面を更新する必要がある場合があります。回避策の 1 つは、{{ic|可変列幅}} オプションを有効にして、vaafont を固定幅フォントに設定することです。[https://github.com/arakiken/mlterm/issues/52 github でこの問題をフォローしてください]

== 参照 ==

*[https://lwn.net/Articles/751763/ LWN.net] ターミナルエミュレータに関する記事
*[https://github.com/pavelfatin/typometer Typometer] 入力レイテンシーを測定するツール

2025年2月17日 (月) 07:19時点における最新版

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 の移動をサポートしています。

トラブルシューティング

テキスト描画領域外にドットが表示される問題の修正

一部のフォントには、テキスト描画領域から溢れるグリフ (アラビア文字、ダイアクリティックマーク、括弧など) があります。これらは、ターミナルに残るドットを生成し、時間の経過とともに蓄積される可能性があります。

xtermuseClipping 設定と同様に、--clp オプションを使用するか、メイン設定ファイルに

use_clipping = true

を追加して、クリッピングを有効にしてください。

Xft を使用するときに CJK 文字をレンダリングする

CJK 文字をレンダリングするときに文字化けする場合は、使用しているフォントがそのグリフボックスをサポートしていないためです。また、cairo を使用 とは異なり、Xft を使用した mlterm はフォールバックを検索しません。代替としてフォントを使用します (GitHub issue#18 で著者によって説明されています)

デフォルトのフォントが CJK グリフをサポートしていない場合は、そのようなフォント (Noto Sans Mono CJK JP など) を、~/.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

固定幅フォント使用時のアラビア文字のレンダリング

右から左にアラビア語を入力する場合、固定幅フォントを使用すると、合字を適切に表示するには画面を更新する必要がある場合があります。回避策の 1 つは、可変列幅 オプションを有効にして、vaafont を固定幅フォントに設定することです。github でこの問題をフォローしてください

参照

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