all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Vivek Dasmohapatra <vivek@etla.org>
Cc: 22000@debbugs.gnu.org, David Engster <deng@randomsample.de>
Subject: bug#22000: Patch addressing the menu-bar frame-resize interaction
Date: Fri, 20 Jul 2018 10:14:47 +0200	[thread overview]
Message-ID: <5B5199F7.7000303@gmx.at> (raw)
In-Reply-To: <alpine.DEB.2.02.1807191248240.921@platypus.pepperfish.net>

 > Backtrace (attached):
 >
 >    gdk_frame_clock_paint_idle
 >    …
 >    → gtk_container_idle_sizer
 >    …
 >    → gtk_distribute_natural_allocation
 >
 > Is the path, I think.

Why doesn't this process kick in after I shrink the frame width
manually such that the menu bar is cropped?  Something in the course
of adding an item to the menu bar must trigger it.

 >> I suppose the container respecting its wishes is that of the Emacs
 >> frame's window.  And if that container were a scrolled window, it
 >> would not auto-resize.  Do I reason correctly?
 >
 > Initially it's the box (vbox?) that the menubar is added to.
 > Not sure that's the top level widget.

If my reading of this is correct, resizing gets passed on from one
container to its parent until the top-level widget is reached.  Maybe
we could intercept that chain via gtk_container_set_resize_mode but I
don't know to which value.  'queued' doesn't sound very intriguing.

 >> Only the "virtual" container we'd add would have fixed size but this
 >> does not mean that it passes on the fixed size property to the menu
 >> bar's widget.  Inherently, this means that we would be cheating GTK
 >> another time.  Or am I wrong?
 >
 > IIUC you are right - that's how you're supposed to do it - I just don't
 > know if there's a non-deprecated widget that does what we want.
 >
 > Worst case scenario: If I grab the scrolled window class and mutilate it

Above I meant using the gtk fixed window class for the container, not
the scrolled window one.

 > till it does what we want, would you consider emacs carrying that widget
 > class in its code? It shouldn't change any of the build dependencies.
 >
 > NOTE: FWIW even the hbox and vbox we are using are deprecated and have
 > been for a while, so this whole area of code is going to need to be converted over to gtk grid at some point anyway.

I never started counting the areas of Emacs code that would require
similar treatment.

 > You can suppress the scrollbars independently, but that's what restores
 > the unwanted resizing behaviour in that direction: Suppress the vertical
 > scrollbar and suddenly vertical size requests are honoured, suppress
 > the horizontal and suddenly the menu bar can force the frame size again.

I made the silly assumption that turning off horizontal bars would
still inhibit horizontal resizing.  It must be the other way round.

martin






  reply	other threads:[~2018-07-20  8:14 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-23 20:55 bug#22000: 25.0.50; Running dired changes frame width, gtk_distribute_natural_allocation throws assertion David Engster
2015-11-24  8:28 ` martin rudalics
2015-11-24 16:48   ` David Engster
2015-11-24 19:26     ` martin rudalics
2015-11-25 16:15       ` David Engster
2015-11-25 17:48         ` martin rudalics
2015-11-25 19:00           ` David Engster
2015-11-26  8:22             ` martin rudalics
2018-07-15 18:09 ` bug#22000: Patch addressing the menu-bar frame-resize interaction Vivek Dasmohapatra
2018-07-16  7:28   ` martin rudalics
2018-07-16  9:46     ` Vivek Dasmohapatra
2018-07-16 19:58       ` Vivek Dasmohapatra
2018-07-17  7:48         ` martin rudalics
2018-07-17 13:45           ` Vivek Dasmohapatra
2018-07-17 19:02             ` Vivek Dasmohapatra
2018-07-18  7:01               ` martin rudalics
2018-07-18  7:07                 ` martin rudalics
2018-07-18 10:39                 ` Vivek Dasmohapatra
2018-07-19  8:19                   ` martin rudalics
2018-07-19 12:04                     ` Vivek Dasmohapatra
2018-07-20  8:14                       ` martin rudalics [this message]
2018-07-20  9:21                         ` Vivek Dasmohapatra
2018-07-20 12:34                           ` martin rudalics
2018-07-20 17:44                             ` Vivek Dasmohapatra
2018-07-21  7:43                               ` martin rudalics
2018-07-21 13:24                                 ` Vivek Dasmohapatra
2018-07-22  7:24                                   ` martin rudalics
2018-07-22 12:29                                     ` Vivek Dasmohapatra
2018-07-23  6:50                                       ` martin rudalics
2018-10-11 13:05                                         ` Vivek Dasmohapatra
2018-10-11 18:17                                           ` martin rudalics
2018-10-11 18:27                                             ` martin rudalics
2018-10-11 18:48                                               ` Vivek Dasmohapatra
2018-10-11 20:51                                             ` Vivek Dasmohapatra
2018-10-12  8:44                                               ` martin rudalics
2018-10-12 12:47                                                 ` Vivek Dasmohapatra
2018-10-12 18:12                                                   ` martin rudalics
2018-10-12 18:25                                                     ` Vivek Dasmohapatra
2018-10-13  8:20                                                       ` martin rudalics
2018-10-13 10:03                                                         ` Vivek Dasmohapatra
2018-10-15 13:57                                                         ` Vivek Dasmohapatra
2018-10-15 18:23                                                           ` martin rudalics
2018-10-16  1:19                                                             ` Vivek Dasmohapatra
2018-10-16  8:47                                                               ` martin rudalics
2018-10-16 18:58                                                             ` Vivek Dasmohapatra
2018-10-17  7:29                                                               ` martin rudalics
2018-10-18  1:02                                                                 ` Vivek Dasmohapatra
2018-10-18  8:06                                                                   ` martin rudalics
2018-10-18 12:23                                                                     ` Vivek Dasmohapatra
2018-10-18 12:48                                                                       ` Robert Pluim
2018-10-18 13:24                                                                         ` Vivek Dasmohapatra
2018-10-18 13:46                                                                           ` Robert Pluim
2018-10-18 13:56                                                                           ` Eli Zaretskii
2018-10-18 17:08                                                                             ` Vivek Dasmohapatra
2018-10-18 18:16                                                                               ` Eli Zaretskii
2018-10-18 18:34                                                                                 ` Vivek Dasmohapatra
2018-10-18 13:51                                                                         ` Stephen Berman
2018-10-18 14:31                                                                           ` Robert Pluim
2018-10-18 13:51                                                                       ` Eli Zaretskii
2018-10-18 17:26                                                                         ` Vivek Dasmohapatra
2018-10-18 18:20                                                                           ` Eli Zaretskii
2018-10-18 18:32                                                                             ` Vivek Dasmohapatra
2018-10-18 19:55                                                                             ` Drew Adams
2018-10-19  6:23                                                                               ` Eli Zaretskii
2018-10-18 13:34                                                                     ` Eli Zaretskii
2018-10-18 14:22                                                                       ` Robert Pluim
2018-10-18 16:41                                                                         ` martin rudalics
2018-10-19  7:41                                                                           ` Robert Pluim
2018-10-19  8:34                                                                             ` martin rudalics
2018-10-19  9:14                                                                               ` Robert Pluim
2018-10-19 13:44                                                                                 ` Robert Pluim
2018-10-19 17:57                                                                                   ` martin rudalics
2018-10-23 10:07                                                                                     ` Robert Pluim
2018-10-23 13:45                                                                                       ` martin rudalics
2018-10-23 14:02                                                                                         ` Robert Pluim
2018-10-23 18:18                                                                                           ` martin rudalics
2018-10-23 19:19                                                                                             ` Robert Pluim
2018-10-24  9:44                                                                                               ` martin rudalics
2018-10-24 11:52                                                                                                 ` Robert Pluim
2018-10-24 12:18                                                                                                   ` Vivek Dasmohapatra
2018-10-19 14:17                                                                               ` Stephen Berman
2018-10-19 14:44                                                                                 ` Vivek Dasmohapatra
2018-10-19 16:21                                                                                   ` Stephen Berman
2018-10-21 15:44                                                                                     ` Vivek Dasmohapatra
2018-10-21 15:50                                                                                     ` Vivek Dasmohapatra
2018-10-22 17:11                                                                                       ` Vivek Dasmohapatra
2018-10-19 17:57                                                                                 ` martin rudalics
2018-10-18 16:40                                                                       ` martin rudalics
2018-10-18 17:07                                                                         ` Eli Zaretskii
2018-10-18 17:13                                                                           ` Vivek Dasmohapatra
2018-10-19  7:26                                                                             ` Robert Pluim
2018-10-19  8:23                                                                               ` Eli Zaretskii
2018-10-19  9:25                                                                                 ` Robert Pluim
2018-10-12 18:34                                                     ` Vivek Dasmohapatra
2018-10-12 18:16                                                 ` Vivek Dasmohapatra
     [not found] <<87k2p8h1vn.fsf@isaac.fritz.box>
     [not found] ` <<5B52E425.8010608@gmx.at>
     [not found]   ` <<alpine.DEB.2.02.1807211421040.921@platypus.pepperfish.net>
     [not found]     ` <<5B543148.1010004@gmx.at>
     [not found]       ` <<alpine.DEB.2.02.1807221324380.921@platypus.pepperfish.net>
     [not found]         ` <<5B557ACA.4020106@gmx.at>
     [not found]           ` <<alpine.DEB.2.02.1810111400480.5980@platypus.pepperfish.net>
     [not found]             ` <<5BBF93CF.4060301@gmx.at>
     [not found]               ` <<alpine.DEB.2.02.1810112148100.5980@platypus.pepperfish.net>
     [not found]                 ` <<5BC05EEB.9010609@gmx.at>
     [not found]                   ` <<alpine.DEB.2.02.1810121316230.5980@platypus.pepperfish.net>
     [not found]                     ` <<5BC0E405.90805@gmx.at>
     [not found]                       ` <<alpine.DEB.2.02.1810121917570.5980@platypus.pepperfish.net>
     [not found]                         ` <<5BC1AAE2.7070808@gmx.at>
     [not found]                           ` <<alpine.DEB.2.02.1810151455060.19047@platypus.pepperfish.net>
     [not found]                             ` <<5BC4DB0E.3050501@gmx.at>
     [not found]                               ` <<alpine.DEB.2.02.1810161954120.19047@platypus.pepperfish.net>
     [not found]                                 ` <<5BC6E4F2.2030607@gmx.at>
     [not found]                                   ` <<alpine.DEB.2.02.1810180200180.19047@platypus.pepperfish.net>
     [not found]                                     ` <<5BC83F03.4050006@gmx.at>
     [not found]                                       ` <<alpine.DEB.2.02.1810181321230.19047@platypus.pepperfish.net>
     [not found]                                         ` <<83o9brqs6e.fsf@gnu.org>
     [not found]                                           ` <<alpine.DEB.2.02.1810181813500.19047@platypus.pepperfish.net>
     [not found]                                             ` <<83bm7rqfpo.fsf@gnu.org>
     [not found]                                               ` <<766dc2b9-7931-48b2-b2f2-6b57d7ca85dd@default>
     [not found]                                                 ` <<835zxyqwtg.fsf@gnu.org>
2018-10-20 23:58                                                   ` Drew Adams
2018-10-21  2:39                                                     ` Eli Zaretskii

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=5B5199F7.7000303@gmx.at \
    --to=rudalics@gmx.at \
    --cc=22000@debbugs.gnu.org \
    --cc=deng@randomsample.de \
    --cc=vivek@etla.org \
    /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.