Hi Vincent,
On Wed, Jan 31, 2018 at 12:07 PM, Vincent.Blondeau@lamresearch.com wrote:
Hi,
I would like to know how to change the main Pharo window icon. I saw that there is a primitive for the title: DisplayScreen class >> primitiveWindowTitle:string: ; primitive: 'primitiveHostWindowTitle' module:'HostWindowPlugin' but I cannot find one for the icon. Should another primitive need to be implemented?
The icon is baked into the VM executable. So to change it one has to build a VM with a different icon.
On Windows it is in {build.win32x86,build.win64x64}/pharo.cog.spur/Pharo.ico and the file that specifies to use Pharo.ico is {build.win32x86,build.win64x64}/pharo.cog.spur/Pharo.rc
On Mac OS X it is in platforms/iOS/vm/OSX/Pharo.icns (alongside three others such as PharoImage.icns) and the file that specifies to use Pharo.icns is {build.macos32x86,build.macos64x64}/pharo.cog.spur/Makefile in setting the VM variable. The file that associates the other icons with specific file types is platforms/iOS//vm/OSX/Pharo-Info.plist
If you're changing the Pharo icon let me suggest you update the icon files themselves in the opensmalltalk-vm source tree.
If you're creating a new variant of the VM for some new purpose (say a special Lam VM) then let me suggest you add the icons to the opensmalltalk-vm source tree, creating special build directories for these VMs, such as {build.macos32x86,build.macos64x64}/lam.pharo.cog.spur/
If you want to do this privately, then take either of the approaches above and simply don't publish the edits. You can write a script that takes an updated checked-out opensmalltalk-vm source tree and edits it with files from a specific repository. I have such scripts and can help you with them. Hint, pax is a very convenient directory hierarchy copying tool available at least on Mac OS X. pax -rwlk will copy the trees under a sequence of directories into their corresponding places in a target tree.
Thanks!
Vincent
vm-dev@lists.squeakfoundation.org