GNU bug report logs - #25542
25.1; Restoring the frame from fullscreen to maximized

Previous Next

Package: emacs;

Reported by: Dani Moncayo <dmoncayo <at> gmail.com>

Date: Thu, 26 Jan 2017 08:16:02 UTC

Severity: normal

Found in version 25.1

Done: Ken Brown <kbrown <at> cornell.edu>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Noam Postavsky <npostavs <at> users.sourceforge.net>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 25542 <at> debbugs.gnu.org, Dani Moncayo <dmoncayo <at> gmail.com>
Subject: bug#25542: 25.1; Restoring the frame from fullscreen to maximized
Date: Fri, 27 Jan 2017 13:50:38 -0500
[Message part 1 (text/plain, inline)]
On Fri, Jan 27, 2017 at 8:47 AM, martin rudalics <rudalics <at> gmx.at> wrote:
> Everything seems clear - the bug is all mine.  Windows just told us that
> the frame was maximized but the simple hack in w32.term.c
>
>                 case SIZE_MAXIMIZED:
>                   ...
>                   /* Windows can send us a SIZE_MAXIMIZED message even
>                      when fullscreen is fullboth.  The following is a
>                      simple hack to check that based on the fact that
>                      only a maximized fullscreen frame should have both
>                      top/left outside the screen.  */
>                   if (EQ (fullscreen, Qfullwidth) || EQ (fullscreen,
> Qfullheight)
>                       || NILP (fullscreen))
>                       {
>                         int x, y;
>
>                         x_real_positions (f, &x, &y);
>                         if (x < 0 && y < 0)
>                           store_frame_param (f, Qfullscreen, Qmaximized);
>                       }
>
> fails becaue either x (in your case) or y (in the taskbar at top case)
> are greater zero.  (I boldly assume that NILP (fullscreen) held, maybe
> Noam can verify - I never move my taskbar.)

Your assumption is correct. I added some message calls to master (as
in the attached diff). With the taskbar on the left I got:

SIZE_MAXIMIZED, fullscreen = nil
SIZE_MAXIMIZED, x = 54, y = -8

on the maximize, and

SIZE_MAXIMIZED, fullscreen = fullboth

on hitting f11 the first time. Nothing the second time (when Emacs
incorrectly switches to non-maximized state).

With the taskbar on top it's the same except x = -8, y = 22 (when
taskbar is on the right or botton both x and y are -8 and the the
second f11 produces the same message as maximizing).
[w32term.c.msg.diff (text/plain, attachment)]

This bug report was last modified 4 years and 258 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.