unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#23144: shrinking windows with gtk 3.20
@ 2016-03-28 20:52 Matthias Clasen
  2016-03-29 15:18 ` martin rudalics
                   ` (3 more replies)
  0 siblings, 4 replies; 28+ messages in thread
From: Matthias Clasen @ 2016-03-28 20:52 UTC (permalink / raw)
  To: 23144

We've observed that after

https://git.gnome.org/browse/gtk+/commit/?id=67ab00e01ec06d7b05a82c3d80b235ac6c4abfd2

emacs windows shrink to a small height, after initially appearing with
the expected size. For that reason, I have reverted to commit in the
stable gtk 3.20 branch.

But after looking a bit closer, I find that what emacs does is really
unsupportable: It handles X events behind GTK+'s back, and upon seeing
a map notify, it calls xg_frame_resized with -1, -1 for width and
height, which makes it call gdk_window_get_geometry to obtain the
current size. But at that point (before GTK+ has handled the map
notify), the function still returns the initial values of 1, 1, which
then leads eventually to a call of gtk_window_resize() with the small
height that we're seeing the window shrink to.

Therefore, I will bring back the reverted change in GTK+ master.

Possible workarounds/fixes in the emacs code:

1) Recognize when gdk_window_get_geometry returns the initial size
(1,1) and silently return as if the window was unmapped.

2) Just drop the xg_frame_resized call on MapNotify. Omitting it
doesn't have any noticeable negative consequences.





^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2017-03-24 18:52 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-28 20:52 bug#23144: shrinking windows with gtk 3.20 Matthias Clasen
2016-03-29 15:18 ` martin rudalics
2016-03-29 16:02   ` Eli Zaretskii
2016-03-29 17:20     ` martin rudalics
2016-03-31 16:09   ` John Wiegley
2016-04-01  7:48     ` martin rudalics
2016-04-01  9:46       ` Eli Zaretskii
2016-04-02  0:03 ` Paul Eggert
2016-04-02  7:01   ` Eli Zaretskii
2016-04-02 15:19     ` Matthias Clasen
2016-04-02 15:47       ` Eli Zaretskii
2016-04-02 16:06         ` martin rudalics
2016-04-02 16:28           ` Eli Zaretskii
2016-04-02 17:27             ` Matthias Clasen
2016-04-02 17:32               ` Eli Zaretskii
2016-04-02 23:20                 ` Matthias Clasen
2016-04-03  2:36                   ` Eli Zaretskii
2016-05-16  6:53 ` Paul Eggert
2016-05-16  8:21   ` martin rudalics
2016-05-16 15:53   ` Eli Zaretskii
2016-05-16 17:11     ` Paul Eggert
2017-03-24 13:01 ` Ken Brown
2017-03-24 13:24   ` martin rudalics
2017-03-24 13:38     ` Ken Brown
2017-03-24 18:52       ` martin rudalics
2017-03-24 13:35   ` Eli Zaretskii
2017-03-24 14:08     ` Ken Brown
2017-03-24 14:27       ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).