English | 日本語
XeFM は、Windows と macOS で GPU アクセラレーションを使うネイティブのデスクトップアプリケーションとして動作できます。ターミナルモードでおなじみの強力なキーボード中心のインターフェースはそのままに、モダンなウィンドウ環境で使えます。
デスクトップ版のパッケージをインストールしてください。 これが XeFM をデスクトップアプリとして動かす正式な方法です。ネイティブの .app(macOS)または自己完結した XeFM.exe のフォルダー(Windows)で、Python が同梱されているので、自分で Python をインストールする必要はありません。Windows では Microsoft Store からインストールします。macOS の DMG(と Windows のポータブル zip)は GitHub の最新リリース で公開されています。手順は次のセクションで説明します。
あとはほかのアプリケーションと同じように起動します。macOS では Launchpad、Spotlight、Dock から、Windows ではスタートメニューやタスクバーにピン留めしたショートカットからです。
xefm --backend gui ではいけないのはなぜですか?--backend gui フラグを使うと、同じウィンドウをターミナルから開けます。このフラグがあるのは、XeFM の開発にこの方法を使うためです。実際に XeFM を使う方法としては、次の 3 つの理由でおすすめできません。
.app は独自のバンドル ID を持つので、自分のアクセス権限を要求し、保持します。ソースのチェックアウトから XeFM そのものを開発するときは、--backend gui がやはり適切な方法です。編集のたびにアプリバンドルを作り直していては時間がかかりすぎるからです。
python3 -m xefm --backend gui # from a checkout
make run-gui # the same thing, through .venv
| プラットフォーム | インストール方法 | 署名 |
|---|---|---|
| Windows 10/11 x64 | Microsoft Store(推奨) | あり — Microsoft による署名 |
| Windows 10/11 x64 | XeFM-<version>-win64.zip(ポータブル版の代替手段) |
なし — 一度だけブロックの解除が必要 |
| macOS 12+(Apple Silicon) | XeFM-<version>-macos.dmg |
あり — Apple Developer ID |
| macOS 12+(Apple Silicon) | Homebrew:brew install --cask crftwr/tap/xefm(中身は同じ DMG) |
あり — Apple Developer ID |
安定版のリリースには、すぐに実行できる DMG と zip が添付されます。ただし、1 つのプラットフォームの修正だけを含むリリースにはそのプラットフォームのビルドしか添付されないことがあるので、最新の zip や DMG がそれより前のタグにある場合があります。最新リリースのリンクは、常に最新の安定版リリースを指します。特定のリリースに直接リンクすることもできます(例:https://github.com/crftwr/xefm/releases/tag/v1.0.1)。
Store のページ から、またはシェルからインストールします。
winget install --id 9PK2X44W810V --source msstore
Store のパッケージは認定の過程で Microsoft が署名するので、SmartScreen の警告は出ません。スタートメニューに登録され、Store を通じて自動で更新され、設定 → アプリ からアンインストールできます。設定は %USERPROFILE%\.xefm\ に保存されて、ほかの方法でインストールした XeFM とも共有され、そのフォルダーを自分で削除しない限りアンインストール後も残ります。
XeFM-<version>-macos.dmg をダウンロードします。アプリは作者の Apple Developer ID で署名されているので、Gatekeeper は普通に開きます。もし macOS が 「開発元を検証できないため、XeFM を開けません」 と表示して開かない場合(普通でない経路でダウンロードして quarantine 属性が残ったときに起こります)は、アプリケーション のアプリを右クリックして 開く を選び、確認してください。以後はずっと許可されます。
削除するには、XeFM.app をゴミ箱にドラッグします。設定は ~/.xefm/ にあり、別に削除できます。
brew install --cask crftwr/tap/xefm
これで同じ公証済みの DMG が アプリケーション にインストールされ、brew upgrade --cask xefm で新しいリリースごとに更新できます。すでに DMG から手動でインストールしている場合は、--adopt を付けてください。Homebrew が上書きを拒否する代わりに、そのコピーを管理下に置きます。brew uninstall --cask xefm でアプリが削除されます。ターミナルアプリも ~/.xefm/ を読むので、--zap を付けてもこのフォルダーは残ります。
cask がインストールするのはデスクトップアプリだけです。--cask を付けない formula の brew install crftwr/tap/xefm はターミナルアプリです。モードの切り替えを参照してください。
zip は Store からのインストールに代わる手段で、インストーラーではなくポータブルなフォルダーです。展開して XeFM.exe を実行するだけです。MSI はなく、レジストリには何も書き込まれず、管理者権限も必要ありません。Store を使えないマシンで使う場合や、USB メモリやネットワーク共有から実行できるコピーが欲しい場合に使ってください。
認定の過程で Microsoft が署名する Store のパッケージとは違い、GitHub Releases の zip には署名がありません。下で説明する警告はこれが原因です。
最初に zip のブロックを解除します。 ダウンロードした XeFM-<version>-win64.zip を右クリック → Properties(プロパティ)→ General(全般)タブの下部にある Unblock(許可する)にチェック → OK。
Windows はインターネットからダウンロードしたファイルに Mark of the Web を付けます。このマークが付いた zip を展開すると、中のすべてのファイルにマークがコピーされます。展開する前に zip のブロックを解除すれば、すべてのマークを一度に消せます。PowerShell では次のコマンドで同じことができます。
Unblock-File .\XeFM-<version>-win64.zip
XeFM フォルダーを使いやすい場所に展開します。
%LOCALAPPDATA%\Programs\XeFM — ユーザーごと。管理者への昇格は不要C:\Program Files\XeFM — すべてのユーザー。管理者権限が必要XeFM.exe を実行します。 手順 1 を飛ばした場合は、SmartScreen が 「Windows によって PC が保護されました」 と表示します。More info(詳細情報)をクリックしてから Run anyway(実行)をクリックしてください。この警告はダウンロードしたコピーごとに一度だけ表示され、起動のたびには出ません。
XeFM.exe を右クリック → Pin to Start(スタートにピン留めする)/Create shortcut(ショートカットの作成)で、すぐに起動できるようにします。削除するには、展開したフォルダーを削除します(設定も消したい場合は %USERPROFILE%\.xefm\ も削除します)。
ダウンロードできる .msix がないのはなぜですか? リポジトリでは .msix をビルドできます(make windows-msix)。しかし、MSIX は署名されていないと Windows がインストールしません。署名なしのビルドは Microsoft Store に提出するためだけのもので、Microsoft が認定の過程で署名します。そのため、ダウンロードできる .msix を用意してもインストールできないだけです。Store 以外では、ポータブル zip がインストールできる形式です。
署名なしのバイナリを実行したくない場合は? Microsoft Store からインストールするか(Store のパッケージは Microsoft が署名しています)、PyPI からインストールして(pipx install xefm)XeFM をターミナルモードで使ってください。
XeFM をデスクトップモードで起動すると、次のようになります。
インストールしたデスクトップ版のパッケージは、常にデスクトップモードで起動します。ランチャーがネイティブのバックエンドを選ぶので、引数を渡す必要も設定する必要もありません。
--backend フラグが意味を持つのは、Python 環境にインストールした XeFM やソースのチェックアウトから実行する場合だけです。その場合の既定はターミナルモードで、それを変える設定ファイルのキーはありません。デスクトップモードは --backend gui(別名 macos/windows)ですが、上の Why not xefm --backend gui? で説明した注意点があります。
フォントの設定は ~/.xefm/config.py にあります(デスクトップ/GUI モードでのみ有効です)。
MONO_FONT_NAME = 'Menlo' # monospaced face for aligned columns (None = bundled default)
UI_FONT_NAME = None # proportional face for names/labels (None = bundled/OS default)
FONT_SIZE = 12 # point size applied to both faces (8–72)
ウィンドウのサイズと位置は、実行をまたいで自動的に記憶されます(macOS ネイティブのウィンドウ自動保存を使います)。ウィンドウの位置やサイズを指定する設定キーはありません。
macOS でよく使われる等幅フォントは次のとおりです。
内蔵フォント:
Menlo(既定) - Apple の既定の等幅フォント。読みやすさは抜群Monaco - 昔からある Mac の等幅フォント。やや詰まった字形Courier New - 伝統的な等幅フォント。互換性が高い追加のフォント(インストールされている場合):
SF Mono - San Francisco Mono。Apple のモダンなフォントFira Code - 合字を備えた人気のプログラミング用フォントJetBrains Mono - モダンなプログラミング用フォント。コードに最適Source Code Pro - Adobe のプログラミング用フォントHack - ソースコード専用に設計されたフォントインストールされているフォントを確認するには、Font Book.app を開き、「固定幅」(等幅)で絞り込みます。
Launchpad、Spotlight、Dock(macOS)、またはスタートメニューやピン留めしたショートカット(Windows)から XeFM を開きます。インストールしたパッケージにはフラグは必要ありません。
開発中にソースのチェックアウトから実行する場合は、--backend で描画方式を選びます。
# Terminal mode (the default)
python3 -m xefm
# Desktop mode — development only, see "Why not xefm --backend gui?"
python3 -m xefm --backend gui
ターミナルモードは、PyPI からのインストール(pipx install xefm)、Homebrew の formula(brew install crftwr/tap/xefm)、またはソースのチェックアウトで使えます。デスクトップ版のパッケージは自己完結したアプリケーションで、PATH に xefm コマンドを置かないので、2 つのインストールは互いに置き換わることなく共存します。
xefm # terminal mode
xefm --backend tui # the same thing, stated explicitly
設定、お気に入り、履歴はすべて ~/.xefm/ にあり、デスクトップアプリとターミナルモードで共有されます。
デスクトップモードでも、すべてのキーバインドが同じように動作します。同じキーマップだからです。デスクトップのウィンドウでは、2 つのアクション(OS のアプリでファイルを開く操作と、macOS でのテキストのコピー)に、プラットフォーム標準のキーの組み合わせがもう 1 つ割り当てられます。それ以外はすべてターミナルと共通です。~/.xefm/config.py の “Three cases” を参照してください。
F1 を押せば、いつでも設定で使われているキーを確認できます。
サイズ変更:
フルスクリーン:
複数のウィンドウ:
終了:
quit アクション。どのキーかはキーマッププリセットによって異なります。キーマッププリセットを参照してください)と File ▸ Quit は、常に先に確認します。Cmd-Q と Windows の Alt-F4Cmd-Q と Alt-F4 は、どのキーマッププリセットでも動作し、閉じるボタンと同じく、ダイアログやビューアーを開いているときにも動作します。これらは quit_app アクションなので、KEY_BINDINGS で別のキーに移したり、'quit_app': [] で無効にしたりできます。問題:デスクトップモードが起動しない、またはターミナルモードで起動してしまう。
解決方法:
uname -s # macOS shows "Darwin"
python3 -c "import objc; print('PyObjC OK')"
python3 --version # Should be 3.10 or higher
問題:デスクトップモードは起動するが、ウィンドウが表示されない。
解決方法:
python3 -m xefm --backend tui
問題:フォントが利用できないというエラーメッセージが表示される。
解決方法:
MONO_FONT_NAME = 'Menlo' # Correct
MONO_FONT_NAME = 'menlo' # Wrong - case matters
Font Book.app を開きますMONO_FONT_NAME = 'Menlo' # Always available on macOS
# Comment out or remove this line
# MONO_FONT_NAME = 'CustomFont'
問題:デスクトップモードの動作が遅い、または引っかかる。
解決方法:
ウィンドウのサイズを変えて小さくします(サイズは次回のために記憶されます)。
MONO_FONT_NAME = 'Monaco' # Simpler font
ほかのアプリケーションを閉じてリソースを空けます
問題:色がターミナルモードと違って見える。
説明:デスクトップモードは True RGB カラーを使うので、色数の限られたターミナルモードのパレットとは違って見えることがあります。これは想定どおりの動作で、より正確な色が表示されています。
解決方法:
問題:テキストがぼやける、または位置がずれる。
解決方法:
FONT_SIZE = 14 # Try different sizes
MONO_FONT_NAME = 'Monaco' # Try different fonts
macOS のシステム環境設定で、ディスプレイの拡大縮小の設定を確認します
| 項目 | ターミナルモード | デスクトップモード |
|---|---|---|
| プラットフォーム | すべて(macOS、Linux、Windows) | Windows と macOS |
| 依存関係 | Python のみ | Python(macOS では PyObjC も。自動でインストールされます) |
| ウィンドウ | ターミナルのウィンドウ | ネイティブのデスクトップウィンドウ |
| 描画 | ターミナルによる描画 | GPU アクセラレーション |
| パフォーマンス | 良好 | 非常に良好(60 FPS) |
| 色 | ターミナルのパレット | True RGB |
| フォント | ターミナルのフォント | カスタマイズ可能 |
| サイズ変更 | ターミナルのサイズ変更 | ネイティブのウィンドウのサイズ変更 |
| フルスクリーン | ターミナルのフルスクリーン | ネイティブのフルスクリーン |
| キーボード | 同じ | 同じ |
| 機能 | すべての機能 | すべての機能 |
おすすめの用途:
おすすめの用途:
柔軟な使い方:
実行ごとに選ぶ:デスクトップモードではインストールした XeFM アプリを開き、ターミナルモードではターミナルで xefm を実行します。2 つは共存し、~/.xefm/ を共有するので、切り替える操作は何もありません。作業に合うほうを選んでください。
デスクトップとの統合は、XeFM.app をインストールすることで機能します。すべてアプリバンドルによるもので、ランチャースクリプトや Automator のラッパーは必要ありません。
このガイドの古い版では、Dock や Spotlight に項目を作るために、python3 -m xefm --backend gui をシェルスクリプトや Automator のアプリケーションで包む方法を紹介していました。その方法は使わないでください。それこそが、Why not xefm --backend gui? で説明した、Python の汎用アイコンが表示されたり、アクセス権限の確認が別のアプリのものとして扱われたりする構成です。代わりに .app をインストールしてください。
パッケージ版のアプリはコマンドラインの引数を取りません。ランチャーはネイティブのバックエンドで XeFM を起動するだけなので、--left/--right はコマンドラインから実行するときにしか使えません。
コマンドラインでも、これらが必要になることはあまりありません。各ペインのディレクトリは終了時に ~/.xefm/state.db に保存され、次の起動時に復元されるので、デスクトップアプリは前回の続きから開きます。別の場所に移動するには、お気に入りのダイアログ(Go → Go to Favorite…)を使ってください。
ここに載っていない問題が起きた場合は、次のようにしてください。
デスクトップモードは、XeFM の強力なキーボード中心のインターフェースはそのままに、モダンでネイティブな macOS 環境を提供します。GPU アクセラレーション、True RGB カラー、フォントのカスタマイズにより、ターミナルモードとの完全な互換性を保ちながら、macOS ユーザーにより快適な環境を提供します。
主な利点:
ぜひデスクトップモードを試して、まったく新しい XeFM を体験してください!