Why does SCREEN(External, Width) for a 2560x1440 monitor report 2432?

I'm trying to determine whether I'm working (on my MacBook Pro) in the office or remotely from home, based on the monitor setup (to automatically move Apps to the preferred monitor).

  • Work: 2x 1920x1080 (non-Retina) monitors
  • Home: 1x 2560x1440 (non-Retina) monitor

I currently use SCREEN(External, Width) for that and expected the result to be 2560 at home, but KM10 reports 2432. Why?

PS: One of the work monitors is flaky, so sometimes I have only 1 monitor there as well (and hence can't use SCREENCOUNT())

PS2: I'll use > 2000 instead of == 2560, but I'm still curious!

The SCREEN and SCREENVISIBLE functions return whatever the OS provides in the NSScreen API, so it's hard to say why they are not what you expect, except to say that the system presumably knows whatever they really are and may be choosing that number for any number of reasons (scaling for example).

I now see that System Information shows the same unexpected values:

**DELL U2711:**
Resolution: 4864 x 2736
UI Looks like: 2432 x 1368 @ 60.00Hz
1 Like

Fixed...

Apparently macOS (Ventura) uses that resolution when the option "Default" is selected...

If I select "More Space" I get this (expected, native resolution) instead:

**DELL U2711:**
Resolution: 2560x1440 (QHD/WQHD - Wide Quad High Definition)
UI Looks like: 2560 x 1440 @ 60.00Hz
2 Likes