[squeak-dev] bad MessageTrace regression (was: The Trunk: Morphic-mt.1652.mcz)
marcel.taeumel at hpi.de
Wed Jan 12 07:59:26 UTC 2022
Hi Chris --
> And if the users' goal is explicitly to make a duplicate, then don't understand why the duplicate halo, even despite being at another user-interface level, should be an issue. What's wrong with using Squeak's power?
Because using the halo is a totally different mechanism while the meaning of "re-use windows" can be tweaked to be more appealing to a broader audience.
Christoph suggested that we should not ignore the user's input when they want to spawn another tool -- even if it would look the same as the tool they are currently working with. A common example is to hit the "browse" button in an open System Browser. You just want to get a new window to then browse something different, but nearby. Would be quite annoying to have to resort to the Morphic halo for this case.
> Marcel made this logic change when he also introduced the "context" and "requestor" complexities into the method.
It is still at a single place and thus easy to maintain. I am not saying that the current query is perfect. I was just negotiating between Chris' and Christoph's requirements for the reuseWIndows preference. I am happy to see that you found that line/query and can now reason about it.
Am 12.01.2022 06:43:20 schrieb Chris Muller <asqueaker at gmail.com>:
please make sure to honor the SystemWindow reuseWindows preference when revising this behavior. :-)
I also noticed what appeared to be a slight regression with this when the MessageTrace was spawned by the (I)nheritance function, and then again from the same method in the just-spawned MessageTrace. It spawns another, duplicate, MessageTrace. After that, however, no more are spawned by doing the same behavior. Very strange!
I traced the cause to this line of code (see attached fileout). Marcel made this logic change when he also introduced the "context" and "requestor" complexities into the method. The compact comment there says, "Search for the requesting window to ignore it later.".
After fixing the squeak source server, revisions is working again and I found the good comment Marcel made about the change (even though I disagree with it).
Time: 26 April 2021, 9:45:48.321064 am
Avoid reusing a window if it is the requesting window. This is useful for the "browse" button in the system browser or even for the "hierarchy" button in the hierarchy browser if the hierarchy is the same. A common yet simple way to duplicate a window without using a halo. Since this is an explicit user interaction, it is not expected to interfere with the "re-use windows" preference. I suppose. :-)
So, I actually rely on Reuse Windows to *top* the requestor window (I always use the, "Windows' Contents Are Always Active" mode) if it's the only one, because the point of Reuse Windows is to not have to _know_ whether that's the only one open, and therefore avoiding opening a duplicate. Avoiding unwanted duplicates is actually the purpose of Reuse Windows. And if the users' goal is explicitly to make a duplicate, then don't understand why the duplicate halo, even despite being at another user-interface level, should be an issue. What's wrong with using Squeak's power? And even still another way is to simply make it dirty on purpose. So, I'm not a big fan of this change.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Squeak-dev