.DS_Store manipulation and creation from node.js


.DS_Store manipulation and creation from node.js

Currently the implementation uses a pre-created .DS_Store file which it then modifies to suit the needs. This places several limitations and also only allows creating new files from scratch.

npm install ds-store
var DSStore = require('ds-store');
var file = new DSStore();

Set the background image to file specified by path.

Set the size of all icons in the folder to size.

Position a file icon for file named name at x, y.

Set the Finder window position to x, y.

Set the Finder window size to w, h.

Set the vSrn value to either 0 or 1.

Effect currently unknown.

Write the .DS_Store information to file at path.

cb will get called with err upon file creation.

I have started work on a Buddy Allocator and B-Tree implementation, but there is still lots of work required. Having theese would make it easy to both read and manipulate files. It also wouldn't require shipping a DSStore-clean file.

A special thanks to Wim Lewis who have written a complete implementation in perl. His documentation of the file format helped me very much.