>> (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?
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)?