Subject: bug#76691: `display-monitor-attributes-list` not working properly on macOS

From: Ship Mints <[email-masked]>
Date: Tue, 4 Mar 2025 09:28:33 -0500

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 <[email-masked]> wrote:

> On Tue, Mar 4, 2025 at 8:23 AM Ship Mints <[email-masked]> wrote:
>
>> On Tue, Mar 4, 2025 at 8:19 AM Robert Pluim <[email-masked]> 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.
>