(bug) Igor Pro sometimes forgets the stacking order of the windows
isend
macOS 10.15.7
Igor Pro 8.04
When I switch from Igor Pro (without closing it) to another application and then switch back to Igor Pro, the window on top that I was working on sometimes automatically moves backward, hiding behind other windows. This bug is more often seen if I save the .pxp file, close Igor Pro, and then reopen the.pxp file. This makes it difficult for me to find the window I was working on.
I tried to give Accessibility permission to Igor Pro in System Preferences > Security & Privacy, but the problem still exists. This bug was never seen when I used Igor 6.
How can I fix the bug?
You probably get a faster response if you write such bug reports directly to the support via email. Does this problem go away with the latest nightly build (make a proper backup of your Igor folder to be safe before overwriting these files): https://www.wavemetrics.net/Downloads/latest8/
Also, it is not clear when the problem occurs. First you say it happens when you just switch to another application, but then you say you see this more often after closing and reopening a file? Does this not happen always? Does it happen less frequent without reopening the file?
August 11, 2021 at 08:33 am - Permalink
This may be also function of additional code you may be using. My own code does management of all open panels on compile, so they get reordered more or less randomly (for user) as they get rearranged. So on restart, panels order gets changed in my case. It is penalty users pay for other advantages. Obviously, other code may be doing this with graphs or any other Igor widgets. If you use some package of tools from non-Wavemetrics source, this may be something to talk about with the author.
August 11, 2021 at 09:52 am - Permalink
Do you use Spaces? Igor and Spaces don't get along.
August 11, 2021 at 01:55 pm - Permalink
In reply to Do you use Spaces? Igor and… by johnweeks
Yes I do use Spaces, but I never move any window in Igor Pro to another Space. I tried turning off Spaces and then reopening Igor Pro, but the bug remained (recorded video below):
https://i.imgur.com/TgQFJK7.gif
I activated Layout0, hid Igor Pro, then reactivated Igor Pro, but Layout0 is no longer on the top.
August 13, 2021 at 11:48 pm - Permalink
I downloaded your animated GIF and played it in Preview, where I can view it frame-by-frame. Interestingly, frame 59, the first after you re-activate Igor, the layout window IS on top. Can you share the experiment file? You can send it as an email attachment to support@wavemetrics.com.
August 16, 2021 at 12:18 pm - Permalink
Well, having said that, I noticed that all your graph windows have the Info bars open. So I made a graph and showed the info bar. Then I made a layout window. I hid Igor using Cmd-H, the clicked on Igor's dock icon to show it. The graph with info bar comes to the top, as you report.
If I close the info bar before hiding Igor, then the stacking order is as it was when hidden.
In Igor 6 that "attached" window was achieved using a feature of the Carbon windowing system (remember Carbon?). That feature ("Window groups") didn't make it into Cocoa and was never in the Qt framework we use now. The behavior is achieved now using some pretty skanky trickery involving re-stacking windows when we get a window activation event. It is very delicate code...
I'll look at it and see if there is something that can be done, but debugging that code is difficult- the source debugger changes how things work with respect to activation events, so it has to be done with many debugging statements printing into a special debugging window instead. And the sequence of events upon activation of Igor can be quite baffling.
August 16, 2021 at 12:31 pm - Permalink
In reply to Well, having said that, I… by johnweeks
Hi @johnweeks,
Thank you for the efforts. I sent another problematic file to support@wavemetrics.com if you are still interested.
(Oh and I am obsessed with the Info bars, so I cannot get rid of this habit even if they are the cause of this problem.)
August 16, 2021 at 04:24 pm - Permalink
In reply to Hi @johnweeks, Thank you… by isend
Didn't mean to suggest you get along without them, we like them, too :) Just that it's tricky code that might resist debugging and fixing.
August 16, 2021 at 05:03 pm - Permalink
isend sent a file to support as requested. I see his problem using Igor 9 and OS X 10.14.6 (Mojave) so it's not a Catalina problem. Here is what I reported to isend via support:
First response:
Then, after some work trying to figure out what's going on:
August 23, 2021 at 09:29 am - Permalink