From: David Engster <deng@randomsample.de>
To: martin rudalics <rudalics@gmx.at>
Cc: 22000@debbugs.gnu.org
Subject: bug#22000: 25.0.50; Running dired changes frame width, gtk_distribute_natural_allocation throws assertion
Date: Wed, 25 Nov 2015 20:00:38 +0100 [thread overview]
Message-ID: <87fuztq4yx.fsf@isaac.fritz.box> (raw)
In-Reply-To: <5655F489.6050906@gmx.at> (martin rudalics's message of "Wed, 25 Nov 2015 18:48:57 +0100")
martin rudalics writes:
>>> And obviously this is Bug#15700 ;-)
>>
>> I really need to improve my search-fu...
>
> I could have noticed sooner too. Google also lists:
>
> https://bugzilla.redhat.com/show_bug.cgi?id=881760
>
> https://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00276.html
>
> https://bbs.archlinux.org/viewtopic.php?id=168847
>
> https://cygwin.com/ml/cygwin/2013-07/msg00070.html
I've actually found most of those, as well as bug #12234, but I think
that one was a problem only with Unity.
>> Also, it seems to be impossible to programatically set a frame width
>> that is smaller than the menu-bar. `set-frame-width' doesn't work,
>> neither does `initial-frame-alist' or even the '-geometry' switch.
>
> Here with xfce ‘set-frame-width’ and ‘default-frame-alist’ both crop the
> menubar.
That's weird. I just tested with 'icewm' and saw the same behavior as in
'i3' (flickering during resize and (set-frame-width nil 10) not
working). Maybe it also depends on the exact GTK3 version?
>> Unfortunately, I'm not very familiar with GTK. My guess is that you
>> would somehow have to catch the 'size-allocate' signal and do The Right
>> Thing in the callback, but my hacks so far were not successful.
>
> If I'm not mistaken the problem should happen in one of the two
> gtk_distribute_natural_allocation calls of gtk_menu_bar_size_allocate.
>
> But create_menus in gtkutil.c has this
>
> /* Set width of menu bar to a small value so it doesn't enlarge
> a small initial frame size. The width will be set to the
> width of the frame later on when it is added to a container.
> height -1: Natural height. */
> gtk_widget_set_size_request (wmenu, 1, -1);
>
> I have no idea yet how these are related and when the "width will be set".
I think the final width is set when container containing the menu widget
is actually displayed. The code is pretty opaque to me - I guess we
can't just use a plain gtk menu_bar because we need to add/remove menu
items at runtime? Because any other GTK3 app I've tried did not have any
problem with cropping the menu bar during resize.
-David
next prev parent reply other threads:[~2015-11-25 19:00 UTC|newest]
Thread overview: 95+ 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 [this message]
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
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
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=87fuztq4yx.fsf@isaac.fritz.box \
--to=deng@randomsample.de \
--cc=22000@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 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.