I was looking at the comment in StartupLoader which appears to be plain wrong.
First, "to know the read values, check FileDirectory preferencesGeneralFolder" Mmmh, no FileDirectory class of course. So, implementors give the StartupLoader itself. Where: StartupLoader class >> preferencesGeneralFolder ^ FileLocator preferences asFileReference / 'pharo'. Argh, no .config as mentioned. This gives an issue with ZeroConf as ZeroConf creates a pharo-ui et pharo scripts, which then make it impossible to have a pharo folder there as well. Now, the FileLocator preferences gets into the PreferencesHandler and there is a buildActionList there. buildActionList "All found files will be executed." | directories | directories := OrderedCollection new. directories add: [ self lookInGeneralPreferencesFolder ]. directories add: [ self lookInPreferencesVersionFolder ]. directories add: [ self lookInImageFolder ]. ^ directories So: preferencesVersionFolder ^ self preferencesGeneralFolder asFileReference / SystemVersion current dottedMajorMinor and lookInImageFolder ^ self lookInFolder: FileSystem workingDirectory forFilesMatching: StartupLoader startupScriptName. startupScriptName ^ 'startup.st' startupPreferencesVersionFolderScriptName ^ 'startupPharo',SystemVersion current dottedMajorMinor,'.st' startupGeneralPreferencesFolderScriptName ^ 'startupPharo.st' Well... this is weird. What is the intention really? So, wouldn't we have another thing than 'pharo' in there ? Like pharo-prefs? What does work for you? ------ "StartupLoader searches for and executes .st files from certain locations. To find these it searches for a '.config' folder in the folder next up from where the image file sits. Then it looks in the next folder up again and so on until reaching the root folder. When a '.config' folder is found, StartupLoader looks within this for a 'pharo' folder. This contains the startup scripts common to all versions of Pharo, and also optionally a folder per Pharo version holding startup scripts suitable for that version only. So a typical directory layout might be... .../some/folders/pharo/Content/Resources/pharo.image. .../some/folders/pharo/Content/Resources/startup.st .../some/folders/.config/pharo/author.st .../some/folders/.config/pharo/useSharedCache.st .../some/folders/.config/pharo/1.4/mystartupFor14only.st .../some/folders/.config/pharo/2.0/mystartupFor20only.st (**Note however that '.config' is an invalid filename on Windows, so '..config' is used instead) IMPORTANT: StartupLoader will search for a folder '.config' starting from the image directory until the root of the filesystem. What happens if no folder is found? It creates '.config' in the image folder. However, it is recommended that you create the '.config' following the standard, that is, in the $HOME. To know the real values for you... Print the result of "FileDirectory preferencesGeneralFolder" which holds the startup scripts common to all versions of Pharo. Print the result of "FileDirectory preferencesVersionFolder" which holds the startup scripts specific to the version of the current image." ----------- Phil
