GNU bug report logs -
#76051
29.4; Incorrect workarea entry in display-monitor-attributes-list on macOS
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#76051: `display-monitor-attributes-list` not working properly on macOS
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 76691 <at> debbugs.gnu.org.
--
76051: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=76051
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
On Mon, Jun 02, 2025 at 10:01:24PM +0200, Anders Lindgren wrote:
> Hi!
>
> I have built a fresh Emacs with your patch, and it appears to be working
> well. Thanks!
Superb, thanks! I'll push it up to master now.
> I also put together a small Emacs package to draw the monitor layout with
> workareas as ASCII-boxes, based on the information provided by
> display-monitor-attributes-list. This makes it easier to check that the
> values returned are sane. I haven't published it yet, so I attached a copy.
>
> For example, this is my mac layout with the laptop screen with doc to the
> right and an external monitor to the left. The numbers are the margin (in
> pixels), i.e. the space between the workarea and the full area of the
> monitor.
>
> +---------------------------------------+
> | |
> | ^ 25 |
> | |
> | |
> | |
> | |
> | |
> | |
> | |
> | |
> | < 0 > 0 +--------------------------+
> | | |
> | | ^ 38 |
> | | |
> | | |
> | | |
> | | |
> | | |
> | | |
> | v 0 | < 0 > 0 |
> | | |
> +---------------------------------------+ |
> | |
> | |
> | |
> | v 66 |
> | |
> +--------------------------+
>
>
> -- Anders
That's pretty cool!
--
Alan Third
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Hi,
I am using the official NS port Emacs 30.1 on a MacBook (macOS Sequoia) with an external monitor. The output of `display-monitor-attributes-list` is as follows:
> (((geometry 0 0 1512 982) (workarea 0 38 1512 944) (mm-size 301 195) (frames) (source . "NS")) ((geometry 1512 -517 1600 900 (workarea 1512 -517 1600 875) (mm-size 549 311) (frames #<frame scratch* 0x12d08e430>) (source . "NS")))
It fails to recognize my monitors. Furthermore, when I run `M-x make-frame-on-monitor`, no candidate is provided.
However, if I use `emacs-mac` from https://bitbucket.org/mituharu/emacs-mac/src/master/, the monitors can be correctly recognized. `display-monitor-attributes-list` prints
> (((geometry 0 0 1512 982) (workarea 0 38 1512 944) (mm-size 301 196) (frames) (name . "Built-in Retina Display") (backing-scale-factor . 2)) ((geometry 1512 -517 1600 900) (workarea 1512 -492 1600 875) (mm-size 549 311) (frames #<frame *scratch* - GNU Emacs at Ruiyangs-MBP 0x1400a62c8>) (name . "DELL U2515H") (backing-scale-factor . 2)))
And I can also use `make-frame-on-monitor` to create new frames without issue.
Is it possible to have the aforementioned behavior from `emacs-mac` in the official NS port? That would greatly improve my workflow. Thank you very much!
Best,
Ruiyang
[Message part 5 (text/html, inline)]
This bug report was last modified 12 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.