AbstractLauncher subclass: #LinuxIODevStartup
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'DevSupport-LinuxIO'!

!LinuxIODevStartup methods!
startUp
	| i |
	FileDirectory setDefaultDirectory: (UnixProcess env at: 'HOME'), '/src/squeak-phone'.
        Utilities authorInitials: (UnixProcess env at: 'USER').

	NetNameResolver localHostName caseOf: {
		['zip'] -> [
			PhoneWorldMorph uninstall.
			DisplayScreen fullScreenOn.
		].
	} otherwise: [].

	self update: 'SyndicatedActors' from: (Installer squeaksource project: 'SyndicatedActors').

	i := Installer squeaksource project: 'SqueakPhone'.
	self update: 'LinuxIO' from: i.
	self update: 'SqueakPhone' from: i.

	"If we run the following either here directly, or in the UI
	 process, it appears to lock up the image at 100% CPU usage."
	[RFBServer allowEmptyPasswords: true; stop; start] forkAt: Processor lowestPriority + 1.
!
update: packageName from: anInstaller
	| wc |
	wc := MCWorkingCopy allManagers detect: [:m | m package name = packageName] ifNone: [nil].
	(wc isNil or: [wc modified not]) ifTrue: [anInstaller install: packageName]
!
!

LinuxIODevStartup activate!

Utilities commonRequestStrings: 'DisplayDevice fixDPI "Autodetect"
DisplayDevice fixDPI: 500 "Cellphoneish"
DisplayDevice fixDPI: 256 "Comfortable on my 27-inch monitor"
DisplayDevice fixDPI: 163 "Nominal for a 4k 27-inch monitor"
-
', Utilities commonRequestStrings contents!

SyndicateSnippets stdio1!
