プログラミング
シンプルで美しいEmacsのモデライン: modusregel
Simple, beautiful Emacs modeline: modusregel (codeberg.org)
要約
modusregelは、Emacsのために開発された、シンプルで美しいモデライン(ステータスバー)パッケージです。カスタマイズ性、美しさ、パフォーマンスを重視して設計されており、GUIとTUIの両方のビューポートで動作します。軽量で高速、かつEmacs Lispで書かれています。
全文翻訳
jjba23/modusregel
ウォッチ 1 スター 3 フォーク
あなたはすでに modusregel をフォークしています
0 コード
イシュー
プルリクエスト
アクティビティ
クリーンで美しいEmacsのモデライン、カスタマイズ性とパフォーマンスを考慮
emacs lisp
mode-line
パッケージ
74 コミット
1 ブランチ
21 タグ
290 KiB
Emacs Lisp 100%
トランク
ファイルを探す
HTTPS
ZIPをダウンロード
TAR.GZをダウンロード
バンドルをダウンロード
VS Codeで開く
VSCodiumで開く
Intellij IDEAで開く
Josep Bigorra
1122f811c4 docs: 📝 2026-07-02 23:43:01 +02:00
COPYING
docsを追加 2024-09-23 14:10:54 +02:00
modusregel.el
feat: facesをプロパタイズ 2026-07-02 23:25:15 +02:00
README.org
docs: 📝 2026-07-02 23:43:01 +02:00
README.org
modusregel
modusregelとは?
📸 スクリーンショット
インストール
ライセンス
AIポリシー
行動規範
modusregelプロジェクト
keycastとの使用例
modusregelとは?
modusregelはオランダ語で「モードライン」を意味します。
このパッケージは、カスタマイズ性、美しさ、パフォーマンスを念頭に置いて構築された、Emacs(下部のバー)のためのクリーンでシンプル、エレガントで美しいモードラインを提供します。
GUIおよびTUIビューポートの両方で完全に互換性があります。
Tree-Sitter Smart Major Mode-Mapping: メジャーモード名を装飾し、-ts-modeバリアント(例: rust-ts-mode)を検出し、それらを美しくクリーンアップします(例: Rust)。
LSP & Flymake対応: EglotおよびFlymakeカウンターの組み込みで、邪魔にならないインジケーター。
軽量&高速: パフォーマンスを考慮して、純粋で効率的なEmacs Lispで記述されています—外部依存関係はありません。
TUI/GUIの同等性: ターミナルまたはグラフィカルウィンドウでEmacsを実行しているかどうかにかかわらず、シャープで整列した外観になるように設計されています。
私の作品を気に入っていただけたら、コーヒー☕を一杯買って私をサポートしてください。そうすれば、多くのモチベーションを維持できます。
📸 スクリーンショット
注: modusregelは、ネイティブのEmacsモードラインを完全に、または部分的に置き換えるように設計されています。
特定の外部モデラインパッケージとの統合には、カスタム設定が必要になる場合があります。
modusregelは、インターフェースをクリーンに保ちながらも深く情報を提供するミニマリストなUnicodeアイコンを使用しています。
インターフェースをクリーンに保ちながらも深く情報を提供するミニマリストなUnicodeアイコンを使用しています:
𝝺 modusregel-leading-str Lambda: モードラインの絶対的な開始位置に配置され、EmacsのLispの伝統を称えています。
● modusregel-buffer-modified-str 未保存の変更: 現在のバッファが変更されたがまだ保存されていない場合にのみ表示されます。
☡ modusregel-buffer-read-only-str 読み取り専用警告: バッファが書き込み保護されているか読み取り専用の場合に表示されます。
☍ modusregel-remote-expr リモート接続: リモートファイル(例: TRAMP経由)で作業している場合に表示されます。
𝌤 modusregel-eglot-expr Eglot LSP アクティブ: バッファをアクティブに管理しているEglot Language Server Protocolセッションがある場合に表示されます。
インストール
このパッケージは、MELPAやELPAなどの一般的なEmacsリポジトリでは(まだ)利用できません。
Elpacaを使用したインストールの例:
(use-package modusregel :ensure (:host codeberg :repo "jjba23/modusregel" :branch "trunk") :demand t)
注: mode-line-formatはウィンドウローカルであるため、変更を永続化してグローバルに設定するには、setq-defaultを使用し、調整や実験のために一時的にsetqに変更する必要があることを忘れないでください。
;; ウィンドウのみ
(setq mode-line-format modusregel-format)
;; グローバル
(setq-default mode-line-format modusregel-format)
設定でモデラインが設定されていることを確認するには、Emacsのコアを調整する必要があります。
また、この方法で、どの部分を選択するかを決めることができます:
;; シンプルな例
(defun my-set-custom-modeline ()
(setq mode-line-format modusregel-format))
;; より高度な制御
(defun my-set-custom-modeline ()
"modusregelを使用してmode-lineフォーマットをカスタマイズします。"
(setq mode-line-format
(list modusregel-leading-str
modusregel-remote-expr
modusregel-buffer-name-expr
modusregel-buffer-modified-str
modusregel-buffer-read-only-str
modusregel-spacer-str
;; nyan-modeが上記で有効になっている場合はコメントを解除
;; modusregel-nyan-expr
modusregel-spacer-str
modusregel-line-number-str
modusregel-column-number-str
modusregel-spacer-str
modusregel-buffer-position-str
modusregel-spacer-str
modusregel-vc-expr
modusregel-major-mode-expr
modusregel-eglot-expr
modusregel-spacer-str
modusregel-flymake-expr
(ignore-errors keycast-mode-line)))
;; 重要なフック
(add-hook 'after-change-major-mode-hook #'my-set-custom-modeline)
ライセンス
modusregelおよびそのすべてのソースコードはフリーソフトウェアであり、GNU General Public License v3(または都合の良い新しいバージョン)の下でライセンスされています。
https://www.gnu.org/licenses/gpl-3.0.html
modusregelと共に提供されるドキュメントおよび例(このドキュメントを含む)はすべて、GNU Free Documentation License v1.3(または都合の良い新しいバージョン)の下でライセンスされています。
https://www.gnu.org/licenses/fdl-1.3.html
AIポリシー
このプロジェクトはjointhefreeworldのAI(人工知能)ポリシーに準拠しています。
私たちの中心的な原則はシンプルです:AIは人間の創造性と問題解決を支援すべきであり、人間の推論を決して置き換えるべきではありません。
大規模言語モデル(LLM)やインタラクティブチャットボットのようなツールは、レビュー、小規模な関数のリファクタリング、またはブレインストーミングの相手として役立つかもしれませんが、それらは適度に使用されるべきです。
すべての貢献において、人間が介在することを要求します。
このプロジェクトにプルリクエストを自動生成して提出するために、自律的なAIエージェントを使用することは固く禁じられています。
行動規範
このプロジェクトはjointhefreeworldの行動規範に準拠しています。
こちらで見つけてください: https://jointhefreeworld.org/blog/articles/personal/jointhefreeworld-code-of-conduct/index.html
要約すると、私たちはすべての貢献者とこのフリーソフトウェアプロジェクトのユーザーのために、包括的で、敬意があり、協力的な環境を育みます。
GNUプロジェクトの理想に触発され、私たちは自由、平等、そしてコミュニティを指針となる原則として維持することを目指しています。
相互尊重のコミュニティでの協力が、優れたフリーソフトウェアを作成するために不可欠であると信じています。
modusregelプロジェクト
フリーソフトウェアへの貢献は、寛大さ、協力、そしてエンパワーメントの原則を体現しているため、ユニークに美しい行為です。
modusregelプロジェクトへ皆様を歓迎し、それを改善するため、または改善を提案するため、私とブレインストーミングするため、よりモジュール化/柔軟にするためなど、あらゆる形態での積極的な貢献を奨励します。
チャット、議論、またはフィードバックの報告のために、私 <jjbigorra@gmail.com> に連絡することを自由にしてください。
私のEmacsパッケージのバックログとカンバンボードはこちらで見つけてください: https://lucidplan.jointhefreeworld.org/tickets/emacs-pkg
keycastとの使用例
modusregel
このパッケージをkeycastと組み合わせて使用したい場合は、上記の例を参照してください。高度な制御を実演していますが、あるいは次のようなこともできます:
(use-package keycast :ensure t :hook (after-init . keycast-mode) :config (define-minor-mode keycast-mode "モードラインに現在のコマンドとそのキーバインディングを表示します。" :global t (if keycast-mode (add-hook 'pre-command-hook 'keycast--update t) (remove-hook 'pre-command-hook 'keycast--update))))
(use-package modusregel :ensure (:host codeberg :repo "jjba23/modusregel" :branch "trunk") :after (keycast) :config (add-to-list 'modusregel-format '("" keycast-mode-line)) (setq-default mode-line-format modusregel-format))
Nyan Catやその他の追加機能と共にmodusregelを使用している私のEmacs設定をご覧ください: https://codeberg.org/jjba23/heks-emacs/src/branch/trunk/src/modules/emacs-core.el