https://github.com/linusu/node-ds-store
.DS_Store manipulation and creation from node.js
https://github.com/linusu/node-ds-store
Last synced: about 1 year ago
JSON representation
.DS_Store manipulation and creation from node.js
- Host: GitHub
- URL: https://github.com/linusu/node-ds-store
- Owner: LinusU
- License: mit
- Created: 2014-01-02T14:07:26.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2021-10-29T00:57:07.000Z (over 4 years ago)
- Last Synced: 2025-04-13T03:16:37.638Z (about 1 year ago)
- Language: JavaScript
- Size: 47.9 KB
- Stars: 22
- Watchers: 5
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-ds-store
.DS_Store manipulation and creation from node.js
## Status
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.
## Installation
```sh
npm install ds-store
```
## Usage
```javscript
var DSStore = require('ds-store');
var file = new DSStore();
```
## API
### file.setBackgroundPath(path)
Set the background image to file specified by `path`.
### file.setBackgroundColor(red, green, blue)
Set the background color to the color specified by three floats between 0 and 1.
### file.setIconSize(size)
Set the size of all icons in the folder to `size`.
### file.setIconPos(name, x, y)
Position a file icon for file named `name` at `x, y`.
### file.setWindowPos(x, y)
Set the Finder window position to `x, y`.
### file.setWindowSize(w, h)
Set the Finder window size to `w, h`.
### file.vSrn(value)
Set the `vSrn` value to either `0` or `1`.
Effect currently unknown.
### file.write(path, cb)
Write the `.DS_Store` information to file at `path`.
`cb` will get called with `err` upon file creation.
## Future
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.
## Thanks
A special thanks to Wim Lewis who have written a complete implementation
in perl. His documentation of the file format helped me very much.
http://search.cpan.org/~wiml/Mac-Finder-DSStore/DSStoreFormat.pod