Copyright: Copyright © 1998, 1999 Peter Stuer. All rights reserved.
Citation: Copyright © 1998, 1999 Peter Stuer. All rights reserved.


Overview

IconShop is a librarian that offers the tools to manage ICL icon libraries.

•	Read and write ICL icon libraries.

•	Browse icon libraries.

•	Drag and drop files and folders from the Windows Explorer onto the IconShop window to process them.

•	Drag and drop icons between IconShop windows.

•	Drag and drop icon images between IconShop windows.

•	Extract icons from Windows icons, cursors, animated cursors, resources, executables and libraries.

•	Extract icons from Macintosh icons, resources, IconDropper icon packs, Kaleidoscope schemes and executables, including MacOS 8.5 uncompressed and compressed 24-bit icons.

•	Convert bitmap and GIF files to icons.

•	Export icons from a library in icon, cursor or bitmap format.

•	Tiny executable size.


Installation

To install IconShop on your computer simply create a new, empty folder and place the following files there.

IconShop.exe	- The IconShop application

IconShop.hlp	- The IconShop help file

IconShop.cnt	- The IconShop help contents file

If you have an earlier version of IconShop installed on your computer, simply replace the files with their newer versions.

 Warning

IconShop requires at least v4.72 of the COMCTL32 library. IconShop will warn you if your version is too old. A link to the most recent version from Microsoft is on the Lion Tech home page.

 Warning

If you rename the IconShop application file you must also rename the help file using the same base name. For example if you change the application file name to NewName.exe, rename the help file to NewName.hlp as well. The HLP and CNT files must reside in the same folder as the application file itself.


Removal

You can remove IconShop from your computer system by simply deleting the following files from your hard drive. All of these files will be located in the folder that you originally installed IconShop in.

IconShop.exe	The IconShop application

IconShop.hlp	The IconShop help file

IconShop.cnt	The IconShop help contents file

If you have opened and used the IconShop help files your system may contain the following two (2) files. The standard MS Windows 95/NT Help program WinHlp32.exe creates these files and they can also be safely removed.

IconShop.gid	Windows help global index file.

IconShop.fts	Windows help full text search file.

IconShop does not use any custom DLL files or system drivers. If you delete the files mentioned above from your system’s hard drive you will have completely removed IconShop from your computer system.


Release History

v1.11	March 11, 1999

New features

•	Added an option to specify the background used when exporting icons as a bitmap.

•	Added a hyper link to my home page and e-mail address in the About box.

•	Added Animated Cursor import to the librarian.

•	Added a "Split" command to split the selected icons into separate images.

•	Added a "Duplicate" command to duplicate the selected icons.

•	Added a menu item allowing the user to add icons to the current library via a file dialog instead of via drag & drop.

•	The user can now specify a preferred format to display when opening a library.

•	Added GIF import to the librarian.

Improvements

•	More user interface tweaks.

•	The first instance of IconShop will show at the last saved position. All following instances are shown at the default window position.

•	"Select duplicates" now also works when "All formats" are shown.

•	Sorting when all image formats shown is now more intelligent.

•	IconShop will now also try to process Macintosh files that were not saved as MacBinary files.

•	Librarian will put the icon with the most images first when sorting ascendingly or descendingly and when the names are the same.

•	The Librarian now reacts to changes in the system color.

•	The Librarian now issues a warning if the user’s comctl32 library is too old.

Bug fixes

•	Refreshing the tree view of the browser could cause IconShop to crash.

•	Dragging & dropping an icon from the librarian to the browser could cause IconShop to crash.

•	Fixed some minor display problem caused by the new display routines.

•	Cut/Copy/Paste menu items are now only enabled when appropriate.

•	The tab/shift-tab key now works everywhere.

•	The accelerator keys now work everywhere.

•	Drag & dropping an icon without an image in the current format could result in a crash.

•	Cut/copy/paste now works in the Rename edit box.

•	Opening 1 file that is not an icon library did not enable the "Save"/"Save as" options.

v1.10a	February 13, 1999

Bug fixes

•	Fixed a bug concerning a missing OLE export on Windows 95.

v1.10	February 13, 1999

New features

•	Added the icon library browser. The icon browser presents itself using the familiar Explorer interface: a tree view displaying the desktop and all file system objects and a list view that shows the files in the current selected folder. IconShop will examine the file and display the file size, the number of icons and the number of different image formats the file contains. If possible the file will be shown in a third part of the interface which is the regular IconShop icon view.

•	Added a Macintosh option page that allows you to specify the palette IconShop should use to convert Macintosh icons.

•	Added an option to associate IconShop with icon libraries (.icl files).

•	Added a one-time transparency blend of 24-bit Macintosh icons with the current window background color.

•	Added a lot of new Macintosh system resource ID’s.

•	Significantly decreased resource use.

•	Significantly decreased the loading of icon libraries and the switching between image formats.

•	IconShop now remembers the last selected filter in the Open and the Save dialog.

•	Finally implemented the context-sensitive help.

•	Several internal changes and optimizations.

Bug fixes

•	IconShop could crash when deleting the last icon.

•	IconShop did not resize the icon list view when the user moved the rebar bands.

•	IconShop did not recognize cursor files (.cur) and refused to load them.

•	Fixed a couple of small, GUI related bugs like tool tips not always appearing, synchronization between the menus and the toolbar and the missing checkmarks in the View menu.

v1.03	December 15, 1998

New features

•	IconShop tries to name converted Macintosh icons more intelligently. System icons that IconShop doesn’t know (yet) will be shown with their resource ID as name. Only as a last resort IconShop will use the filename as an icon name. This should make the conversion of Kaleidoscope schemes easier.

•	Added a special format All formats which shows all the images of icon at once.

•	IconShop remembers the last displayed image format.

•	You can now open multiple files at once by selecting them in the Open File dialog.

•	IconShop will warn you if you try to quit and the modified icon library hasn’t been saved yet.

•	Removed dependency on the SHLWAPI.DLL. This will make IconShop more accessible for Windows 95 and Windows NT 4 users that haven’t installed Internet Explorer.

Bug fixes

•	Fixed a bizarre bug that prevented the export to a bitmap from working on Windows 95 and Windows 98.

•	The icon image list is no longer updated needlessly when the same image format is selected as is currently displayed.

•	Made IconShop more robust for 16-bit DLL's and difficult to recognize file formats that caused IconShop to crash.

v1.02	November 29, 1998

New features

•	Added conversion of compressed, Macintosh 24-bit icons. Thanks to Mihai Parparita (Mscape Software, http://www.mscape.com) for the decompression routine.

Bug fixes

•	Previous versions did not convert the mask of 24-bit Macintosh icons.

•	While fixing display problems with 24-bit icons I broke the export of 24-bit icons to a bitmap file.

•	Fixed a bug that caused the drag image to be invisible sometimes.

v1.01	November 16, 1998

New features

•	IconShop now converts both the 16 x 16 and 32 x 32 images with 256 or more colors of Macintosh icons.

Minor changes

•	Expanded help on how to convert Macintosh icons to Windows icons.

•	Improved the Macintosh icon resource detection algorithm to find more icon resources and to support Icon Dropper packs and Kaleidoscope schemes.

Bug fixes

•	If a Macintosh IconDropper icon pack contained one or more 24-bit icons only those icons would be converted. IconShop will now look at the other icons too.

•	Some older Macintosh icon resources and icon files caused IconShop to crash.

•	Some older Macintosh icon resources and icon files caused IconShop to use the wrong icon mask.

v1.00	October 28, 1998

•	First release


Drag & Drop

Dropping files from Explorer

You can drag files and folders from Explorer or your favorite file manager and drop them on a IconShop window. All the dropped files will be examined and if possible added to the library. All folders and sub-folders will be examined too.

By default all dropped files will be added to the current library. When you press the Control key the dropped files replace the contents of the current library.

Dragging and dropping icons from one IconShop window to another

You can drag and drop icons from one IconShop window to another to move them between libraries using the left mouse button. When you press the Control key during the drag and drop operation the icons will be copied to the destination library.

Dragging and dropping icon images from one IconShop window to another

You can drag and drop icon images from one IconShop window to another to move them between libraries using the right mouse button. When you press the Control key during the drag and drop operation the images will be copied to the destination library.


Options

General

Ignore name stored in resource

Sometimes Macintosh icons and resources contain a name. When this option is selected IconShop will ignore the name in the resource and will use the name of the icon file instead.

Show icon when format is not available

When this option is selected IconShop will show missing icon images as empty squares. When the option is selected only those icons will be shown that have an image in the selected format.

Ignore palette when sorting by image

When this option is selected IconShop will ignore the palette of an icon image when looking for duplicates. This way icon images that have the same bit pattern are more likely to be recognized as duplicates even when there are subtle color differences.

Preferred format

This drop list allows you to select an image format which will be shown when open a library. If no icons have images of the selected format the best matching format is chosen. If you select Last used format the librarian will remember the last used format when you close IconShop.

Open icon libraries (ICL) with IconShop

When this option is selected IconShop will associate itself with icon libraries every time it starts. This way you can start IconShop simply by double clicking on icon libraries in Explorer.

Macintosh

Use built-in palette

When this option is selected IconShop will use its built-in palette to convert 256-color icons. When it is not selected IconShop will try to load the palette file specified in the Filename edit box. If the filename is invalid or specifies an invalid palette file IconShop will fall back on its built-in palette.

Filename

This edit box contains the filename of the palette file.

Browse

When you click this button a standard Open File dialog appears allowing you to select a palette file.

Conversion palette

This image shows the colors in the current conversion palette.

Export

Bitmap background color

The shown color will be used as the background color of icon images when they are exported as bitmap images or when they are put on the clipboard. Press the button to select a new color using the displayed color dialog.


Macintosh icons

Introduction

Macintosh icons are stored as resources in Macintosh binaries not unlike Windows icons. Most Macintosh icons found are 256-color images using a fixed palette. Starting with MacOS 8.5 24-bit icons with alpha transparency information are possible.

IconShop will try to convert all images with 256 or more colors of the 16 x 16 and 32 x 32 icons it finds in Macintosh binaries. The binaries can be with or without resource fork and can be executables, DLL’s, resource files or simple icon files. IconShop will use a conversion palette to convert 256-color Macintosh icons. You use the built-in palette or specify your own on the Macintosh page of the Options dialog.

Palette file format

The easiest way to create palette files is to use a paint program that can save color palettes in JASC Paint Shop Pro format.

If you create the palette file with a text editor it should have the following format:

JASC-PAL	File identifier

0100	File format version

256	Number of color entries in this file

r1 g1 b1	Red, green and blue color values of color 1

r2 g2 b2	Red, green and blue color values of color 2

…

r256 g256 b256	Red, green and blue color values of color 256

The r, g and b values should lie between 0 and 255.

How to get Macintosh icons on your PC

The easiest way is to get them on the Internet. Simply FTP them from the several Macintosh icon sites that are available. They will typically have a “.sit” or a “.hqx” file type. To expand these archives you need a program that can “un-stuff” them like Aladdin Expander (http://www.aladdinsys.com).

Using Aladdin Expander with IconShop

If you decide to use this Aladdin Expander you will find that the default settings do not produce the expected result. I will now explain the settings that work for me.

•	Select View/Options to get the Options dialog.

•	If the button next to the OK button reads More press on it. Three more tabs appear.

•	Select the Cross Platform tab.

•	Set the following option:
- Convert text files to Windows format: Never
- Save Macintosh files in MacBinary format: Always
- Modification of file extensions…: Never

After expanding an archive you will find a folder with the same name as the archive in the archive’s folder. Simply drag & drop it on the IconShop window and IconShop will examine the complete contents of the folder and will try to convert any icon it finds.

Note 1: when Aladdin Expander expands an archive the file attributes of the resulting files are not properly set. This means that it may seem as if nothing got expanded unless you remove the hidden and system file attributes yourself.

Choosing a name for Macintosh icons

When unpacking Macintosh Stuff-It archives you’ll notice that most of the time the result is a couple of folders with a file called “icon” in it. IconShop recognizes this situation and will pick a name for the icon as follows:

•	Use the name stored in the resource when it is available unless the Ignore name in resource option is selected.

•	Use the name of the icon file when it is not called “icon”.

•	Use the name of the folder in which the icon file is found.

When the icons are extracted from a resource file, a Kaleidoscope or a Macintosh binary IconShop will recognize unnamed system icons and will try to assign a name. If it is a system icon that IconShop does not know the resource ID will be used as a name.

Limitations

•	The new MacOS 8.5 icons allow for transparency masks that unfortunately have no corresponding feature in Windows. IconShop will apply the transparency mask to the current window background color, that is, the background of the list view, when it converts the Macintosh icon to a Windows icon.


File Menu

New

Creates a new icon library.

Open

Presents a standard File-Open dialog box from which an icon library, executable or a resource file can be selected for display. Multiple files can be selected at once using the standard technique of combining the control and shift keys with mouse button selections.

Save

Saves the current library in ICL format. This menu option is enabled only when the current library has been modified.

Save as

Presents a standard File Save dialog that allows you specify a new file name for the current library.

Add

Presents a standard File Open dialog box in which you can select files to add to the current library.

Export as

Exports the current selected icons as bitmaps in Windows BMP format, icon format or cursor format.

New window

Opens a new empty IconShop window.

Page Setup (not implemented yet)

Invokes the Page Setup dialog for the specification of print margins and centering options.

Print Setup (not implemented yet)

Invokes a standard printer setup dialog for the specification of the printer to use, properties for the printer, page orientation, and other print related items.

Print (not implemented yet)

Brings up a choice of printing the library in its entirety, or printing just the selected icons. Either choice leads to a dialog box that offers another opportunity to change printer characteristics before printing commences.

Print Preview (not implemented yet)

Allows you to preview a printed library.

Recently Opened File List (not implemented yet)

A list of the most recently opened image files. Selecting one of these file names is equivalent to selecting it again through the Open... command. The characteristics of this list can be manipulated through the MRU tab of the Properties dialog.

Exit

Closes the current window and exits IconShop.


Edit Menu

Cut

Cuts the selected icon image and puts it on the clipboard as a bitmap. When more than one image is selected only the first is copied on the clipboard.

Copy

Copies the selected icon image and puts it on the clipboard as a bitmap. When more than one image is selected only the first is copied on the clipboard.

Paste

Pastes the contents of the clipboard, in case it is a bitmap, in the current library as a new icon.

Delete

Deletes all selected icons. The image format list is rebuilt.

Delete image

Deletes all selected icon images. If an icon doesn’t contain any images anymore it is removed from the library. The image format list is rebuilt.

Delete format

Deletes all images of the current image format and removes the image format. All icons that don’t contain any images anymore are removed.

Rename

Allows you to rename the icon that has the focus.

Duplicate

Duplicates all the selected icons.

Split

Splits all the selected icons in separate images.

Select all

Selects all icons in the library.

Select duplicates

Sorts all icons by image and attempts to recognize duplicate icons. Depending on the “Ignore palette when sorting by image” option the palettes of the images are compared or not.


View Menu

Toolbar

Shows or hides the toolbar.

Status bar

Shows or hides the status bar.

Browser

Shows or hides the icon browser.

Large Icons

Shows the file list of the browser as large icons.

Small Icons

Shows the file list of the browser as small icons.

List

Shows the file list of the browser as a list.

Details

Shows the file list of the browser as a list with details about the files.

Refresh

Refreshes the contents of the window in case it becomes corrupted.

Sort ascending

Sorts all icons by name in ascending order.

Sort descending

Sorts all icons by name in descending order.

Sort by image

Sorts all icons by image of the current selected image format. Each pixel of the image is compared to the corresponding pixel of the other icons. The order of the images has no meaning: IconShop is only trying to put all icons that have a similar form or that are a duplicate together.

Options

Displays a dialog that allows you to set some options of the program.


Tools Menu

Reset names

Resets the names of all icons to a combination of the name of the icon library and a number representing its ordinal position in the library.


Help Menu

Contents

Displays the help contents.

Search…

Displays a dialog allowing you to search the help file.

About…

Displays the program version and credentials. It also contains a hyperlink to my email address and home page.


Comments and updates

Updates

You can download the latest version at:

www.ping.be/liontech

Comments

If you have comments, questions or find any bugs in IconShop please feel free to contact me.

Peter Stuer

Peter.Stuer@ping.be

IconShop is offered as freeware and was developed in my own free time. I don’t make any promises about support or updates.


Frequently Asked Questions

1.	Why do some Windows executables don’t show any icons when opened with IconShop even though I know they contain icons?

Most likely the executable like f.e. EXPLORER.EXE is currently running as an application or is in use by the system. To work around this situation make a copy of the file and use the copy to examine the icons. This is not an issue on Windows NT.


Sometimes Macintosh icons and resources contain a name. When this option is selected IconShop will ignore the name in the resource and will use the name of the icon file instead.


When this option is selected IconShop will show missing icon images as empty squares. When the option is selected only those icons will be shown that have an image in the selected format.


When this option is selected IconShop will ignore the palette of an icon image when looking for duplicates. This way icon images that have the same bit pattern are more likely to be recognized as duplicates even when there are subtle color differences.


This drop list allows you to select an image format which will be shown when open a library. If no icons have images of the selected format the best matching format is chosen. If you select Last used format the librarian will remember the last used format when you close IconShop.


When this option is selected IconShop will associate itself with icon libraries every time it starts. This way you can start IconShop simply by double clicking on icon libraries in Explorer.


When this option is selected IconShop will use its built-in palette to convert 256-color icons. When it is not selected IconShop will try to load the palette file specified in the Filename edit box. If the filename is invalid or specifies an invalid palette file IconShop will fall back on its built-in palette.


This edit box contains the filename of the palette file.


When you click this button a standard Open File dialog appears allowing you to select a palette file.


This image shows the colors in the current conversion palette.


The shown color will be used as the background color of icon images when they are exported as bitmap images or when they are put on the clipboard. Press the button to select a new color using the displayed color dialog.