[squeak-dev] Another modal dialogue issue (was Re: inescapable modal dialog in trunk)

Chris Muller asqueaker at gmail.com
Tue Dec 18 22:20:41 UTC 2018

Hi Tim,

> Possibly related functionally but certainly by subject area -
> the modal dialogues I build for the file chooser etc are 'violated' by a yellowbuttonmenu IF you haven't turned off yellowbutton menus. Not noticed before because my normal preferences do just that; this time I tried some stuff in a very vanilla image and spotted the problem.
> Open a file chooser. cClick about a bit to make sure it is live. Click yellow button; you can now wander off and click in other windows - you've killed the modal nature of the dialog. You can 'return' by simply clicking in the dialog again.

I'm glad you put 'violated' in quotes like that, since there can be
other scopes of modality than global.  For example, it could extend
from only the window which spawned it (the ideal), OR (going in the
other direction to the extreme), what if opening up a FileDialog in
your Squeak image not only prevented you from interacting with other
Squeak windows but all other OS windows, too?   (Impossible, I know,
but a question for conceptual illustration..).   IMO, any scope beyond
the minimum scope seems arbitarily restricting.

I think we should consider making all modal dialogs scoped only to the
spawner.  As long as the dialog selection works and continues to
process upon the selection, this sounds like a feature.  Because even
after the user has opened the dialog and navigated to the directory
they want, if they find different file-names than they expected and
need to go look elsewhere in the image to confirm, -- it seems
unnecessary to make them cancel out and go through all of that again.


> (I just noticed that using the halo does the same.)
> Turn off 'generalizedYellowButtonMenu' in the preferences and you don't get the (non-halo) problem.
> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Spell checkers at maximum!  Fire!

More information about the Squeak-dev mailing list