Workbench icon editor (.info)
Open, draw and save Amiga Workbench icons — classic planar .info images in the 1.3 or 2.0+ colours, NewIcons hidden in the tooltypes, and OS 3.5 ColorIcons — with the icon type, default tool, tooltypes, stack and drawer window, PNG import and a byte-level file layout.
Added
How to use it
Drop a .info file on the page (or click to choose one), or start from a sample icon.
Nothing is uploaded; the file is read and written in your browser.
-
Classic / NewIcon / ColorIcon picks which of the icon’s images you are editing. Real icons often carry all three: the classic planar image every Workbench can show, a NewIcons image (Workbench 2.x/3.x with the NewIcons patch) and an OS 3.5+ ColorIcon. If one is missing, Create this format makes it from the others.
-
Normal / Selected switches between the two images. Without a selected image Workbench complements the colours (classic) or darkens the image; Add selected image adds one.
-
Draw with Pen, Fill or Pick (take a colour from the picture); tap a palette swatch to choose the pen. ⌘Z / Ctrl+Z or Undo steps back. In the colour formats, the colour picker edits the selected palette entry, + colour adds one, and colour 0 can be transparent. The classic image uses the screen’s pens, so it is shown in the Workbench palette you choose (1.3 blue/white/black/orange, 2.0+ grey/black/white/blue, or the 8-colour MagicWB set).
-
Import PNG… (or drop a PNG) converts a picture: to the Workbench pens for the classic image, and to the number of Import colours you choose (median cut) for NewIcon and ColorIcon, with transparent pixels mapped to colour 0. Tick Import into all formats to fill all three at once.
-
The Icon panel edits the type (disk, drawer, tool, project, trashcan, device, kickstart, AppIcon), the default tool, tooltypes (one per line), stack size, highlight mode, revision, position, and for drawers and disks the drawer window box.
-
Preview shows each format at 2× on the Workbench background. File lists what the icon holds and the export size; File layout shows the offset and length of every part of the file as it was opened.
-
Download .info writes the classic image plus the NewIcon and ColorIcon images you tick. PNG of this image saves the image you are editing.
⛶ Full screen (or F) gives the pixel editor the whole screen — the browser’s full screen
where it is allowed, otherwise a full-window layer (iPhone); the picture is rescaled as the window
changes, and ◫ Panels hides the side panels. Escape leaves.
Format notes
-
A
.infofile starts with astruct DiskObject(78 bytes): magic$E310, version 1, an Intuitionstruct Gadget(44 bytes, at offset 4) whose width, height, flags and image pointers describe the icon,do_Typeat offset 48 (1 disk, 2 drawer, 3 tool, 4 project, 5 garbage, 6 device, 7 kickstart, 8 AppIcon), then pointers for the default tool, tooltypes, drawer data and tool window, the icon position ($80000000= no position) and the stack size. In the file the pointers only say whether that part follows. The low byte of the gadget’sUserDatais the revision: 1 for Workbench 2.0 and later. -
Then, in order: the old 56-byte
DrawerData(an IntuitionNewWindowof 48 bytes plus the scroll position) for disks, drawers and trashcans; the normal image and, if the gadget’sSelectRenderis set, the selected image — each a 20-bytestruct Image(size, depth, PlanePick, PlaneOnOff) followed by its bitplanes, one after another, each row padded to 16-bit words; the default tool and each tooltype as a 32-bit length (including the NUL), the bytes and a NUL, the tooltypes preceded by (count + 1) × 4; and, for revision 1 drawers, 6 more bytes ofDrawerData(show-all-files flags and view mode). -
Gadget flag bits 0–1 choose the highlight: complement, backfill, alternate image, none.
-
NewIcons hide their images in the tooltypes after the line
* DON’T EDIT THE FOLLOWING LINES!! *. Lines startingIM1=hold the normal image andIM2=the selected one. The first line starts withB(colour 0 is transparent) orC, then width + 33, height + 33 and the colour count in two 6-bit characters. Each character carries 7 bits:$20–$6Fare 0–$4F,$A1–$D0are$50–$7F, and$D1+ n is n + 1 groups of seven zero bits. The palette (RGB bytes) comes first; the pixels start on the line after it ends, each pixel as many bits as the colour count needs. Bits left over at the end of a line are dropped, and lines are at most 127 characters. Images are at most 93 × 93. -
OS 3.5 ColorIcons follow the classic data as an IFF
FORM ICON: aFACEchunk (width − 1, height − 1, flags with bit 0 = frameless, aspect, palette bytes − 1) and oneIMAGchunk per image (transparent colour, colours − 1, flags: bit 0 transparent colour, bit 1 palette present; image and palette compression, depth, and the byte counts − 1), then the pixels and the palette. Compression is a bit-packed run-length code: an 8-bit control n = 0–127 is followed by n + 1 values, n = 129–255 by one value repeated 257 − n times; values are depth bits for pixels and 8 bits for the palette. A selected image without a palette uses the normal image’s.
Sources: Amiga ROM Kernel Reference Manual: Libraries (3rd ed.), "Workbench and Icon Library",
and the NDK headers workbench/workbench.h and intuition/intuition.h; the NewIcons format by
Nicola Salmoria and Eric Sauvageau as decoded by AROS icon.library (DecodeNI(), after Dirk
Stöcker’s ModifyIcon); the OS 3.5 format as read and written by AROS icon.library
(Decode35(), Encode35()).
Limits
-
OS 4 and MorphOS PNG icons (a PNG file named
.info, orARGB/ `png ` chunks inside FORM ICON) are not decoded; their chunks are listed in the file layout only. -
Classic images are written with every plane present (PlanePick = all planes, PlaneOnOff = 0); icons that used PlanePick tricks are shown correctly but saved in the plain form.
-
The tooltypes and default tool are Latin-1. AppIcon and kickstart icons are edited like any other but not checked for what their programs expect.
-
NewIcons and ColorIcons were checked against the AROS decoders' rules, not against every third-party writer; the round trips are exact for files this tool writes.
Related: ADF disk images (icons live beside their files on a disk), Amiga archives, IFF ILBM pictures, sprites and BOBs, AmigaGuide viewer.
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.