modified 3.0 release on archive sites

Mario Wolczko Mario.Wolczko at Eng.Sun.COM
Tue Jan 18 09:33:19 UTC 1994

A slightly modified version of the 3.0 release was placed on and at the weekend.

The affected files are:
in both the sun4 and svr4 distributions.
There is a new file, called KNOWN-PROBLEMS, which documents some of
the problems which have been encountered, and possible workarounds (a
copy is appended).

The changes are (together with the names of the modified modules):
 - Slightly modified default font names; the previous defaults did not
   work under MIT X11R5 
 - A bug fix for error notifiers (they did not go away automatically)
 - A bug fix in handling the Paste key (using it outside the text
   editor could cause problems) 
 - An improved version of CheckInstall
 - A fix for the comparator (it couldn't be dismissed)
If you have a working Self system, you can bring it up to date by
evaluating the code at the end of this message (from "cut here"):
place it in a file called, say,, and then at the Self prompt
	'' _RunScript
You should then save the world.

-Mario Wolczko

Sun Microsystems Labs., Inc., 2550 Garcia Ave, M/S MTV 29-116, Mountain View,
CA 94043, U.S.A.   tel: 415 336 6022, fax: 415 969 7269.

Spy won't start
If you're using MIT X11R5 and not OpenWindows, the default font for
the spy is unavailable.  You should try setting a different font and
restarting it:
	_SpyFont: 'fixed'
	_Spy: true

Sluggish behavior
If the performance of the ui is poor, with menus taking more than a
second to respond, and objects taking many seconds to appear or
disappear, consider the following actions:
  - If your machine doesn't have a graphics accelerator (such as a
    basic SparcStation 1 or 2, or IPC), you can turn animation off
    with the Self expression
    	ui animationOff
  - If Self is paging heavily (as reported by the spy, by large
    numbers in the "pi" and "po" column of vmstat, of by continuous
    disk activity), close as many other applications as you can.
    Also, it may be worth decreasing the size of the Self heap by
    setting the environment variable OLDSIZE.   The default size is
    10Mb; reducing this by 1000000 or 2000000 may help.
  - In the worst case, you will need to get more RAM.  This is likely
    if you have 28Mb or less; some 10Mb are required by Unix and
    OpenWindows/X.  One option is to run Self remotely; this may solve
    the memory problem, but display will be impacted adversely.
    If are paging across the network, we do not recommend running Self
    on a machine with less than 32Mb.
In any case, if you have performance problems, please report the
problems and the machine configuration (model, memory and swap sizes,
display type, OS version, and display system (OpenWindows or MIT or
other, with version)) to self-bugs at, as the Self
group would like to characterise performance problems more accurately
in order to address them in future patches and releases.

Known bugs for which patches are forthcoming (as of 14 Jan 94)


====================cut here for fixes
preferences boxCodeFont: 'lucidasanstypewriter-12'.
preferences buttonFont: 'lucidasans-10'.

preferences _AddSlots: ( |
    {  'Category: copying'
         _ setDefaultPreferences = (
            "ugh: added for filing out"
            allowArrowGrabbing: true.
            blurArrows:         false.
            blurBodies:         true.
            boxCodeFont: 'lucidasanstypewriter-12'.
            boxFont: 'lucidasans-12'.
            boxObjectNameFont: 'lucidasans-12'.
            boxParentFont: 'lucidasans-12'.
            boxPrivateFont: 'lucidasans-italic-12'.
            boxPrivateParentFont: 'lucidasans-italic-12'.
            boxPublicFont: 'lucidasans-bold-12'.
            boxPublicParentFont: 'lucidasans-bold-12'.
            buttonFont: 'lucidasans-10'.
            clickRaiseLowerUI: false.       
            contentsInSpecialFont: false.
            defaultSlotCountThreshold: 5.
            filesToShow: set copyRemoveAll.
            fixedEditorFont: 'lucidasans-12'.
            initialWindowRect: ((0)@(0)) #! ((629)@(394)).
            isearchIgnoreCase: true.
            menuFont: 'lucidasans-12'.
            mergeAssignmentSlots: true.
            noisy: true.
            notifierWaitTime: 10.
            printStackOnError: true.
            showParentStar: true.
            textEditorFont: '6x13'.
            uiAnimationDelay: 10.
            uiColorFile: 'ui.colors'.
            uiFullScreen: false.
            uiIconFile: 'ui.icon'.
            useAmpersandToBackground: false.
            useFontStyles: true.
            xDisplay: ''.
            highlightParseError: true).
         _ thisObjectPrints = true.
| )

traits userInterface uiWorld _AddSlots: ( |
    {  'Category: keying'
           kbdPaste = (
             (myUI mirrorInPasteBuffer lookupKey: 'clone') isEmpty ifFalse: [
                myUI add: myUI mirrorInPasteBuffer reflectee clone ]
| )

traits windowing diffViewer _AddSlots: ( |
     ^ init = ( |
           h = 100.
           slW = 13.
           tW = 300.
        offsetFromBody: 0 at 0.

        cancelButton: (button copySize: 58 at 16) name: 'Dismiss'.
        cancelButton  command: (| 
            p* = traits clonable.
            doIt: context = (textEditor display. context body banish).
            doIt: context Shift: shift = ( doIt: context ).
        |) copy textEditor: self.
        addContext: cancelButton At: (140 at 140) + boxFaceOffset.

        methodSlider: (slider copySize: slW @ h) name: 'slider1'.
        addContext: methodSlider At: (2 at 2) + boxFaceOffset + 
                                   (topMargin @ sideMargin).
        methodSlider value: 0.

        methodView: (methodView copySize: tW @ h) name: 'text1'.
        addContext: methodView At: (2 at 2) + boxFaceOffset
                                   + ((slW + 2)@0)
                                   + (topMargin @ sideMargin).
        methodView init.

        methodView2: (methodView2 copySize: tW @ h) name: 'text2'.
        addContext: methodView2 At: (2 at 2) + boxFaceOffset
                                    + ((slW + 2 + tW + 2)@0)
                                    + (topMargin @ sideMargin).
        methodView2 init.

        methodSlider2: (slider copySize: slW @ h) name: 'slider2'.
        addContext: methodSlider2 At: (2 at 2) + boxFaceOffset
                                      + ((slW + 2 + tW + tW)@0)
                                      + (topMargin @ sideMargin).
        methodSlider2 value: 0.

        resizeHandle: resizeButton copySize: 10 at 10.
        addContext: resizeHandle At: 10 at 10.
        resize: size).
| )

More information about the Self-interest mailing list