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
next prev parent 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.