unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Third <alan@idiocy.org>
To: Robert Pluim <rpluim@gmail.com>
Cc: Andy Moreton <andrewjmoreton@gmail.com>, 34516@debbugs.gnu.org
Subject: bug#34516: Multi-monitor frame sets
Date: Mon, 4 Mar 2019 19:20:17 +0000	[thread overview]
Message-ID: <20190304192017.GA21727@breton.holly.idiocy.org> (raw)
In-Reply-To: <m2y35uhb70.fsf@gmail.com>

On Mon, Mar 04, 2019 at 05:10:59PM +0100, Robert Pluim wrote:
> Andy Moreton <andrewjmoreton@gmail.com> writes:
> 
> >> At least in 'system preferences/display', when you have two identical monitors
> >> attached, they're called something like 'DELL 1234X' and 'DELL 1234X
> >> (2)' (I canʼt test that right now). If you can show me code on how to
> >> get those names in 10.14, I can confirm. That would be better than
> >> making up names.
> >
> 
> So 'DELL 1234X (1)' and 'DELL 1234X (2)', where (1) is the primary
> monitor.
> 
> > There are usually two different names involved: the name of the
> > file/device that represents the monitor, and a human-readable name for
> > the UI.
> >
> > In Windows, the GUI settings/display describes the monitors as 1 and
> > 2. In emacs, display-monitor-attributes-list reports the device
> > names \\.\DISPLAY1 and \\.\DISPLAY2 (you can see these device names
> > with the WinObj tool from SysInternals). Note that the device names do
> > not mention the make/model of the hardware.
> >
> > For OSX, ioreg or the IoRegistryExplorer app show similar information
> > from the IO registry (a non-persistent database of IO device
> > information). I don't use a mac any more, so I don't know if these tools
> > are still available).
> 
> I donʼt know, but the code in ns_screen_name which appears to do
> something similar does not work for me in 10.14

Try this:

    ioreg -lw0 | grep IODisplayEDID | sed "/[^<]*</s///" | xxd -p -r | strings -6

and see if it returns usable information. If so then that’s what we
should be targeting in ns_screen_name.

I think the approach used in ns_screen_name must have been removed in
some version of macOS. I tried to modify it to find the information
returned by the above command, but it looks like there’s no direct way
to match up the DID number with IODisplayConnect, which is where
IODisplayEDID is stored.

I’d never heard of ioreg before yesterday, though, so if anyone knows
better I’d be happy to learn otherwise.

> Iʼm not so sure about using the did, as someone suggested, since that
> has a large value, eg here itʼs 724851601, Iʼd prefer to use a simple
> index.

I did think that might be an issue, the main advantage over the simple
index is that it shouldn’t change, whereas I don’t think the index is
guaranteed to be the same on any two consecutive calls.
-- 
Alan Third





  reply	other threads:[~2019-03-04 19:20 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-17 19:34 bug#34516: Multi-monitor frame sets Juri Linkov
2019-02-18 10:47 ` Robert Pluim
2019-02-18 21:03   ` Juri Linkov
2019-02-19  9:17     ` Robert Pluim
2019-02-23 20:43       ` Juri Linkov
2019-02-24 12:56         ` Robert Pluim
2019-02-24 21:08           ` Juri Linkov
2019-02-24 22:11             ` Andy Moreton
2019-02-25 21:11               ` Juri Linkov
2019-03-02 20:54           ` Alan Third
2019-03-02 23:57             ` Andy Moreton
2019-03-03 11:43               ` Alan Third
2019-03-04  9:52                 ` Robert Pluim
2019-03-04 13:56                   ` Andy Moreton
2019-03-04 16:10                     ` Robert Pluim
2019-03-04 19:20                       ` Alan Third [this message]
2019-03-04 20:18                         ` Robert Pluim
2019-03-19 21:33                           ` Juri Linkov
2019-03-26  7:24                             ` Robert Pluim
2019-03-26  7:26                               ` Robert Pluim
2019-03-27 21:46                                 ` Juri Linkov
2019-03-28  7:56                                   ` Robert Pluim
2019-03-28 21:57                                     ` Juri Linkov
2019-02-18 16:48 ` Eli Zaretskii
2019-02-18 21:16   ` Juri Linkov
2019-02-19  3:32     ` Eli Zaretskii
2019-02-19 21:37       ` Juri Linkov
2019-02-19 10:40     ` Andy Moreton
2019-02-19 21:31       ` Juri Linkov
2019-02-19 23:29         ` Andy Moreton
2019-02-20 21:20           ` Juri Linkov
2019-02-20 21:38             ` Andy Moreton
2019-02-23 20:48               ` Juri Linkov
2019-02-24  8:44                 ` martin rudalics
2019-02-24 21:08                   ` Juri Linkov
2019-02-24 22:13                   ` Andy Moreton
2019-02-25 10:13                     ` martin rudalics
2019-02-25 15:00                       ` Andy Moreton
2019-03-05  0:44 ` Andy Moreton
2019-03-29  8:16 ` Robert Pluim
2019-03-30 21:47   ` Juri Linkov
2019-04-01 11:29     ` Robert Pluim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190304192017.GA21727@breton.holly.idiocy.org \
    --to=alan@idiocy.org \
    --cc=34516@debbugs.gnu.org \
    --cc=andrewjmoreton@gmail.com \
    --cc=rpluim@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).