On Mon, Mar 3, 2025 at 2:58 PM Stefan Kangas wrote: > found 76691 30.1 > found 76691 31.0.50 > tags 76691 + confirmed > thanks > > Ruiyang Wu writes: > > > 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 #) (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 #) > (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! > > I can reproduce this on current master, in other words, > > M-x make-frame-on-monitor RET > > doesn't provide any completion candidates. > > In `make-frame-on-monitor`, I see that this > > (mapcar (lambda (a) > (cdr (assq 'name a))) > (display-monitor-attributes-list)) > > produces this on both macOS and GNU/Linux: > > (nil nil) > > So I guess this is not specific to the NS port? > > Juri, since you added this command, WDYT? > On my iMac and laptop, it works. I have some functions that depend on this so I know it works. (display-monitor-attributes-list) (((geometry 0 0 3200 1800) (workarea 0 25 3200 1775) (mm-size 599 339) (frames # # #) (source . "NS")))