XeFM テキストビューアーのステータスバー
English | 日本語
概要
XeFM のテキストビューアーには、画面下部に充実したステータスバーがあり、現在のファイルとビューアーの状態をリアルタイムに表示します。
ステータスバーのレイアウト
Line 45/127 (35%) | 2.3K PY | NUM | SYNTAX
└─── Position Info ───┘ └─ File Size ─┘ └──── File Type & Options ────┘
表示される情報
左側:位置とファイルの情報
- 現在の行:現在の行番号(1 始まり)
- 総行数:ファイルの総行数
- スクロール率:ファイルのどこまでスクロールしたか(0〜100%)
- 列位置:横スクロールしているときは、現在の列を表示
- ファイルサイズ:ファイルサイズを適切な単位(B、K、M、G)で表示
アーカイブ作成の進捗
アーカイブを作成しているときは、ステータスバーに進捗がリアルタイムに表示されます。
- 形式:
Creating archive... 45/120 (37%) - filename.txt
- ファイル数:処理済み/全体のファイル数
- パーセンテージ:完了率
- 現在のファイル:処理中のファイル名(長すぎる場合は切り詰め)
右側:ファイルの種類と有効なオプション
- ファイル形式:大文字のファイル拡張子(PY、JSON、MD など)
- NUM:行番号が有効なときに表示
- WRAP:行の折り返しが有効なときに表示
- SYNTAX:シンタックスハイライトが有効なときに表示
例
行番号とシンタックスハイライトが有効な Python ファイル
Line 1/50 (2%) | 1.2K PY | NUM | SYNTAX
中ほどまでスクロールし、横スクロールもしている JSON ファイル
Line 25/50 (50%) | Col 15 | 856B JSON | NUM | SYNTAX
行の折り返しが有効で、シンタックスハイライトなしのテキストファイル
Line 10/20 (50%) | 3.4K TXT | NUM | WRAP
末尾まで来た大きな Markdown ファイル
Line 500/500 (100%) | 45.2K MD | NUM | SYNTAX
アーカイブ作成中
Creating archive... 45/120 (37%) - long_filename_that_gets_truncated.txt
動的な更新
ステータスバーは、次の操作に合わせてリアルタイムに更新されます。
- 縦スクロール:行番号とパーセンテージが変わる
- 横スクロール:列位置が表示・更新される
- オプションの切り替え:NUM、WRAP、SYNTAX の表示が現れたり消えたりする
- ファイルの切り替え:すべての情報が新しいファイルのものに更新される
利点
✅ 位置の把握
- 大きなファイルでも現在位置がすぐにわかる
- ドキュメントを読み進めるときに進み具合を追える
- 行数の情報でファイルの構造をつかめる
✅ ファイルの情報
- ビューアーを離れずにファイルサイズをすぐ確認できる
- ファイルの種類として、検出された形式を確認できる
- エンコーディングを意識できる(テキストファイルは UTF-8 とみなす)
✅ オプションの状態
- 有効な設定項目を目で確認できる
- 現在のビューアーの設定を推測する必要がない
- すべての切り替え操作に一貫したフィードバックがある
技術的な実装
効率的な更新
- 画面を再描画するたびに必要に応じて計算
- ファイル情報をキャッシュするのでパフォーマンスへの影響は最小限
- ターミナルの幅に合わせて表示が調整される
堅牢な情報
- エラー処理付きの安全なファイルサイズ計算
- 大きなファイルでも正確な位置の追跡
- ゼロ除算を避けた正しいパーセンテージ計算
ターミナルとの互換性
- 幅の狭いターミナルでは情報を適切に切り詰めて対応
- 使える幅に合わせて調整される右寄せのレイアウト
XeFM との統合
ステータスバーは XeFM のメイン画面と同じ配色とデザインを使っているので、ファイル管理の作業全体を通して一貫した使い心地になります。
ステータスバーによって、テキストビューアーは単にファイルを表示するだけのものから、コード、設定ファイル、ドキュメントを見ている間も現在位置と状態がわかる、情報の豊かな本格的なテキスト編集環境になります。