Nice-to-have

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Ted
Reply | Threaded
Open this post in threaded view
|

Nice-to-have

Ted
I've become very fond of the IdeaSpace - excellent tool. I tend to close
the image with an IS open so that when I start the image I get exactly
the same tabs with all the fundametal classes already open. However,
when I'm messing about with UI's I quite regularly have to use the Panic
button to get rid of zombies. The problem is that this also closes the
IdeaSpace. It would be nice if we could have some 'IdeaSpace recovery'
function that opened the IS with the tabs that were open before. It
could be as simple as something like a document shell wrapped around an
IS that saves the state of the IS as a file that can be reopened.

Just an idea ;-)

Ted


Reply | Threaded
Open this post in threaded view
|

Re: Nice-to-have

Chris Uppal-3
Ted,

> when I'm messing about with UI's I quite regularly have to use the Panic
> button to get rid of zombies.

I think that a full Panic is overkill for cleaning up zombies.  (Not least
because it looses state that I want to keep -- as you note).  I don't normally
use that feature more than once or twice a year (if that).

You can clean up "easy" zombies (which is nearly all of them) by using the
Window menu to bring up whichever "hidden" view you want, and can then kill
that in the normal way.

Even if you want (or need) to send in the nukes, you can still be moderately
selective.  E.g:

    SomePresenter allInstances do: [:each | each exit].

Or you could use allSubinstances instead for an even more sweeping wave of
destruction.

If you are in the habit of launching non-shell presenters, then:

    SomePresenter allInstances do: [:each | each topShell exit].

If you look at View>>destroyAll, then you'll see further options for controlled
violence.  That is the default implementation of Panic, but you don't have to
kill /everything/ if you don't want to.

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: Nice-to-have

Bill Dargel
Chris Uppal wrote:
> You can clean up "easy" zombies (which is nearly all of them) by using the
> Window menu to bring up whichever "hidden" view you want, and can then kill
> that in the normal way.

This is what I'll normally do. If there's two or three of them, it's
easy enough to select each and then Alt-F4 or click their close button
to get rid of them. But sometimes there's a whole slew of them (often as
a result of repeated testing that's running into problems). Then I'll
use the following.

> If you look at View>>destroyAll, then you'll see further options for controlled
> violence.  That is the default implementation of Panic, but you don't have to
> kill /everything/ if you don't want to.

I took a look at what panic does, and came up with this variation that
just gets rid of the hidden windows, leaving everything else intact.

     View topLevelViews do: [:each |
         each isWindowVisible ifFalse: [each destroy]].
     SessionManager inputState purgeDeadWindows.

I can't even recall the last time I needed to use the full panic.

--
Bill Dargel            [hidden email]
Shoshana Technologies
100 West Joy Road, Ann Arbor, MI 48105  USA


Ted
Reply | Threaded
Open this post in threaded view
|

Re: Nice-to-have

Ted
Cheers Bill, I've added it to my development additions package

Ted


Bill Dargel wrote:

> Chris Uppal wrote:
>
>> You can clean up "easy" zombies (which is nearly all of them) by using
>> the
>> Window menu to bring up whichever "hidden" view you want, and can then
>> kill
>> that in the normal way.
>
>
> This is what I'll normally do. If there's two or three of them, it's
> easy enough to select each and then Alt-F4 or click their close button
> to get rid of them. But sometimes there's a whole slew of them (often as
> a result of repeated testing that's running into problems). Then I'll
> use the following.
>
>> If you look at View>>destroyAll, then you'll see further options for
>> controlled
>> violence.  That is the default implementation of Panic, but you don't
>> have to
>> kill /everything/ if you don't want to.
>
>
> I took a look at what panic does, and came up with this variation that
> just gets rid of the hidden windows, leaving everything else intact.
>
>     View topLevelViews do: [:each |
>         each isWindowVisible ifFalse: [each destroy]].
>     SessionManager inputState purgeDeadWindows.
>
> I can't even recall the last time I needed to use the full panic.
>