Kenny Baustert

Open source

Iconery

Iconery is an icon library for macOS, in the spirit of IconJar. It keeps your icons in nested sets, finds them again by name, and exports them in the format and sizes a project needs. It can bring over an existing IconJar library, and runs on macOS 14 and later.


What it does

How it's built

Reading IconJar without touching it

IconJar keeps its library in a Core Data SQLite database. Iconery reads a copy of it and never the original, because IconJar may have the file open, and even a read-only SQLite open can leave files beside the database. The copy takes the write-ahead log with it, since a database copied without it is missing IconJar's latest changes.

Writing ICO and ICNS by hand

macOS's own image writer leaves the 64 and 1024 px slots out of an ICNS file, and stores most ICO sizes as uncompressed bitmaps. Iconery writes both formats itself. An ICNS file is a list of typed chunks with a PNG in each, and every ICO entry is a PNG too, which Windows has read inside ICO files since Vista.

A library that survives being moved

The library's location is stored as a bookmark rather than a path, so it is found again after its folder is renamed or moved in Finder.

Swift 6 language mode

Everything runs on the main thread. Icons are small enough that drawing and exporting them inline never stalls the window, so strict concurrency checking costs nothing, and it will catch a background task if one is ever added.

Stack

Source

github.com/kdbaustert/iconery

Other apps

Get in touch

Most of my paid work is PHP and Laravel. If you have some, tell me about it.

I'm available now for full-time roles and contract work, remote or hybrid around Lakeland, Tampa and Orlando.

kenny@kennyb.dev · Resume (PDF)