Subject: bug#25542: 25.1; Restoring the frame from fullscreen to maximized

From: Ken Brown <[email-masked]>
Date: Thu, 10 Sep 2020 15:04:29 -0400

On 9/10/2020 2:16 PM, martin rudalics wrote:
>  >> (2) Does 'toggle-frame-fullscreen' the second time when you type F11
>  >>      correctly call
>  >>
>  >>     (set-frame-parameter frame 'fullscreen fullscreen-restore)
>  >>
>  >>     with 'fullscreen-restore' equal to 'maximized' at all?
>  >
>  > No.  The value of 'fullscreen-restore' is nil.  But if I repeat the 
> experiment with the taskbar on the bottom, the value of fullscreen-restore is 
> 'maximized'.
> 
> Thanks for telling me what I forgot to ask.  IIUC this means that after
> maximizing the frame with the mouse, the value of
> 
> (frame-parameter nil 'fullscreen)
> 
> is nil.  Correct?

Yes.

> And what is its value if, instead, you maximize the
> frame via 'toggle-frame-maximized'?

maximized.

> In either case the bug should be a consequence of the earlier mentioned
> 
>              if (x < 0 && y < 0)
>                store_frame_param (f, Qfullscreen, Qmaximized);
> 
> so we do not remember in the fullscreen parameter that the frame has
> been maximized.  Apparently some check _is_ needed (why?) so probably
> using
> 
>              if (x < 0 || y < 0)
>                store_frame_param (f, Qfullscreen, Qmaximized);
> 
> instead will fix it.  Can you try that (as I said elsewhere it will then
> fail for borderless, maximized frames)?

Yes, that does fix it.  I haven't tried to test anything involving borderless 
frames.

Ken