IconCandy ;)

The KDE World

Stuffit LogoKDE uses simple PNGs, stored in a quite easy to understand folder hierachy.
Icons are usually stored in /usr/share/icons/[ThemeFolder] or something like this.
They're spiltted 1st by size and 2nd by category.

Now the tricky thing is to get some nice PNGs...

Sources

Link LogoThere're a lot of great mac icon sources (hey, they home PhotoShop...) on the web, i certainly cannot link them all.
(But you may inform me if i terribly missed some important)

Good sources are usually:


The Mac World

Apple LogoApple stores icons of all sizes in containers, suffixed ".icns" (some bad taste?).
This (proprietary?) format is not natively supported by KDE, so you'll have to do some conversion.
Luckily there's a linux application by Mathew Eis. that you can now get again from http://eisbox.net/software/

The Pixadex World

Pixadex LogoIn the last time, (mac) icons are oftenly spreaded as icontainers, a format created by Pixadex, what is basically a conjunction of the contained .icns plus some meta info (that also differs between the original icontainer and the candybar icontainers...).
You'll need some pixadex product (mac-only) for full handling of those icontainers, but for simple extraction of the contained icons, i hacked together some short C code, you can download here
Notice:
This is a very first and rough attempt. It will extract icons from icontainers, but omit names, candybar IDs and copyright info and may create some (additional) invalid icns - read below for conversion process.

The Stuff World

Stuffit LogoStuffIt is the traditional Mac compression aplication, like WinZip was on M$ Windows.
Linux users can use the *nix shell application unstuff to extract those .sit archives.

The World ... converts

Stuffit Logo Now, how do you get the icons from out whatever you downloaded?

1st Step:
You've got a foo.sit or foo.sit.hqx archive
Unstuff the archive to get the included data:
unstuff -m=auto -e=mac foo.sit[.hqx]
If you had a foo.sit.hqx file, you'll now get an additional Foo.sit file that you must extract
unstuff -m=auto -e=mac Foo.sit
If you get errors, mentioning that unstuff cannot extract some folder with a utf8 name, it may help to create this folder yourself - this does unfortunately not work on files :(

2nd Step:
You've got a Pixadex icontainer
(You may skip this step, if you got some mac icns)
Extract the .icns from the icontainer.
incontainer2icns foo.icontainer

3rd Step:
You've got some mac .icns
Convert the .icns files to PNGs
icns2png foo.icns
Notice:
If you want to convert more than just one .icns file, it's usually a good idea to use a simple bash loop, so instead of calling
icns2png *.icns
you'd rather call
for name in *.icns; do icns2png ""; done
to avoid segfaults if icns2png got troubled by the icns file (what would skip the rest of the files).

Error Step:
You've got some dmg file
foo.dmg indicates an HFS/HFS+ (apple file format) disk image
Unfortunately Apple added some 3rd party crypto stuff what makes these images unmountable under Linux or any *nix apart OS X - so far.
The only way to handle these files is Apples hdiutil and though being a shell application, it's not part of the Open Darwin Project and Apple yet not felt necessary to provide (closed source, open source is impossible) versions for non ppc architectures.
So either you have a Mac, run PearPC and have OS X, or you're pretty f***** :(
A way to handle general foo.dmg files is here


SF.net Logo