smalltalk.rc
author claus
Sat, 18 Mar 1995 06:30:14 +0100
changeset 16 db5d473df9f0
parent 12 d8d2f32ca7a2
child 19 b9f2ef8d78ec
permissions -rw-r--r--
*** empty log message ***

"*
 * $Header$
 * startup configuration for smalltalk
 *
 * - everything in here are plain smalltalk expressions;
 * - statements with in a group are separated by a period.
 * - Each group of statements has to be delimited by an exclamation
 *   character.
 * - avoid exclas in comments (or double them)
 * - nested comments are not allowed - take care.
 *
 * remember: this is fileOut-format
 *
 * comments can be either:
 * - standard smalltalk comments (i.e. from dquote to dquote)
 * - ST/X end of line comments (i.e. dquote followed by /)
 *
 * PLEASE: only addthings here, if they are of general interrest
 *         and NEITHER site specific NOT display specific.
 *
 * For example, add missing national keyboard mappings.
 * If you
 *"

"this is a comment"
"/ another comment

"*
 * just a quick check, if this ST/X installation seems to
 * be halfway complete (it happened to some people, that
 * their source/resource directories where not installed)
 * - better to warn early ... 
 *"
|anyWrong missing|
anyWrong := false.
missing := ''.
(Smalltalk getSystemFileName:'resources/SBrowser.rs') isNil ifTrue:[
    '***********************************************************************' errorPrintNL.
    '***** ATTENTION: please check installation of your resource files' errorPrintNL.
    anyWrong := true.
    missing := '''resources'' '.
].
(Smalltalk getSystemFileName:'source/Object.st') isNil ifTrue:[
    '***********************************************************************' errorPrintNL.
    '***** ATTENTION: please check installation of your source files' errorPrintNL.
    anyWrong := true.
    missing := missing , '''source'' '.
].
(Smalltalk getSystemFileName:'bitmaps/SBrowser.xbm') isNil ifTrue:[
    '***********************************************************************' errorPrintNL.
    '***** ATTENTION: please check installation of your bitmap files' errorPrintNL.
    anyWrong := true.
    missing := missing , '''bitmaps'' '.
].
(Smalltalk getSystemFileName:'resources/normal.style') isNil ifTrue:[
    '***********************************************************************' errorPrintNL.
    '***** ATTENTION: please check installation of your style files' errorPrintNL.
    anyWrong := true.
    missing := missing , '''resources'' '.
].

anyWrong ifTrue:[
    '*****' errorPrintNL.
    '***** directory(s) named: ' errorPrint. missing errorPrint. 'incomplete/not existing' errorPrintNL.
    '***** your path is: ' errorPrint.
    Smalltalk systemPath asArray storeString errorPrintNL.

    '*****' errorPrintNL.
    '***** Try: "make source bitmaps resources styles"' errorPrintNL.
    '*****  or: "make symlinks" to fix this.' errorPrintNL.
    '***********************************************************************' errorPrintNL.
]
!

"*
 * check for display-classes being compiled into the system;
 * (and if display connection can be established)
 * if not, enter a simple read-eval-print loop
 *"
Display isNil ifTrue:[
    DeviceWorkstation notNil ifTrue:[
	'cannot connect to display' errorPrintNewline
    ] ifFalse:[
	'oops - no display' errorPrintNewline.
    ].
    Smalltalk readEvalPrint.
    Smalltalk exit
].

"*
 * this makes X-errors be handled immediately (so you see,
 * where it occured) but slows down the system soooo muuuucccchhh ..
 * if commented out, errors will be reported asynchronously.
 * (I enable this, when things go bad during startup)
 *"
"/ Display unBuffered.

"*
 * this starts the incremental GC earlier
 * (default is 500000)
 * the number given is the number of bytes which have to be allocated
 * since the last GC, to start the incremental GC running.
 * (see ObjectMemory>>documentation)
 * Claus: I moved this to the private.rc file
 *"
"/ ObjectMemory incrementalGCLimit:100000. 

"*
 * this starts the incremental GC when freeSpace drops below a limit
 * (default is nil - i.e. dont look at freeSpace)
 * (see ObjectMemory>>documentation)
 * Claus: I moved this to the private.rc file
 *"
"/ ObjectMemory freeSpaceGCLimit:300000. 

"*
 * lazy loading
 * (faster fileIn) - this is EXPERIMENTAL.
 * If there are any problems with lazy methods, disable the following
 * and let me (cg@ssw.de) know what happened.
 *"
Autoload compileLazy:true.

"*
 * define the language (you can also set the LANG-shell variable)
 * (currently only #english and #german are supported)
 * setting it here will override the LANG variable setting,
 * if neither set here nor in LANG, #english is the default.
 * (currently, strings are not available for other than english
 *  and german; french will follow next - see resource files)
 *"
"/ Smalltalk language:#german.
"/ Smalltalk language:#english. 

"*
 * this handles all variant display stuff
 * (i.e. things which might change, when DISPLAY is set different)
 *"
Smalltalk fileIn:'display.rc'.

"*
 * this defines stuff relating to the host we are running on
 *"
Smalltalk fileIn:'host.rc'.

"*
 * you can add your very private things here - if its put into HOME/.smalltalk,
 * each user can add his/her private things even when everything else is
 * shared
 *"
Smalltalk fileIn:'private.rc'.

"*
 * start some views ...
 * you can add all stuff you'd like to come up by default
 * the first time.
 * NOTICE: you should do that in your 'private.rc'-file
 *"

"*
 * start a Transcript (if linked-in)
 *"
TextCollector notNil ifTrue:[
    'starting Transcript ...' errorPrintNL.
    TextCollector newTranscript.
"/  Transcript lineLimit:2000.
].

"*
 * start the Launcher (if linked-in)
 *"
Launcher notNil ifTrue:[
    'starting main-menu ...' errorPrintNL.
    Launcher open
].

"*
 * start a SystemBrowser
 * - I dont want one (using Launcher)
 *"
"/ SystemBrowser open.

"*
 * start a FileBrowser
 * - I dont want one (using Launcher)
 *"
"/ FileBrowser open.

"*
 * start a Workspace 
 * - I dont want one (using Launcher)
 *"
"/ Workspace open.

"*
 * if things go very badly, turn on message tracing ...
 * but be prepared for lots of output
 *"
"/ Smalltalk debugOn.

"*
 * if error occurs, and debugger has problems coming up
 *"
"/ Debugger := MiniDebugger.

"*
 * remember the type of display we started on, to check for
 * a need to change things when we are restarted on another display.
 * see smalltalk_r.rc for what this is for ...
 *"
Smalltalk at:#'_ImageDisplayDepth' put:Display depth.
Smalltalk at:#'_ImageDisplayHasColors' put:Display hasColors.
Smalltalk at:#'_ImageDisplayHasGreyscales' put:Display hasGreyscales.
!