bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#18215: 24.4.50; OSX 10.6.8; set-frame-size by pixelwise does not wor


From: Keith David Bershatsky
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
User-agent: / () / () APEL/10.8 Emacs/24.4.50 (x86_64-apple-darwin10.8.0) MULE/6.0 (HANACHIRUSATO)

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]