Photo shows Icon.exe running on @Macarlo's Warp 4.0
ICON.EXE
Fantastic Tool
by Henk Kelder
Henk Kelder, famous author of WPTOOLS (CHECKINI.EXE), FAT32.IFS
and others tools for OS/2 Warp, presents ICONTOOL. I, @Macarlo, old user of Henk
Tools, I'm using ICON.EXE on my Warp 4.0 just fine! You
can download this fantastic tool freeware from the Henk's website, now in the OS/2
Supersite domain (http://www.os2ss.com/information/kelder/).
The file is icon_190.zip (152Kb). ICON.EXE was written in 'plain old' C using the C/2 Set compiler
and
OS/2 2.0 toolkit. No 'Som' programming was used. All information about
abstract objects is gotten out (hacked) off the ini-files. Clearly the
latter is fully UNDOCUMENTED ! (but it seems to work reasonally well.)
Drag-drop of icons
ICON.EXE is a PM program for OS/2 2.0 that I initially wrote
because I did
not like the complex way to set an icon for a workplace shell object and
other objects (read: files and directories) on my harddisk of attached
network drives.
Furthermore, since the workplace shell claims to support drag-drop
operations I wanted to experiment with this. Why shouldn't I be able to drag
an iconfile and drop it on something else so that the icon would be assigned
to this something else.
Initialy I tried to write it so it would show icons only and one could then
drag the icon on an object on the desktop. Unfortunately the desktop itself
doesn't seem to follow the specifications for drag-drop operations
completely. The solutions for this was that ICONTOOL allows you to open two
windows and you can do draging and dropping between these two windows.
Changing directories or drives (open other folders)
When icontool is configured to show drives and/or
directories you can simply
change to these drives and/or directories by selecting 'open' or by double
clicking on them. Icontool will no open a new folder but will replace the
contents of the open window.
Copying, moving and deleting of objects
Although not it main purpose, you could also use this program
to do these
operations on most objects.
Changing object titles
When the program allowed me to do this I found that I would
also like to
change the titles of objects WITHOUT changing the underlying fysical
filename of an object. I found the the workplace shell uses the .LONGNAME
extended attribute, if present, as a title. It was no big deal to show
these .LONGNAME ea's. (It is an option you can set under 'Open->Settings'.)
If ICON.EXE shows longnames, one can change the names as one would change the name
of objects on the desktop. Please remember that only the .LONGNAME extented attribute
is changed and NOT the fysical filename.
Extracting Icons
Another nice feature would be the possibility to 'extract'
an icon to an
iconfile. When this option is chosen the program first looks if there is an
an .ICON ea and if so writes this ea as a file to disk. If there is no .ICON ea
the iconfile is constucted from the icon bitmap as it is visible on the screen.
In the latter case the iconfile only contains a bitmap for the device it is extracted
from.
Setting default Icon
Setting the default icon means that the .ICON ea is removed.
Abstract objects
ICONTOOL also displays abstract objects. In some cases the
icon for an
abstract object is somewere deep in an OS/2 dll. In such a case I'm not able
to determine the icon and a questionmark icon is shown.
With Icontool you can open all abstract objects with the exception of the
color palette. This is because the api-call I use to open abstract objects
(WinSetObjectData(hObject, "OPEN=DEFAULT") resets a color palette object
to a 5 by 4 palette all of them being a 'New scheme'.
Known problems:
- When draging-dropping to another application (e.g. the workplace
shell
itself) the graphical display gets distorded. This is due to a bug in OS/2
itself, don't call me, call IBM ! This problem occurs only in the original
first release of OS/2 2.0 (GA version).
- For testing reasons a lot of error and/or warning message are build in.
Normally you should not see them, but on the Novell Network I work with
myself I sometimes see 'Not enoug memory' messages. These messages result from the
Novell Requestor for OS/2 2.0 reporting very L A R G E
extended attribute sizes. So don't call me, call Novell !
Updates in version 1.5:
- This version now supports OS/2 2.00.1 beta (32 bits GRE)
- Also, the mechanism for reading extended attributes has been improved.
This was needed because the new 2.00.1 (or 2.01 BETA) appearantly has
a bug that returns un incorrect size for extented attributes when using
DosQueryPathInfo.
Appearantly this same bug appears to be in the Novell Netware Requester,
since I haven't seen the problem mentioned above after I made the changes.
- Known problems: ICON.EXE terminates or causes your desktop to hang
when starting in WINOS/2 Program
in the early 2.00.1 BETA version. It works properly in GA version.
Updates in version 1.6:
- Icon.exe now works properly after the service pack (October
1992) has
been installed!.
Updates in version 1.61:
- ICON.EXE allows the user to specify a directory where extracted
icons
will be placed. (open->settings)
- ICON.EXE now works properly with OS/2 2.1 BETA. (Released december '92)
Updates in version 1.70:
- ICON.EXE now works properly with OS/2 2.1 BETA (Released
march '93)
Update in version 1.80:
- ICON.EXE now works with OS/2 3.0 (or WARP)
- ICON.EXE allows you to modify several extended attributes.
Update in version 1.90:
- ICON.EXE now utilizes WPTOOLS.DLL to query object settings,
both
formatted and unformatted.
- ICON.EXE still works very nice with WARP 4.
CONTACT AUTHOR:
Henk Kelder
Dennenlaan 12
3843 BX Harderwijk
Nederland
email to: hkelder@inetgate.capvolmac.nl
or:
100321,3650@compuserve.com @Macarlo, Inc. @Macarlo's Shareware & Web OS/2 Java Lobby Member
Java Site Accredited