GNU bug report logs - #18657
24.4.50; positioning frames on multi-monitor displays

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Tue, 7 Oct 2014 18:30:03 UTC

Severity: minor

Found in version 24.4.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 18657 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: 18657 <at> debbugs.gnu.org
Subject: RE: bug#18657: 24.4.50; positioning frames on multi-monitor displays
Date: Tue, 7 Oct 2014 14:18:13 -0700 (PDT)
As an update, the OP who reported the issue to me confirms that he
is using MS Windows (I thought he was not).  And he sent me this
info from his setup:

(frame-parameters):

((tool-bar-position . top) (parent-id) (explicit-name) (display . "w32") (visibility . t) (icon-name) (window-id . "459396") (top . 11) (left + -1249) (buried-buffer-list) (buffer-list #<buffer *Messages*> #<buffer  *Minibuf-1*> #<buffer procedure-codes.org> #<buffer  *Agenda Commands*> #<buffer *Org Agenda(w)*> #<buffer work-log.org>) (unsplittable) ...

M-x maximize-frame

(frame-parameters):
((tool-bar-position . top) (parent-id) (explicit-name) (display . "w32") (visibility . t) (icon-name) (window-id . "459396") (top . 0) (left . 0) (buried-buffer-list) (buffer-list #<buffer *Messages*> #<buffer  *Minibuf-1*> #<buffer procedure-codes.org> #<buffer  *Agenda Commands*> #<buffer *Org Agenda(w)*> #<buffer work-log.org>) (unsplittable) ...)
M-x restore-frame
((tool-bar-position . top) (parent-id) (explicit-name) (display . "w32") (visibility . t) (icon-name) (window-id . "459396") (top . 11) (left + -1249) (buried-buffer-list) (buffer-list #<buffer *Messages*> #<buffer  *Minibuf-1*> #<buffer procedure-codes.org> #<buffer  *Agenda Commands*> #<buffer *Org Agenda(w)*> #<buffer work-log.org>) (unsplittable) ...)

Based on that, I've sent him an updated version of `maximize-frame'
(from `frame-cmds.el'), which differs only in not using (0,0) as the
position coordinates systematically.  Instead, it uses this:

(nth 1 (assq 'workarea (frame-monitor-attributes frame))) ; For left
(nth 2 (assq 'workarea (frame-monitor-attributes frame))) ; For right

Andy, perhaps you could try that?

[I'm assuming that the `workarea' and `geometry' values are, in order:
LEFT TOP, WIDTH HEIGHT.

FWIW, The doc of `display-monitor-attributes-list' refers to them as
X Y WIDTH HEIGHT, and the doc of `frame-monitor-attributes' refers to
the `d-m-a-l' doc.  Not so clear (What are X and Y? What units for
WIDTH and HEIGHT?), but better than nothing.

(BTW, if these essentially follow the `geometry' X Window spec, why
is the order changed from what is used for that?)]




This bug report was last modified 3 years and 312 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.