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. > > > > >
