bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#5482: frame-invisible-p reports nil for iconified frames on w32


From: martin rudalics
Subject: bug#5482: frame-invisible-p reports nil for iconified frames on w32
Date: Sun, 26 Jun 2016 12:18:30 +0200

>> Create a frame
>>
>>    (setq my-frame (make-frame))
>>
>> Iconify it. Then make it first invisible and then visible again:
>>
>>    (make-frame-invisible my-frame)
>>    (make-frame-visible my-frame)
>>
>> The result of checking if it is visible is now nil (should be `iconified'):
>>
>>    (frame-visible-p my-frame)
>>
>> This is with a fresh checkout from yesterday.
>>
>>
>> BTW the implementation of frame-visible-p seems a bit strange to me on
>> w32. It is easy to check visibility using GetWindowPlacement, but is
>> this used?
>
> Sorry for the late reply here.  In Emacs 25, the behavior is different,
> at least for me in Mac OS X.  Now, when I do (make-frame-visible
> my-frame), the frame uniconifies and becomes a normal window again.

And that's wrong according to the OP.  The frame should stay iconified.
The attached patch would fix this in the OP's sense on Windows but this
would probably have to be fixed in a similar sense on the other
platforms as well and I wouldn't know how to do that in xterm.c where we
have this explicit specification:

/* Make the frame visible (mapped and not iconified).  */

void
x_make_frame_invisible (struct frame *f)

I suppose it can't be done reliably on GNU/Linux and that's why Windows
has to stick to the wrong behavior.

> Can you (or anyone else) still reproduce this on Windows?

This should be reproducible everywhere.

martin

Attachment: w32term.diff
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]