FineDisplay

macOS'un sakladığı HiDPI modlarını aç

Harici ekranın için "1920×1200 gibi görünsün" seçeneği yok mu? Aslında var. macOS o modu üretmiş, sonra listeden gizlemiş. FineDisplay listeyi açar, sen seçersin. Sanal ekran yok, mirror yok, sistem dosyası yok, yeniden başlatma yok. Ücretsiz ve açık kaynak.

macOS 13+ · Apple Silicon ve Intel · Developer ID imzalı + notarize · MIT lisansı · English

★ = Apple'ın ürettiği ama sakladığı modlar. Arzopa Z1RC (16", 2560×1600) örneği.

Native, dolambaçsız

Hayalet ekran yaratıp görüntüyü kopyalamaz. macOS'un kendi mod tablosundaki satıra geçer; masaüstü 2× çizilir, GPU panele indirir. MacBook'un dahili Retina ekranındaki mekanizmanın birebir aynısı.

Hatırlar

Mod seçimini ve ekranın masaüstündeki yerini ekrana özel saklar. Ekranı çıkarıp taktığında ya da Mac uyandığında ikisini de kendisi yeniden uygular — macOS ekranların yerini karıştırsa bile. İstersen girişte açılır.

Parlaklık da elinde

Her ekran için menüde parlaklık kaydırıcısı. Destekleyen monitörlerde donanım (DDC/CI), desteklemeyenlerde otomatik yazılımsal karartma. İstersen harici ekran dahili ekranı takip eder: parlaklık tuşları, ortam ışığı sensörü, hepsi geçer.

Komut satırı da var

finedisplay list ile tabloyu gör, finedisplay set 2 1920x1200 ile geç, finedisplay brightness 2 40 ile karart. Script'lere, otomasyona uygun.

Ücretsiz, açık, dürüst

MIT lisansı. Reklam yok, hesap yok, "Pro" yok. Ne yaptığı ve nasıl yaptığı aşağıda ve kaynak kodda.

Nasıl çalışır?

Her ekranın WindowServer içinde bir mod tablosu var. 2560×1600 bir panel için macOS 1920×1200 @2x, 2048×1280 @2x gibi modları üretiyor — sonra bunlara kDisplayModeValidForMirroringFlag bayrağını basıp herkese açık API'den döndürmüyor. Sistem Ayarları da o yüzden yalnız panel boyutuna kadar olan seçenekleri gösteriyor. Panel bunu kaldırır; eşik Apple'ın tercihi.

FineDisplay tabloyu WindowServer'ın kendi çağrılarıyla (SkyLight CGSGetDisplayModeDescriptionOfLength) okur, seçtiğin moda CGSConfigureDisplayMode ile geçer. WindowServer kabul eder, gerisi macOS'un standart Retina boru hattı. Apple'ın 13" MacBook Air (aynı 2560×1600 panel) için gönderdiği override dosyası da aynı bayraklarla aynı çözünürlükleri listeliyor.

Ayrıntılı inceleme günlüğü: docs/how-it-works.md

Açık konuşalım

Sürüm notları

v1.2.0güncel

  • Parlaklık senkronu: harici ekran dahili ekranın parlaklığını takip edebilir (menüde "Match Built-in Brightness", CLI'da finedisplay sync).
  • Ekran düzeni hafızası: macOS uyku/tak-çıkar sonrası ekranların yerini karıştırırsa FineDisplay kaydettiği düzeni geri getirir.
  • "Check for Updates…": GitHub'daki son sürümle karşılaştırır, indirme sayfasını açar. Arka planda kurulum makinesi yok.

v1.1.1

  • DDC/CI'a cevap vermeyen monitörler için yazılımsal karartma (gamma) — BetterDisplay'in software dimming'iyle aynı yöntem. Kaydırıcı artık her monitörde iş yapıyor.
  • Parlaklık kaydırıcısının menüdeki yerleşimi düzeltildi.
  • Kalibrasyon profilleri korunuyor; %100 profili birebir geri yükler.

v1.1.0

  • Parlaklık kontrolü: harici ekranlar için menüde kaydırıcı (DDC/CI, Apple Silicon) ve dahili/Apple ekranlar için sistem yolu.
  • finedisplay brightness komutu: brightness 2 40, brightness 2 +10.
  • Değerini geri bildirmeyen monitörlerde kaydırıcı son ayarlanan değerden başlar.

v1.0.0

  • İlk yayın: gizli HiDPI modlarını listeleyip geçen menü çubuğu uygulaması.
  • Ekran başına seçim hafızası; yeniden bağlanınca ve uyanınca otomatik uygulama.
  • Girişte açılma seçeneği; finedisplay komut satırı aracı.
  • Universal binary (Apple Silicon + Intel), macOS 13+. macOS 15.7 Sequoia'da doğrulandı.

Kurulum

  1. FineDisplay-1.2.0.zip dosyasını indir (yedek: site kopyası), aç, FineDisplay.app'i Uygulamalar klasörüne taşı.
  2. Aç. Uygulama Apple tarafından notarize edildi; uyarısız açılır.
  3. Menü çubuğundaki monitör simgesine tıkla. Harici ekranın için ★'lı bir HiDPI mod seç. Bitti.

Komut satırı: uygulamanın içinde FineDisplay.app/Contents/Resources/bin/finedisplay, ya da ayrı zip: finedisplay-cli-1.2.0.zip

finedisplay list                 # ekranlar ve modlar; ★ = gizli HiDPI
finedisplay set 2 1920x1200      # 1920×1200 gibi görünsün, 3840×2400 çizilsin
finedisplay set 2 2048x1280 --hz 60
finedisplay apply                # kayıtlı seçimleri şimdi uygula
finedisplay brightness 2 40      # harici ekranı %40 parlaklığa çek
finedisplay sync 2 on            # dahili ekranın parlaklığını takip et

Kaynaktan derleme:

git clone https://github.com/ofbakirci/finedisplay
cd finedisplay
swift build -c release
scripts/build-app.sh             # dist/FineDisplay.app

SHA-256 özetleri: SHA256SUMS