物理モニタなしでHiDPI仮想ディスプレイを作成できる、無料のmacOSメニューバーアプリです。実モニタの明るさ・コントラストもDDCで制御できます。
FreeDisplay(GridJapan fork)は gjPiPWindow に完全対応しています。3枚の仮想ディスプレイを常時使用するために整備した結果、公式版の4つのバグを修正し、解像度記憶・プリセット・個体識別・個別終了の4系統の機能を追加しました。
FreeDisplay が作る仮想ディスプレイは、macOS からは本物のディスプレイです。システム設定に物理モニタと同列に並び、解像度もリフレッシュレート(75Hz)も選べます。
物理モニタなしでディスプレイを作成できます。複数枚を同時に持てます。
外部モニタのハードウェア設定を IOKit I2C で直接制御します。
キーボードの明るさキーを外部モニタでも効かせ、HUD を表示します。
時刻ベースで明るさを自動調整できます。
配置エディタと主ディスプレイの切り替えを備えます。
ディスプレイごとに ICC プロファイルを切り替えられます。
ガンマ・コントラスト・色温度・色反転をソフトウェアで調整できます。
ディスプレイ構成を保存して呼び出せます。
この fork は、仮想ディスプレイを3枚常時並べて gjPiP で使うために整備しました。その過程で踏んだ公式版のバグ4件と、足りなかった機能4つです。詳細は README にあります。
@MainActor のクロージャが DDC キュー上で実行され、Swift の隔離チェックに落ちます。明るさキーを1回押すだけで再現します。
ScrollView に理想の高さが無く、ウィンドウ型 MenuBarExtra が理想の高さでサイズを決めるため、中身が全部消えます。
その変更自体で自動配置が発火し、ディスプレイを原点から引き剥がしてしまうためです。
重複ガードが ID ではなく縦横サイズで判定しているためです。
システム設定で選んだ解像度を記憶し、再起動後も保持します。公式版では、しばらくすると勝手に元へ戻ります。
1920×1200 と 2048×1280 を、作成時の選択肢に加えました。
名前と serial を1台ずつ分けました。macOS が3枚の配置を正しく記憶・復元できるようになります。
従来は一括で閉じるしかありませんでした。個別に閉じられます。
仮想ディスプレイには物理モニタがありません。中を見る・操作するのは、相棒アプリ gjPiP の仕事です。任意のディスプレイをライブPiPで表示し、PiP越しにマウスで操作できます。
ソースからビルドします。リポジトリに Xcode プロジェクトを同梱しているので、Xcode が入っていればそのまま作れます。
# クローンしてビルド(build/FreeDisplay.dmg ができます) git clone https://github.com/GridJapan/FreeDisplay.git cd FreeDisplay ./build.sh # DMG を開いて FreeDisplay.app を Applications へ。 # 未署名のため、初回だけ右クリック →「開く」で起動します。
| 権限 | 用途 |
|---|---|
| アクセシビリティ | 外部モニタ使用時に、キーボードの明るさキーを横取りするために使います。 |
ネットワーク接続は使いません(GitHub Releases への任意のアップデート確認を除く)。