Sharp HiDPI scaling for external displays on macOS. A small menu bar app.
Download · macOS 13 or later · Apple Silicon & Intel · Türkçe
On many external displays macOS only offers HiDPI ("Retina") scaling at a few sizes. Pick an in-between size such as 125% and the picture goes soft or pixelated, because macOS just stretches it. A 16" monitor at 2560×1600 is a typical case: the native size is sharp but the text is tiny, and 2048×1280 is blurry.
CleanScreen makes every scale HiDPI. It draws the desktop at twice the chosen size on a virtual display, then mirrors your monitor to it. The monitor gets a cleanly downscaled picture instead of an upscaled one. Scales other than 100% can still look very slightly soft, since the ratio isn't a whole number. The pixelation goes away.
- Any scale in HiDPI. 100% to 200%, rounded to fit your display's aspect ratio. Add your own in Settings.
- Remembers each display. When you plug a monitor in, or when the Mac wakes up, CleanScreen applies its last scale again.
- Offers to help with new displays. Plug in a display where text is small, such as a 16" 2560×1600 monitor, and CleanScreen suggests a scale. It doesn't ask about displays that don't need it.
- Rotation. Turn an external display to 90°, 180° or 270° from the menu, even while it's scaled.
- Starts with your Mac if you want it to. It can keep its menu bar icon hidden until a display that uses it is connected.
- Several external displays, each with its own scale.
- English and Turkish, light and dark. It follows the system, or you can choose a language in Settings.
- Easy to undo. Choose Off (macOS Setting) at the top of the menu, or quit the app. The settings only last for the current session. Nothing changes permanently.
- Download
CleanScreen.dmgand drag CleanScreen to Applications. - The app isn't notarized by Apple, so macOS blocks it the first time. Open System Settings › Privacy & Security and click Open Anyway next to the message about CleanScreen.
- Click the display icon in the menu bar and choose a scale.
CleanScreen uses CGVirtualDisplay, the macOS API behind apps such as BetterDisplay and DeskPad. It's
undocumented, so a macOS update could break it. If anything goes wrong, quit CleanScreen or unplug the
monitor and plug it back in.
Fast displays: the virtual display only runs at 60 Hz. A 120 Hz or 165 Hz monitor drops to 60 Hz while CleanScreen scales it, and one with variable refresh (FreeSync, G-Sync) may flicker. CleanScreen warns you about these displays. They usually don't need it anyway: a 27" 2560×1440 monitor is already easy to read.
| File | What it does |
|---|---|
DisplayManager.swift |
Virtual displays, mirroring, and tracking when monitors are plugged in or removed |
Settings.swift |
Settings, saved in UserDefaults, and the scale math |
SettingsWindow.swift |
The Settings window (SwiftUI) and launch at login (SMAppService) |
NewDisplayWindow.swift |
The window that suggests a scale for a new display |
main.swift |
The menu bar menu and rotation items (rotation uses the private MonitorPanel framework) |
Theme.swift |
Colours and controls shared with PhoneDrop and FreshMyMac |
Bridge.h |
Declarations for the private API |
The Command Line Tools are enough. You don't need Xcode.
bash build.sh # dist/CleanScreen.app and dist/CleanScreen.dmg (universal)
bash build.sh --install # also copies the app to /ApplicationsmacOS'ta harici monitörlere keskin HiDPI ölçekleme sağlayan küçük bir menü çubuğu uygulaması.
İndir · macOS 13 ve sonrası · Apple Silicon ve Intel
macOS birçok harici monitörde HiDPI ("Retina") ölçeklemeyi yalnızca birkaç boyutta sunar. %125 gibi ara bir boyut seçince görüntü yumuşar ya da pikselleşir, çünkü macOS görüntüyü düz büyütür. 2560×1600 çözünürlüklü 16" bir monitör tipik bir örnek: kendi çözünürlüğünde görüntü net ama yazılar çok küçük, 2048×1280'de ise bulanık.
CleanScreen her ölçeği HiDPI yapar. Masaüstünü sanal bir ekranda seçilen boyutun iki katında çizer, sonra monitörünü bu ekranın aynası yapar. Monitör büyütülmüş değil, temiz şekilde küçültülmüş bir görüntü alır. %100 dışındaki ölçeklerde oran tam sayı olmadığı için çok hafif bir yumuşama kalabilir. Pikselleşme ise kaybolur.
- Her ölçek HiDPI. %100'den %200'e kadar, monitörün en-boy oranına göre yuvarlanır. Ayarlardan kendi ölçeklerini de ekleyebilirsin.
- Her monitörü hatırlar. Monitörü taktığında ya da Mac uykudan uyandığında, CleanScreen o monitörün son ölçeğini yeniden uygular.
- Yeni monitörlerde yardım önerir. Yazıların küçük kaldığı bir monitör taktığında (ör. 16" 2560×1600) CleanScreen bir ölçek önerir. Buna ihtiyacı olmayan monitörler için sormaz.
- Döndürme. Harici monitörü menüden 90°, 180° ya da 270° döndür; ölçekliyken de çalışır.
- İstersen Mac açılınca başlar. Menü çubuğu simgesini, kullanıldığı bir monitör takılana kadar gizli tutabilir.
- Birden fazla harici monitör, her biri kendi ölçeğiyle.
- Türkçe ve İngilizce, açık ve koyu tema. Sistemi izler; istersen Ayarlar'dan dili kendin seçersin.
- Kolayca geri alınır. Menünün en üstündeki Kapalı (macOS ayarı)'nı seç ya da uygulamadan çık. Ayarlar yalnızca o oturum için geçerlidir, kalıcı bir değişiklik yapılmaz.
CleanScreen.dmgdosyasını indir ve CleanScreen'i Uygulamalar klasörüne sürükle.- Uygulama Apple tarafından onaylanmış (notarized) değil, bu yüzden macOS ilk açılışta engeller. Sistem Ayarları › Gizlilik ve Güvenlik'i aç, CleanScreen ile ilgili mesajın yanındaki Yine de Aç'a tıkla.
- Menü çubuğundaki ekran simgesine tıkla ve bir ölçek seç.
CleanScreen, BetterDisplay ve DeskPad gibi uygulamaların da kullandığı CGVirtualDisplay API'sini
kullanır. Bu API belgelenmemiş olduğu için bir macOS güncellemesiyle bozulabilir. Bir sorun olursa
CleanScreen'den çık ya da monitörün kablosunu çıkarıp yeniden tak.
Yüksek yenileme hızlı monitörler: Sanal ekran yalnızca 60 Hz çalışabiliyor. 120 Hz ya da 165 Hz bir monitör, CleanScreen onu ölçeklerken 60 Hz'e iner; değişken yenileme (FreeSync, G-Sync) açıksa titreyebilir. CleanScreen bu monitörler için uyarır. Genelde zaten gerekmez: 27" 2560×1440 bir monitör kendi çözünürlüğünde rahat okunur.
Command Line Tools yeterli, Xcode gerekmez.
bash build.sh # dist/CleanScreen.app ve dist/CleanScreen.dmg (universal)
bash build.sh --install # uygulamayı /Applications'a da kopyalar


