17

How can I find out the current resolution the screen is running at, in OS X 10.10?

Under settings -> display (which is where I think it used to be), it shows the refresh frequency, but not the resolution. Using the monitor's controls, I can see it's running at 3840x2160, but how would one find this out from OS X?

  • from OS X? do you mean from Terminal, and not using about this mac, or opening syst preferences? – Ruskes Dec 20 '14 at 23:42
  • Using about this Mac is fine, I hadn't found that before. – projix Dec 22 '14 at 8:48
  • It does not tell you the current resolution – markhunte Mar 22 '15 at 10:05
26

You go to apple menu -> about this mac, and there is a Displays tab with the information.

enter image description here

  • 6
    That does not show the current resolution. Just the max resolution that the connected monitor can handle. – user119086 Mar 22 '15 at 0:42
12

You can see the current resolution in the Display system preferences.

On a Macbook .. Retina, If you have scaled selected for resolution

Hover your mouse over the current scaled selection and the resolution will be shown.

If you have default selected for resolution then the resolution is not shown.

enter image description here

( I cannot check my non retina desktop at the moment)

But either way you could run this Applescript/Objective - C script from your Applescript Menu or from Script Editor.

    use framework "CoreGraphics"
    use scripting additions

    set sizes to item 1 of (current application's NSScreen's mainScreen's frame as list)

    set theRez to ("width:" & width of |size| of sizes & " x height:" & height of |size| of sizes) as string


display dialog theRez with title "Main Screen Rez" buttons "OK"

enter image description here

  • This should be the accepted answer – javadba Jun 9 at 21:41
12

You can get the resolution in Terminal using system_profiler by issuing the following command:

system_profiler SPDisplaysDataType | awk '/Resolution/{print $2, $3, $4}'
  • Not an answer, but could be if there was some background added. — From Review. – bret7600 Nov 14 '17 at 15:12
  • 2
    Very helpful for scripting! – SilverWolf May 16 '18 at 0:00
  • This is EXACTLY what I was looking for! I needed the resolutions of my Apple displays for a trouble ticket with a software publisher, and this was the fastest and easiest way to get what I needed. I just used grep, though, instead of awk, since I wanted to see more information. system_profiler SPDisplaysDataType | egrep '(Display Type|Resolution)' – m0j0 Nov 19 '18 at 14:38
  • This tells us what the capabilities of the display are - not what the current resolution is – javadba Jun 9 at 21:40
0

system_profiler SPDisplaysDataType will give you the physical resolution of a Retina display, but it won't give you the effective (scaled) resolution. If you need that, you can sort of get it with osascript:

$ osascript -e 'tell application "Finder" to get bounds of window of desktop'
0, 0, 2048, 1280

Note that if you're running a multi-monitor setup, this may require some interpretation. For instance, I have a Retina iMac 21" with physical resolution 4096x2304 and scaled resolution 2560x1440; I also have an external portrait monitor running at 1440x2560:

┌───────┐┌─────────────┐
│  1440 ││  2560x1440  │
│ x2560 ││             │
│       ││             │
│       │└─────────────┘
│       │
│       │
└───────┘

When I run the command above, it reports:

-1440, 0, 2560, 2560

These are the bounds of the desktop relative to the upper left corner of the main monitor:

x = -1440     0          2560
     ┌───────┐┌─────────────┐ y = 0
     │       ││             │ 
     │Monitor││  Monitor 0  │
     │   1   ││             │
     │       │└─────────────┘
     │       │
     │       │
     └───────┘                2560

As you can see, this by itself doesn't actually give you the scaled vertical resolution of the main monitor (although you can figure it out from the physical aspect ratio).

Another option is the GPL'ed utility screenresolution (which is available through Homebrew if you don't want to build it yourself). The command line isn't much like anything else on this earth, but it works:

$ 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

As a bonus, it also gives you the color depth in bits and, if available, the refresh rate in Hz.

0

You could parse the output of displayplacer if needed for scripting. Execute displayplacer list and it will show the current resolution (and more info) for all screens.

displayplacer list

Screen ID: 1124216236
Type: 40 inch external screen
Resolution: 3840x2160
Origin: (0,0) - main display
Rotation: 0
Resolutions for rotation 0:
  mode 0: res=3840x2160x60 <-- current mode
  mode 1: res=3840x2160x60
  mode 2: res=3840x2160x30
...
Screen ID: 1808016461
Type: 27 inch external screen
Resolution: 1440x2560
Origin: (3840,-348)
Rotation: 270
Resolutions for rotation 270:
  mode 0: res=1440x2560 <-- current mode
  mode 1: res=1440x2560
  mode 2: res=720x1280

Also available via Homebrew brew tap jakehilborn/jakehilborn && brew install displayplacer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .