Subject: bug#14801: 24.3.50; Document monitor attributes (e.g., `workarea' and `mm-size')

From: YAMAMOTO Mitsuharu <[email-masked]>
Date: Sat, 06 Jul 2013 08:29:23 +0900

>>>>> On Fri, 5 Jul 2013 13:30:53 -0700 (PDT), Drew Adams <[email-masked]> said:

> Monitor attributes are partially documented in `C-h f
> display-monitor-attributes-list'.  They should also be (fully)
> documented in the Elisp manual.

Actually I was preparing for that.  See the bottom of this mail.

> Even in the doc string of d-m-a-l, the description is incomplete and
> needs to be filled out.

> Attribute `workareas' is described only in terms of "the workarea".
> There is no explanation of what is meant by "workarea" (which should
> presumably be two words, BTW).

While I was creating the docstring, I actually looked for the
definition of "workarea" in EWMH on which the implementation is based.
Unfortunately, it only says as "work area".

  http://standards.freedesktop.org/wm-spec/1.3/ar01s03.html#id3075721

But I've just found the GDK documentation has some explanation: "The
work area should be considered when positioning menus and similar
popups, to avoid placing them below panels, docks or other desktop
components."

  https://developer.gnome.org/gdk3/3.8/GdkScreen.html#gdk-screen-get-monitor-workarea

If it is allowed to use "panels", "docks" or "desktop components"
without their definitions, probably similar explanation of "work area"
can be provided.

> Attribute `mm-size' is described only as "the width and height in
> millimeters".  It's all very nice to say what the units are, but
> what is it that is being measured?  The width & height of what?  If
> it is the "work area" (whatever that might be) then say so
> explicitly.

Of the monitor.  I thought it was obvious from the context.  But I can
add "of the physical monitor" for clarity.

> Beyond all this, what on Earth IS a monitor "attribute"?  Is it
> supposed to be the same thing as a frame parameter?

No.  It is an alist describing some kinds of information about current
configuration of each physical monitor.  I named it after "file
attributes".

> The Elisp manual covers file attributes and face attributes.  And it
> mentions terminal attributes (in passing - there is no explanation
> or description of them), but it is silent about monitor attributes.

> The doc for this feature or collection of features (?) is hopelessly
> incomplete and confused.  One can only make wild guesses as to what
> is meant and what this is all about.

The current draft of the Elisp manual begins like this:

@node Multiple Physical Monitors
@section Multiple Physical Monitors
@cindex multiple physical monitors

  On some ``multi-monitor'' setups, a single graphical display outputs
to more than one physical monitor.  You can get some kinds of
information on each physical monitor to examine the current monitor
configuration.  Because the monitor configuration can be changed
dynamically in general, you should avoid reusing the information
obtained some time ago.

  Information on each physical monitor is represented as
``attributes'', an alist of attribute keys and values as follows:

@table @code

@item geometry
...

				     YAMAMOTO Mitsuharu
				[email-masked]