Here's the deal with the new bootlogos (V0.85).

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:

You can freely replace this bitmap file with your own favorite, e.g. if you prefer to see a photo of Bill Gates at WPS startup, although I have really spent some time on the existing ones in the hope that you'll like them. (They have been created using GIMP/2, by the way.)

But when using your own bitmaps, mind these important notes:

  1. 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.

  2. Transparency is calculated according to the most lower-left corner pixel of the bitmap. That is, all pixels which have the same color as pixel (0, 0) will be made transparent.

  3. You should be very careful in replacing these bitmaps. The transparency calculations are extremely CPU-intensive. If you use a 500x500 pixel bitmap with half of the pixels transparent, this can block your system for many minutes. And I mean block, because most of the calculating time is consumed by Presentation Manager (PM), and process kills will usually hang the whole system.

    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.

And finally, the logo can be completely disabled by deleting the bitmap or turning off the option on "XFolder" page 2 in "Workplace Shell".

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.