all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Stephen Berman <stephen.berman@gmx.net>
Cc: 23966@debbugs.gnu.org
Subject: bug#23966: 25.1.50; Frame resizing due to tool bar + Gnus
Date: Thu, 14 Jul 2016 11:01:39 +0200	[thread overview]
Message-ID: <578754F3.9060800@gmx.at> (raw)
In-Reply-To: <87r3axtkcf.fsf@gmx.net>

 > I did in fact see this lack of height change, but only once among the
 > probably dozens of times I executed that code before filing the bug
 > report; I was surprised but since I couldn't reproduce it, I thought it
 > was a fluke.  All the other times, *Messages* showed this with emacs-25
 > and master:
 >
 > Emacs started; frame height: 36
 > Gnus started; frame height: 36
 > Reading /home/steve/.newsrc.eld...
 > Opening nnfolder server on archive...done
 > No new newsgroups
 > Checking new news...
 > Reading active file via nnnil...done
 > Reading active file from archive via nnfolder...done
 > Reading active file via nndraft...done
 > Checking new news...done
 > Opening nndoc server on /home/steve/tool-bar-Gnus-frame-bug...done
 > Tool bar disabled; frame height: 36
 > Entered Summary buffer; frame height: 36
 > Tool bar enabled; frame height: 36
 > Other buffer; frame height: 38
 > Back to Summary buffer; frame height: 38

‘frame-height’ is not necessarily a reliable reflection of what you see
on screen.

 > With 24.5 the frame height numbers were 35 (five times) followed by 37
 > (twice).
 >
 > When the tool bar was enabled in the Gnus Summary buffer, did you see it
 > displayed as I describe in the OP: an empty 8-pixel high strip?

No.  I see a 35-pixel high strip.  With the following definitions
adapted from yours


(defun gtk-tool-bar-height (&optional frame)
   (let* ((frame (window-normalize-frame frame))
	 (geometry (frame-geometry frame)))
     (cddr (assq 'tool-bar-size geometry))))

(let ((testfile "~/tool-bar-Gnus-frame-bug"))
   (with-temp-file testfile
     (insert "From nobody Wed Jul 13 13:55:54 CEST 2016
To: stephen.berman@gmx.net
Subject: bug test message
From: Stephen Berman <stephen.berman@gmx.net>
Date: Wed Jul 13 13:55:54 CEST 2016
Message-ID: <87twg9y16a.fsf@gmx.net>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Lines: 1

test
"))
   (sit-for 0.1) (message "Emacs started; frame pixel height: %d  toolbar height: %d" (frame-pixel-height) (gtk-tool-bar-height))
   (require 'gnus)
   (let ((gnus-select-method '(nnnil "")))
     (sit-for 0.1) (message "Gnus started; frame pixel height: %d  toolbar height: %d" (frame-pixel-height) (gtk-tool-bar-height))
     (gnus-1)
     (gnus-group-make-doc-group testfile 'mbox)
     (tool-bar-mode -1)
     (sit-for 0.1) (message "Tool bar disabled; frame pixel height: %d  toolbar height: %d" (frame-pixel-height) (gtk-tool-bar-height))
     (sit-for 1)
     (gnus-group-select-group)
     (sit-for 0.1) (message "Entered Summary buffer; frame pixel height: %d  toolbar height: %d" (frame-pixel-height) (gtk-tool-bar-height))
     (sit-for 1)
     ;; Uncommenting these three lines and commenting out the same three
     ;; lines above results in a normal tool bar and no resizing.
     ;; (tool-bar-mode -1)
     ;; (sit-for 0.1) (message "Tool bar disabled; frame pixel height: %d  toolbar height: %d" (frame-pixel-height) (gtk-tool-bar-height))
     ;; (sit-for 1)
     (tool-bar-mode 1)
     (sit-for 0.1) (message "Tool bar enabled; frame pixel height: %d  toolbar height: %d" (frame-pixel-height) (gtk-tool-bar-height))
     (sit-for 3)
     (switch-to-buffer (other-buffer))
     (sit-for 0.1) (message "Other buffer; frame pixel height: %d  toolbar height: %d" (frame-pixel-height) (gtk-tool-bar-height))
     (sit-for 3)
     (switch-to-buffer (other-buffer))
     (sit-for 0.1) (message "Back to Summary buffer; frame pixel height: %d  toolbar height: %d" (frame-pixel-height) (gtk-tool-bar-height)))
     (sit-for 3)
   ;; Suppress further messages and clean up in order to repeat the test
   ;; simply by evaluating this sexp.
   (let (message-log-max)
     (gnus-summary-exit-no-update t)
     (goto-char (point-min))
     (gnus-group-kill-group)
     (let ((gnus-expert-user t))
       (gnus-group-quit))
     (delete-file testfile)
     (when (file-exists-p (gnus-dribble-file-name))
       (delete-file (gnus-dribble-file-name))))
   (sit-for 0.1) (message "Final; frame pixel height: %d  toolbar height: %d" (frame-pixel-height) (gtk-tool-bar-height))
   (sit-for 5)
   (switch-to-buffer "*Messages*"))


and `eval-buffer' of these in an emacs -Q of the release version I get


Emacs started; frame pixel height: 648  toolbar height: 44
Gnus started; frame pixel height: 648  toolbar height: 44
Opening nnfolder server on archive...done
No new newsgroups
Checking new news...
Reading active file via nnnil...done
Checking new news...done
No news is good news
Opening nndoc server on /home/martin/tool-bar-Gnus-frame-bug...done
Tool bar disabled; frame pixel height: 648  toolbar height: 0
Entered Summary buffer; frame pixel height: 648  toolbar height: 0
Tool bar enabled; frame pixel height: 657  toolbar height: 35
Other buffer; frame pixel height: 648  toolbar height: 44
Back to Summary buffer; frame pixel height: 657  toolbar height: 35
Final; frame pixel height: 648  toolbar height: 44
You can run the command ‘eval-buffer’ with M-x ev-b RET
Final; frame pixel height: 648  toolbar height: 44


So the "empty strips" here have a height of 35 pixels while the "normal"
toolbar has 44 pixels.  BTW, before getting the "Tool bar enabled"
message I briefly see some toolbar contents flashing and getting erased
immediately thereafter.

The entire frame height doesn't change here probably due to rounding and
size hints.  However, when I set `frame-resize-pixelwise' to t it
changes as follows:


Emacs started; frame pixel height: 648  toolbar height: 44
Gnus started; frame pixel height: 648  toolbar height: 44
Opening nnfolder server on archive...done
No new newsgroups
Checking new news...
Reading active file via nnnil...done
Checking new news...done
No news is good news
Opening nndoc server on /home/martin/tool-bar-Gnus-frame-bug...done
Tool bar disabled; frame pixel height: 648  toolbar height: 0
Entered Summary buffer; frame pixel height: 648  toolbar height: 0
Tool bar enabled; frame pixel height: 657  toolbar height: 35
Other buffer; frame pixel height: 657  toolbar height: 44
Back to Summary buffer; frame pixel height: 666  toolbar height: 35
Final; frame pixel height: 666  toolbar height: 44


So the pixel height of my frame has increased by 18 (2 times 9 pixels
from the difference between 44 and 35).

What do you get with my modifications?

martin






  reply	other threads:[~2016-07-14  9:01 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-13 12:16 bug#23966: 25.1.50; Frame resizing due to tool bar + Gnus Stephen Berman
2016-07-13 17:34 ` martin rudalics
2016-07-13 19:21   ` Stephen Berman
2016-07-14  9:01     ` martin rudalics [this message]
2016-07-14  9:55       ` Stephen Berman
2016-07-14 17:33         ` martin rudalics
2016-07-14 19:14           ` Stephen Berman
2018-04-12 15:01             ` Lars Ingebrigtsen
2018-04-13  9:16               ` Stephen Berman
2020-07-19 16:02                 ` Lars Ingebrigtsen
2020-07-20  9:10                   ` Stephen Berman
2020-07-20  9:31                     ` Lars Ingebrigtsen
2020-07-20  9:50                       ` Stephen Berman
2020-07-23 15:25                         ` Lars Ingebrigtsen
2020-07-20  9:33                     ` Lars Ingebrigtsen
2020-07-20  9:43                       ` Lars Ingebrigtsen
2020-08-04  9:29                         ` Lars Ingebrigtsen
     [not found]                         ` <87mu3arc6u.fsf@gnus.org>
2022-04-30 16:18                           ` Lars Ingebrigtsen

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=578754F3.9060800@gmx.at \
    --to=rudalics@gmx.at \
    --cc=23966@debbugs.gnu.org \
    --cc=stephen.berman@gmx.net \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.