Chapter 1.

Everybody who uses Stardock's Object Desktop 2.0, knows because it's documented
in the Stardock Look 'n Feel kit for OS/2 and all OS/2 users everywhere always read
the docs, that you can create new bitmap looks for your titlebars using VisualAge
C++. I gave Kris Kwilas the makefile for CSET++ 2.1, and he included it in the distribution,
so even if you have an old IBM compiler you can still change your "look".
You can't use the Borland compiler because it won't recognize the distribution LNFs
as DLLs. You can't use the Borland Resource Workshop for the same reason.

I may be the only OD2 user to have made an LNF, judging by the apathy I see around
me. The first edition of this article called Stardock apathetic too, but Brad Wardell
wrote me a nice thank you for posting the article, so I take it back. Stardock isn't
apathetic. I was wrong. Wrong, I tell you! I didn't mind using the old IBM C Compiler
to make the odd custom LNF file, but I got tired of waiting for the promised API
to turn off those darned lines on the title bars! If you just want to change your
titlebar bitmaps, and don't want the annoying MacIntosh-like lines on your titlebars,
you can use the ResMgr package available from Hobbes, to gut the distributed Windows
95 LNF, and remake it into something palatable. The Resource Manager package contains
a couple of utilities you will need to do this, and along with the OS/2 resource
compiler and the icon editor, you're ready to roll your own title bars.

Here's what I did:

Copy your OBJDWN95.LNF from the \objdesk directory to an empty \tmp directory.
Rename OBJDWN95.LNF OBJDWN95.DLL, and use the resource decompiler to extract the
bitmaps. Like this:

[c:\tmp]rdc OBJDWN95.DLL

Martin Lafaix tells me that the names of the .BMP files will change with every
run of RDC, so my filenames will be wrong on your system. For a listing of all 66
bitmaps and their descriptions see the Bitmap cross-reference
table. Because I am a lowly hacker(tm), I only ran RDC once, and made a Fatal
Assumption(tm) in the first edition of this article. Compare these to the file objdwn95.rc2
that RDC will generate, and match up the descriptions with the right filename using
the BITMAP number. That is, BITMAP 109 *should* always be an 18x18 Minimize-Down
button, regardless of what RDC names the file on your system. (note that there's
no difference between the hide and minimize bitmaps in the Windows 95 LNF as published).
Also note that frame control bitmaps are actually pointers.

Now you edit the titlebar buttons you want to change, saving them with the same
filename they had before. If you want to distribute your LNF, then you ought to
alter all of them using OS/2 iconedit.exe. But if you know which ones your computer
uses, then just alter the ones you need for your personal machine if you don't want
to share your customizations with others. For instance, on my ThinkPad at 800x600,
OS/2 uses only the 18x18 titlebar bitmaps, so they're the only ones I ever change.
I use a batchfile to call iconedit.exe, like this:

The Finale
After you've edited the bitmaps you want, and saved them all with the same names
RDC gave them when it generated them out of the DLL, you're ready to use rc.exe
to make your new LNF. In the same \tmp directory, run RC.exe like this:
[c:\tmp]rc OBJDWN95.RC2 OBJDWN95.DLL

It will grind and mash all those nice bitmaps overtop the ugly old Windows lookalikes.
Now you copy the new OBJDWN95.DLL to your \objdesk directory, renaming it to OBJDWN95.LNF.
[c:\tmp]copy OBJDWN95.DLL \objdesk\OBJDWN95.LNF Open up your Master Setup in your
Object Desktop folder, and click the Window Controls tab. Scroll down the list of
available LNF's to the one that says Windows 95. Select it, and watch your new creation
become the titlebar icons on all your windows. You have successfully hacked Object
Desktop 2, and eradicated the cursed Look 'n Feel of Windows 95.

Congratulations, you are now a local hero.

The Rev. Andrew Graham
St Columba and All Hallows Church
2723 St. Clair Ave. East
Toronto Ontario M4B 1M8