[Cuis-dev] #doOnceCycleNow

Hilaire Fernandes hfern at free.fr
Tue Oct 24 09:41:20 PDT 2023

In details

I will present a workshop on building CuisApp. One part of the workshop 
is about automating your development environment: installing code and 
organizing the Morph space of your image. The later, depending on the 
Cuis update, often gets broken. And it is now broken again. It will be 
nice if I can get it right for once. Help appreciated.

I attached the setup.st script to use as:

    squeak cuis.image -s setup.st

At the end Browser should be installed with appropriate layout, does not 


GNU Dr. Geo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20231024/5ca28ee3/attachment.htm>
-------------- next part --------------
| list area morph extent |
"Report by any mean error"
   showOnDisplay: false;
   logToFile: true;
   logToStdout: true.
"Smalltalk at: #LogStartupDebugAids put: true."
"Install change set"
ChangeSet installNewUpdates.
"System configurations"
Preferences at: #logDebuggerStackToFile put: true.
Preferences at: #autoNumberUserChanges put: false.
"Delete all windows but the taskbar"
self runningWorld doOneMinimalCycleNow.
list := UISupervisor ui submorphs reject: [:aMorph | aMorph is: #TaskbarMorph].
 list do: [:each | each delete].
"Adjust font size"
Preferences at: #defaultFontSize put: 10.
"Adjust taskbar size"
morph := UISupervisor ui taskbar.
morph scale: 1/2.
Display fullScreenMode: true.
self runningWorld doOneMinimalCycleNow.
"Compute the available free space for windows placement"
area _ RealEstateAgent maximumUsableArea extendBy: 0 @ morph morphHeight negated.
extent _ area extent // 2.
"Open a few System Browsers"
BrowserWindow openBrowser 
	morphPosition: 0 at 0;
	morphExtent: extent.
BrowserWindow openBrowser 
	morphPosition: area width // 2 @ 0; 
	morphExtent: extent.
"Open a System Browser on a specific class"
morph _ BrowserWindow openBrowser 
	morphPosition: area extent // 2;
	morphExtent: extent.
morph model setClass: (Smalltalk at: #String) selector: nil.
"Open a Workspace with some default contents"
morph _ Workspace openWorkspace.
morph model actualContents: 'ChangeSet installNewUpdates.
DySystem beDevelopment.
DySystem beApplication.
Dynabook new.
(BreadcrumbsPane on: DyUserData current with: DyViewerVisitor ) openInWorld.'.
	morphPosition: 0 @ (area height // 2);
	morphExtent: extent x @ (2 / 3 * extent y).
"Open a transcript for logs"
TranscriptWindow openTranscript 
	morphPosition: 0 @ (area height // 2 + (2 / 3 * extent y));
	morphExtent: extent x @ (1 / 3 * extent y ).
Smalltalk saveImage

More information about the Cuis-dev mailing list