SharpDisplay: ostry tekst na monitorach 1440p w macOS
Jeden przycisk włącza tryby HiDPI na monitorach, na których macOS ich nie oferuje.
- ~540linii kodu w Swift, bez zależności
- 4wydania w 10 dni, od v1.0 do v1.1.2
- 5nowych trybów HiDPI na moim monitorze
Wyzwanie
macOS renderuje tekst w podwójnej rozdzielczości (HiDPI) tylko na ekranach 4K i większych, więc na popularnych monitorach 1440p tekst jest rozmyty. Gotowe rozwiązania są płatne, dodają opóźnienie albo wymagają ryzykownej edycji plików systemowych.
Mój zakres
Cały projekt: pomysł, kod, testy i publikacja.
Co zrobiłem
- Natywna aplikacja w Swift i SwiftUI z jednym przyciskiem Turn On / Turn Off.
- Generuje plik nadpisania ekranu z trybami HiDPI i instaluje go przez systemowe okno hasła.
- Robi kopię zapasową istniejącej konfiguracji.
- Programowo „podłącza ponownie” monitor, żeby nowe tryby działały bez restartu.
- W v1.1 naprawiłem gubienie VRR: macOS pokazuje każdą częstotliwość dwa razy, a publiczne API nie rozróżnia wariantów, więc aplikacja pyta serwer okien, który z nich jest zmienny.
- Wybór rozmiaru interfejsu w aplikacji bez ponownego hasła, obsługa monitorów ultrawide i wersja uniwersalna dla Apple Silicon i Intel.
Efekt
- Na LG UltraGear 1440p przy 180 Hz dostaję 5 nowych trybów HiDPI, a VRR i pełne odświeżanie działają dalej.
- Cztery wydania na licencji MIT z opisem zmian (CHANGELOG), od v1.0 do v1.1.2.
Technologie
Swift, SwiftUI, AppKit, Core Graphics, Property Lists, AppleScript, shell, Git, GitHub Releases