rc.d/01-update-xterm-title.rc
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 14 Jan 2020 22:47:55 +0000
branchjv
changeset 1625 2425cb5d073e
parent 1435 9a1f18933e40
permissions -rw-r--r--
Add support out-of-tree builds. This commit adds a support for out-of-tree builds, i.e, object files, executables and so on are writen to `$(OUTDIR)` (which defaults to `build/<BUILD_TARGET>` directory. This allows building Smalltalk/X from single source tree for multiple targets.

| xtermTitleUpdater |
xtermTitleUpdater := [
(((OperatingSystem getEnvironment:'TERM')  = 'xterm')
    or: [((OperatingSystem getEnvironment:'TERM')  = 'rxvt')])
    ifTrue:
	[Stdout
	    nextPutAll: #[8r033 8r135 8r060 8r073] asString;
	    nextPutAll: 'Smalltalk/X ';
	    nextPutAll: Smalltalk versionString.
	ObjectMemory imageName ifNotNil:
		[| image |
		image := ObjectMemory imageName.
		(image includes: $/) ifTrue:
		    [image := image copyFrom: (image lastIndexOf: $/) + 1].
		Stdout
		    nextPutAll: ' - ';
		    nextPutAll: image].
	Stdout
	    nextPut: 8r007 asCharacter]].


Smalltalk addStartBlock: xtermTitleUpdater.
Smalltalk addImageStartBlock: xtermTitleUpdater.
ObjectMemory addDependent:
    (Smalltalk at: #XTermTitleUpdater put:
	(InterestConverter
	    destination: xtermTitleUpdater
	    selector: #value
	    aspect: #finishedSnapshot)).