Upon WPS startup, when XFolder is initialized, it looks for the
file bootlogo\bootlogo.bmp
(from the XFolder installation
directory). This file is loaded and displayed
as a "shape window", that is, with transparency. This
functionality is based on the amazing "shapewin" library recently
posted on Hobbes. See XFolder's source code for details.
The boot logo will remain visible until the WPS has completely initialized itself. It will the disappear and no longer consume any system resources.
I have included two boot logos with XFolder:
bootlogo.bmp
(which will be used per default)
is a variation of the old XFolder logo. This should still be handled
by weaker systems too.
cpuhog.bmp
is an alternative, new design, which I like
much better, which however might take too long to display on weaker
systems. On my Pentium-133, this one takes about two seconds to display.
Rename this file to bootlogo.bmp
to use it.
But when using your own bitmaps, mind these important notes:
bootlogo.bmp
must be an uncompressed OS/2 1.3 bitmap file.
V2.0 bitmaps won't be loaded. I had to include my own bitmap
loading code because at the time of WPS bootup, the WPS's
multimedia classes don't work yet. You can use PMView or the
WPS multimedia classes to convert existing files to 1.3
format.
Since PM was designed to display rectangular windows only, the way these "shape" windows are done is that the bitmap is analyzed pixel by pixel and as many PM subwindows as rectangular non-transparent areas exist in the bitmap are created.
For this reason, be very careful with transparency. The more non-rectangular transparent areas are in the bitmap, the more windows have to be created.
Example:
┌────────────────────┐ │ │ │ 11111111111111 │ │ 11111111111111 │ │ 2222 3333 │ │ 44444444444444 │ │ 44444444444444 │ │ │ └────────────────────┘(where " " is a transparent pixel) would result in the creation of exactly four subwindows (marked as "1"-"4").
However, if you have "diagonal" or other non-rectangular transparency in your bitmap, one or several subwindows have to be created for each line of the bitmap, which can really make PM busy.
Another example:
┌────────────────────┐ │ │ │ 111111111 │ │ 2222 333 │ │ 44 55 │ │ 666 777777 │ │ 8888888888 │ │ 9999999999 │ │ │ └────────────────────┘This would already create nine windows: one for the top line, then two each for the following lines, and another one for each of the bottom lines. So imagine such an image with 500 lines: this would create at least 500 subwindows.
To make this clear: it's not the parsing of the bitmap which uses a lot of CPU time. It's the creation of subwindows. So large bitmaps will not hurt if there's very little or only rectangular transparency.
I found this out the hard way when I accidently dithered a bitmap to the system color palette. Suddenly, there were hundreds of transparent and non-transparent areas alternating (because the background which I intended was dithered).
The bitmap had about 100 lines, and I got several 1000 windows. I pressed Ctrl-Alt-Del after about two minutes.
So be warned. Start out with small bitmaps and see what your system can handle. For large bitmaps, try to make the transparent areas rectangular.
If everything goes wrong and your WPS won't start any more,
you can hold down the "Shift" key while the WPS is starting up.
This will skip the boot logo display and allow you to delete
it after the WPS is up.