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

From: Alan Third <[email-masked]>
Date: Mon, 2 Jun 2025 18:39:26 +0100

On Mon, Jun 02, 2025 at 06:52:35AM -0400, Ship Mints wrote:
> On Mon, Jun 2, 2025 at 4:02 AM Robert Pluim <[email-masked]> wrote:
> 
> > >>>>> On Wed, 28 May 2025 15:17:33 -0400, Ship Mints <[email-masked]>
> > said:
> >     >> It applied cleanly alongside my patch, so I think we're good. I'll
> > do
> >     >> a test build in a bit and I think we can get both patches pushed up
> >     >> once someone with two screen checks mine.
> >     >>
> >     >> Do you want to finish off the commit message or should I give it a
> > go?
> >     >>
> >
> >     Ship> Nice.  Not home where I have that branch locally, so writing this
> >     Ship> manually...
> >
> >     Ship> *snip*
> >     Ship> Fix ns_make_monitor_attribute_list (bug#76691)
> >
> >     Ship> This is the NS implementation for
> > 'display-monitor-attributes-list'.
> >     Ship> Change implementation from IORegistry to direct introspection
> >     Ship> of NSScreen.
> >
> >     Ship> * src/nsfns.m (ns_make_monitor_attribute_list): Use localizedName
> >     Ship> selector on NSScreen.  For anonymous displays, synthesize names
> >     Ship> of the form ("%dx%d@%d,%d" width height x y).
> >     Ship> (ns_get_name_from_ioreg) (ns_screen_name): Removed.
> >     Ship> *snip*
> >
> > The latest version of your patch that I can see still doesnʼt allocate
> > space for the '\0' at the end of the monitor name for the
> > localizedName case.
> >
> 
> Robert, thank you for keen eyes a second time.  This was a version I found
> in my email, perhaps there was a later one on my other computer.
> 
> Alan, can you please change the name allocation to be:
> 
>        m->name = xmalloc ([name lengthOfBytesUsingEncoding:
> NSUTF8StringEncoding] + 1);

OK, I've pushed it up to master. I'm going to leave the patch for
bug#76051 (geometry) until someone has tried it out, but because the
bugs are merged I think I need to leave them both open for now.

Thanks!
-- 
Alan Third