Subject: RE: bug#18637: 24.4.50; doc of frame parameter DISPLAY vs actual value on MS Windows

From: Drew Adams <[email-masked]>
Date: Mon, 6 Oct 2014 10:25:31 -0700 (PDT)

> > > In any case, "multiple monitors" and "multiple displays" are 2
> > > different issues.  Each display can have multiple monitors.
> >
> > OK.  Where can one find doc about using multiple monitors with
> > Emacs?
> 
> There's nothing to document: they are treated as just one large
> monitor.  The only functions we have are in that node you mentioned.
>
> > > > I was not able to find out how to obtain info about which
> > > > monitor is being used to show a particular frame
> > >
> > > The functions you mentioned provide that info, or maybe I don't
> > > understand what info are you looking for.q
> >
> > Which function tells you what monitor is showing a given frame (on
> > MS Windows)?
> 
> frame-monitor-attributes, if I understand what you want.

I see that that function returns some information about (attributes
of) the monitor that is most associated with the argument frame.  And
I see that one of the attributes is `name'.   Presumably, monitors
would be distinguished by this parameter.

However, it is an optional parameter, so I can't imagine that one can
count on it to distinguish monitors.  (Just why is it optional?)
If one cannot count on `name', how is the identity of monitors
determined?  Do you just go by the particular cons of attributes
that is returned by `frame-monitor-attributes'?

Also, FWIW, I don't see, in the doc, where the meanings of those
attributes are specified.  The doc for `display-monitor-attributes'
supposedly does that, but it says nothing about what the "Position",
for `geometry' and `workarea', is relative to.  And it says nothing
about what those attributes mean.

I can guess the meaning for `geometry' here, being somewhat familiar
with X window `geometry' specs, but there should be some mention or
xref to the meaning/use of `geometry' outside Emacs, or else this
parameter is unspecified in terms of its meaning or effect.

And I cannot guess at all for `workarea'.  What is it?  How does/can
it differ from `geometry'?

> > > > The symptom reported was that by modifying a frame's
> > > > parameters to restore its previous values of `top', `left',
> > > > `width' and `height', the frame got moved to another monitor,
> > > > for some reason.
> > >
> > > Probably because the pixel coordinates mapped to that other
> > > monitor, the URL above explains that, among other things.
> >
> > I appreciate your replies and your trying to help, but I don't
> > quite understand you here.  The URL you cite introduces a long
> > chapter.
> 
> Read it and its sections.  You will find the information you want
> there.  Skip whatever sounds not relevant or too low-level, and keep
> reading. Read the MSDN documentation I pointed to, the answers are there.
> 
> If, after that, you still don't understand what could go wrong with
> your code, come back and ask more specific questions with specific
> code snippets.  Right now, what you write and ask just shows how
> much of the background you are missing to start reasoning about this.
> 
> The issues are not complicated once you understand how Windows
> treats multiple monitors.

OK.