Subject: Re: bug#19990: 24.4; Bad resizing interaction when WM ignores size hints

From: "Jan D." <[email-masked]>
Date: Fri, 6 Mar 2015 07:03:05 +0100

Hi.

> 5 mar 2015 kl. 19:15 skrev martin rudalics <[email-masked]>:
> 
> > What do you mean by intercept?  Intercept from who?
> 
> I have no idea how a resize request issued by the window manager is
> handled.  I initially thought that a configure event is issued by the
> window manager and passed on to us via Gtk.  Apparently, this is not the
> case and the window manager only informs Gtk about the resize request
> and Gtk takes the appropriate measures.  As far as focus requests are
> concerned I don't understand why Gtk doesn't treat them like resize
> requests.

The window manager can resize the window, for example when you drag on its corners, or when you maximize it.
Or it can intercept Emacs resize request and modify it, so it is consistent with size hints.
In both cases a ConfigureNotify is sent.  Gtk+ does receive it.  The problem is that Gtk+ then tries to apply size hints also.

Focus events does not contain any information about width/height and can't be taken as a resize request.  That would be kind of perverse, focus has nothing to do with resize.

> 
> 
> So if Emacs starts with a maximized frame we don't set any hints?
> 

Yes.

> Apparently no such measure is needed for fullheight/-width frames.

The bug report that lead to the change mentioned no such problems.

> 
> > I.e. make sure the window manager and Gtk+ have the same hints, but
> > don't change them when fullscreen because Gtk+ and KWin implements
> > enforcements of hints differently.  Gtk+ and the window manager still
> > has our last non-fullscreen hints.
> 
> With the according base height and width.  I always thought these should
> reflect our current sizes.  Does the fullscreen status suspend that
> temporarily?

The window manager is what does the fullscreen happen, so it is free to ignore any hints, i.e. hints should not matter, fullscreen takes precedence.  But in principle hints during fullscreen may not reflect the "true" state of affairs.

	Jan D.