Skip to content

About

Sharp HiDPI scaling for external displays on macOS. A small menu bar app. English & Turkish.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

CleanScreen icon

CleanScreen

Sharp HiDPI scaling for external displays on macOS. A small menu bar app.
Download · macOS 13 or later · Apple Silicon & Intel · Türkçe

CleanScreen: the Settings window and the menu bar menu

Why

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.

Features

  • 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.

The menu, and Settings in the dark and light themes

Install

  1. Download CleanScreen.dmg and drag CleanScreen to Applications.
  2. 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.
  3. Click the display icon in the menu bar and choose a scale.

How it works

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

Build

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 /Applications

License

MIT


Türkçe

macOS'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

CleanScreen: ayarlar penceresi ve menü çubuğundaki menü

Neden

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.

Özellikler

  • 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.

Menü ve koyu, açık temada ayarlar

Kurulum

  1. CleanScreen.dmg dosyasını indir ve CleanScreen'i Uygulamalar klasörüne sürükle.
  2. 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.
  3. Menü çubuğundaki ekran simgesine tıkla ve bir ölçek seç.

Nasıl çalışır

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.

Derleme

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

Lisans

MIT

About

Sharp HiDPI scaling for external displays on macOS. A small menu bar app. English & Turkish.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages