Here's what I get from localizedName on my iMac:

(((name . "Built-in Retina Display") (geometry 0 0 3200 1800) (workarea 0 25 3200 1775) (mm-size 599 339) (frames #<frame *scratch* 0x7fe165871c30>) (source . "NS")))

Seems a bit cumbersome, but that's what it is.  I can synthesize a name for if this ever returns NULL; e.g., the equivalent of (format "%dx%d@%d,%d" width height x y) where x and y are the coordinates relative to the origin reported by macOS (adjusted for being inverted, if I recall correctly).

On Tue, Mar 4, 2025 at 8:26 AM Ship Mints <shipmints@gmail.com> wrote:
On Tue, Mar 4, 2025 at 8:23 AM Ship Mints <shipmints@gmail.com> wrote:
On Tue, Mar 4, 2025 at 8:19 AM Robert Pluim <rpluim@gmail.com> wrote:

See also bug#34516, which has a patch from me to invent monitor names
on macOS.

That bug also points at code from <https://github.com/glfw/glfw>,
which someone motivated could perhaps copy.
 
Good idea, but they use IODisplayConnect which, sadly, is not supported on Apple Silicon so we'll have to come up with a solution that works for both Intel and M.

I do see a reference in their code to NSScreen localizedName so maybe that still works.  I'll experiment with that.