unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Keith David Bershatsky <esq@lawlist.com>
To: martin rudalics <rudalics@gmx.at>
Cc: 18215@debbugs.gnu.org
Subject: bug#18215: 24.4.50; OSX 10.6.8; set-frame-size by pixelwise does not work following `make-fame`.
Date: Sat, 16 Aug 2014 16:35:29 -0700	[thread overview]
Message-ID: <m2ha1c6m9q.wl%esq@lawlist.com> (raw)
In-Reply-To: <m2wqakgn3d.wl%esq@lawlist.com>

The screen that is being used to run the following tests is 1920 by 1080.  An Emacs frame pixel of 1920 x 1058 fills the screen entirely when:  no Emacs menu-bar, no Emacs tool-bar, and the OSX menu-bar is hidden.

Until running the tests today, I had never used `frame-resize-pixelwise` before.  The test that was previously reported in a prior e-mail with 1926 pixels in width was due to trying to use the same settings for a version of Emacs built on June 1, 2014 and a version of Emacs built in mid-August 2014.

The tests that I ran today were done with an August 15, 2014 Emacs Trunk -- unpatched and patched using the latest patch from Martin (08/15/2014).

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; TEST # 1

The following `window--dump-frame` printout was based on an UN-patched version of Emacs Trunk built on August 15, 2014 using the following settings.  The frame fills the entire screen, and is what I consider to be perfect.

    (setq frame-resize-pixelwise t)
    
    (set-face-attribute 'default (selected-frame) :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1")
    
    (menu-bar-mode -1)
    
    (tool-bar-mode -1)
    
    (add-to-list 'default-frame-alist '(left-fringe . 11))
    
    (add-to-list 'default-frame-alist '(right-fringe . 0))
    
    (add-to-list 'default-frame-alist '(vertical-scroll-bars . nil))
    
    (setq ns-auto-hide-menu-bar t)
    
    (set-frame-position (selected-frame) 0 0)
    
    (set-frame-size (selected-frame) 1905 1054 t)

frame pixel: 1920 x 1058   cols/lines: 174 x 52   units: 11 x 20
frame text pixel: 1905 x 1054   cols/lines: 173 x 52
tool: 0  scroll: 0/0  fringe: 11  border: 2  right: 0  bottom: 0

#<window 3 on *GNU Emacs*>   parent: nil
pixel left: 0   top: 0   size: 1916 x 1034   new: 0
char left: 0   top: 0   size: 174 x 51   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 1905 x 1014   char: 173 x 50
width left fringe: 11  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 0  divider: 0
height header-line: 0  mode-line: 20  divider: 0

#<window 4 on  *Minibuf-0*>   parent: nil
pixel left: 0   top: 1034   size: 1916 x 20   new: 0
char left: 0   top: 51   size: 1916 x 1   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 1905 x 20   char: 173 x 1
width left fringe: 11  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 0  divider: 0
height header-line: 0  mode-line: 0  divider: 0

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; TEST # 2

The following `window--dump-frame` printout was based on an UN-patched version of Emacs Trunk built on August 15, 2014 using the following settings, and then manually typing `M-x toggle-frame-maximzed` after startup.  The frame does NOT fill the screen in either direction -- i.e., height is off by 14 pixels, and width is off by 2 pixels.

    (setq frame-resize-pixelwise t)
    
    (set-face-attribute 'default (selected-frame) :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1")
    
    (menu-bar-mode -1)
    
    (tool-bar-mode -1)
    
    (add-to-list 'default-frame-alist '(left-fringe . 11))
    
    (add-to-list 'default-frame-alist '(right-fringe . 0))
    
    (add-to-list 'default-frame-alist '(vertical-scroll-bars . nil))
    
    (setq ns-auto-hide-menu-bar t)

frame pixel: 1918 x 1044   cols/lines: 174 x 52   units: 11 x 20
frame text pixel: 1903 x 1040   cols/lines: 173 x 52
tool: 0  scroll: 0/0  fringe: 11  border: 2  right: 0  bottom: 0

#<window 3 on *GNU Emacs*>   parent: nil
pixel left: 0   top: 0   size: 1914 x 1020   new: 0
char left: 0   top: 0   size: 174 x 51   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 1903 x 1000   char: 173 x 50
width left fringe: 11  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 0  divider: 0
height header-line: 0  mode-line: 20  divider: 0

#<window 4 on  *Minibuf-0*>   parent: nil
pixel left: 0   top: 1020   size: 1914 x 20   new: 0
char left: 0   top: 51   size: 1914 x 1   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 1903 x 20   char: 173 x 1
width left fringe: 11  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 0  divider: 0
height header-line: 0  mode-line: 0  divider: 0

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; TEST # 3

The following `window--dump-frame` printout was based on a PATCHED (nsterm.m 08/15/2014) version of Emacs Trunk built on August 15, 2014 using the following settings.  The frame fills the entire screen, and is what I consider to be perfect.

    (setq frame-resize-pixelwise t)
    
    (set-face-attribute 'default (selected-frame) :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1")
    
    (menu-bar-mode -1)
    
    (tool-bar-mode -1)
    
    (add-to-list 'default-frame-alist '(left-fringe . 11))
    
    (add-to-list 'default-frame-alist '(right-fringe . 0))
    
    (add-to-list 'default-frame-alist '(vertical-scroll-bars . nil))
    
    (setq ns-auto-hide-menu-bar t)
    
    (set-frame-position (selected-frame) 0 0)
    
    (set-frame-size (selected-frame) 1905 1054 t)


frame pixel: 1920 x 1058   cols/lines: 174 x 52   units: 11 x 20
frame text pixel: 1905 x 1054   cols/lines: 173 x 52
tool: 0  scroll: 0/0  fringe: 11  border: 2  right: 0  bottom: 0

#<window 3 on *GNU Emacs*>   parent: nil
pixel left: 0   top: 0   size: 1916 x 1034   new: 0
char left: 0   top: 0   size: 174 x 51   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 1905 x 1014   char: 173 x 50
width left fringe: 11  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 0  divider: 0
height header-line: 0  mode-line: 20  divider: 0

#<window 4 on  *Minibuf-0*>   parent: nil
pixel left: 0   top: 1034   size: 1916 x 20   new: 0
char left: 0   top: 51   size: 1916 x 1   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 1905 x 20   char: 173 x 1
width left fringe: 11  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 0  divider: 0
height header-line: 0  mode-line: 0  divider: 0

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; TEST # 4

The following `window--dump-frame` printout was based on a PATCHED (nsterm.m 08/15/2014) version of Emacs Trunk built on August 15, 2014 using the following settings, and then manually typing `M-x toggle-frame-maximzed` after startup.  The width is now perfect (i.e., 1920).  The height is almost perfect -- i.e., 1054 -- it looks like about 2 pixels to the top of the screen are not filled, and about 2 pixels to the bottom of the screen are not filled.

    (setq frame-resize-pixelwise t)
    
    (set-face-attribute 'default (selected-frame) :font "-*-Courier-normal-normal-normal-*-18-*-*-*-m-0-iso10646-1")
    
    (menu-bar-mode -1)
    
    (tool-bar-mode -1)
    
    (add-to-list 'default-frame-alist '(left-fringe . 11))
    
    (add-to-list 'default-frame-alist '(right-fringe . 0))
    
    (add-to-list 'default-frame-alist '(vertical-scroll-bars . nil))
    
    (setq ns-auto-hide-menu-bar t)

frame pixel: 1920 x 1054   cols/lines: 174 x 52   units: 11 x 20
frame text pixel: 1905 x 1050   cols/lines: 173 x 52
tool: 0  scroll: 0/0  fringe: 11  border: 2  right: 0  bottom: 0

#<window 3 on *GNU Emacs*>   parent: nil
pixel left: 0   top: 0   size: 1916 x 1030   new: 0
char left: 0   top: 0   size: 174 x 51   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 1905 x 1010   char: 173 x 50
width left fringe: 11  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 0  divider: 0
height header-line: 0  mode-line: 20  divider: 0

#<window 4 on  *Minibuf-0*>   parent: nil
pixel left: 0   top: 1030   size: 1916 x 20   new: 0
char left: 0   top: 51   size: 1916 x 1   new: 0
normal: 1.0 x 1.0   new: 0
body pixel: 1905 x 20   char: 173 x 1
width left fringe: 11  left margin: 0  right margin: 0
width right fringe: 0  scroll-bar: 0  divider: 0
height header-line: 0  mode-line: 0  divider: 0


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Thanks,

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

At Fri, 15 Aug 2014 17:52:25 +0200,
martin rudalics wrote:
> 
>  > I see no difference between the default behavior of August 13, 2014 Emacs Trunk (before applying the patch), versus after applying the August 12, 2014 patch of nsterm.m.
> 
> I wasn't expecting too much from it anyway :-(
> 
>  > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>  >
>  > *window-frame-dump*_06_01_2014.txt
>  >
>  > frame pixel: 1926 x 1058   cols/lines: 174 x 52   units: 11 x 20
>  > frame text pixel: 1900 x 1054   cols/lines: 172 x 52
> 
> I suppose the 1926 is now 6 pixels too wide for a display width of 1920
> and this comes from adding the 6 pixels for the changes in the fringe
> calculations.  Correct?
> 
>  > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>  >
>  > *window_frame_dump*_08_13_2014.txt
>  >
>  > frame pixel: 1920 x 1058   cols/lines: 175 x 52   units: 11 x 20
>  > frame text pixel: 1900 x 1054   cols/lines: 172 x 52
> 
> Are these now the intended values?
> 
> BTW have you set `frame-resize-pixelwise' to t?  If you don't, Emacs
> will round sizes to character multiples.
> 
>  > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>  >
>  > Printout with `toggle-frame-maximzed` following Emacs -Q
>  >
>  > frame pixel: 1920 x 1000   cols/lines: 275 x 62   units: 7 x 16
>  > frame text pixel: 1885 x 996   cols/lines: 269 x 62
> 
> This means that the width isn't too far away from the other two but the
> height is quite different - maybe to account for a taskbar.  I attach
> yet another patch for nsterm.  You have to set `frame-resize-pixelwise'
> in your .emacs to some non-nil value for it (but you should have done
> that already as mentioned above).
> 
> martin





  parent reply	other threads:[~2014-08-16 23:35 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-07 18:40 bug#18215: 24.4.50; OSX 10.6.8; set-frame-size by pixelwise does not work following `make-fame` Keith David Bershatsky
2014-08-08  8:45 ` martin rudalics
2014-08-09 19:29 ` Keith David Bershatsky
2014-08-10  9:19   ` martin rudalics
2014-08-09 19:36 ` bug#18215: Fwd: " Keith David Bershatsky
2014-08-09 19:37 ` Keith David Bershatsky
2014-08-09 20:00 ` Keith David Bershatsky
2014-08-10 16:51 ` Keith David Bershatsky
2014-08-11  7:40   ` martin rudalics
2014-08-12  2:47 ` Keith David Bershatsky
2014-08-12 13:03   ` martin rudalics
2014-08-13  4:43 ` Keith David Bershatsky
2014-08-13  6:23   ` martin rudalics
2014-08-13 10:33     ` Jan D.
2014-08-13 12:21       ` martin rudalics
2014-08-13  4:49 ` Keith David Bershatsky
2014-08-14  3:44 ` Keith David Bershatsky
2014-08-15 15:52   ` martin rudalics
2014-08-16 23:35 ` Keith David Bershatsky [this message]
2014-08-17 10:12   ` martin rudalics
2014-08-17 18:29 ` Keith David Bershatsky
2014-08-18  8:31   ` martin rudalics
2017-09-02 17:44     ` bug#18215: [PATCH] Set frame size to actual requested size (bug#18215) Alan Third
     [not found] <m24mxnknho.wl%esq@lawlist.com>
2014-08-09  9:44 ` bug#18215: 24.4.50; OSX 10.6.8; set-frame-size by pixelwise does not work following `make-fame` martin rudalics
     [not found] <m2ha1l4nxl.wl%esq@lawlist.com>
2014-08-09 17:14 ` martin rudalics

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=m2ha1c6m9q.wl%esq@lawlist.com \
    --to=esq@lawlist.com \
    --cc=18215@debbugs.gnu.org \
    --cc=rudalics@gmx.at \
    /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).