So,  If I have an image with no GUI, which UIManager should I install, how
and when?  Because at image startup I can't use a MorphicUIManager if I
don't have it loaded into the image :).

On Wed, Mar 21, 2012 at 8:00 AM, Camillo Bruni <[email protected]>wrote:

> indeed the non-interactive one keeps the previous version alive in the
> instvar...
>
> I just copied the existing implementation (without much motivation).
> Bit for simplicity's sake we should simply instantiate every time the
> proper ui manager, that would simplify these ugly methods quite a bit.
>
> cami
>
>
> On 2012-03-21, at 04:12, Igor Stasenko wrote:
>
> > the logic there was to set a non-interactive ui manager
> > for headless sessions only , and then restore back a previous one
> > (whatever it is), once session is changed back to headfull.
> >
> > if its uiManager is nil, it should reset the default manager,
> > if i remember correctly, then UImanager itself will take care
> > instantiating default one.
> >
> > On 21 March 2012 04:35, Guillermo Polito <[email protected]>
> wrote:
> >> Hi,
> >>
> >> I was doing some hacking, and playing with NonInteractiveUIManager.
>  And it
> >> puzzled me that I realized that it has an inst var uiManager that seems
> to
> >> refer to an uiManager it's replacing.
> >> But my UIManager is not replacing anyone, it's my default and unique
> >> UIManager and this var points to nil :S!
> >>
> >> So the code below does not work...
> >>
> >> onSnapshot: resuming
> >>     "The resuming argument is true when image boots from disk,
> >>     and false, if user just did an image snapshot."
> >>
> >>     resuming ifTrue: [
> >>         Smalltalk isHeadless ifFalse: [
> >>             "restore old, or nil, so it will be set in #default "
> >>                 uiManager beDefault.
> >>                 UIManager default onSnapshot: resuming.
> >>             ^ self ].
> >>         Smalltalk isInteractive ifTrue: [
> >>             "use a headless but interactive manager"
> >>             ^ self headlessManager onSnapshot: resuming ]].
> >>
> >>
> >>     " this flag set to true only if we are saving a snapshot before
> quitting
> >> "
> >>     doNotQuitOnRestart ifTrue: [
> >>         Smalltalk snapshot: false andQuit: true].
> >>
> >>
> >> I made it work in my image adding within the controversial lines:
> >>
> >> uiManager ifNotNil: [
> >>     uiManager beDefault.
> >>     UIManager default onSnapshot: resuming.
> >> ]
> >>
> >> But it really looks like a hack because that inst var is ment to do
> >> something else...
> >> Is it asking me for a refactor?  Or am I using this stuff in the wrong
> way?
> >> Camillo, Igor? :P
> >>
> >> Guille
> >
> >
> >
> > --
> > Best regards,
> > Igor Stasenko.
> >
>
>
>

Reply via email to