system_profiler SPDisplaysDataType
da ci fizyczną rozdzielczość wyświetlacza Retina, ale nie da ci efektywnej (skalowanej) rozdzielczości. Jeśli potrzebujesz, możesz uzyskaćosascript
:
$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 2048, 1280
Pamiętaj, że jeśli korzystasz z konfiguracji wielomonitorowej, może to wymagać pewnej interpretacji. Na przykład mam Retina iMac 21 "o fizycznej rozdzielczości 4096x2304 i skalowanej rozdzielczości 2560x1440; mam również zewnętrzny monitor portretowy o rozdzielczości 1440x2560:
┌───────┐┌─────────────┐
│ 1440 ││ 2560x1440 │
│ x2560 ││ │
│ ││ │
│ │└─────────────┘
│ │
│ │
└───────┘
Po uruchomieniu powyższego polecenia zgłasza:
-1440, 0, 2560, 2560
Są to granice pulpitu względem lewego górnego rogu głównego monitora :
x = -1440 0 2560
┌───────┐┌─────────────┐ y = 0
│ ││ │
│Monitor││ Monitor 0 │
│ 1 ││ │
│ │└─────────────┘
│ │
│ │
└───────┘ 2560
Jak widać, samo to nie daje właściwie skalowanej rozdzielczości pionowej głównego monitora (chociaż można to zrozumieć na podstawie fizycznych proporcji).
Inną opcją jest rozwiązanie ekranu narzędzia GPL (dostępne przez Homebrew, jeśli nie chcesz go budować samodzielnie). Wiersz poleceń nie przypomina niczego innego na tej ziemi, ale działa:
$ screenresolution get
2018-04-20 10:00:14.935 screenresolution[12084:518367] starting screenresolution argv=screenresolution get
2018-04-20 10:00:14.938 screenresolution[12084:518367] Display 0: 2560x1440x32@0
2018-04-20 10:00:14.939 screenresolution[12084:518367] Display 1: 1440x2560x32@60
Jako bonus, daje również głębię kolorów w bitach i, jeśli jest dostępna, częstotliwość odświeżania w Hz.