summaryrefslogtreecommitdiffstats
path: root/iphone/bin/CreateDSStore.pl
diff options
context:
space:
mode:
Diffstat (limited to 'iphone/bin/CreateDSStore.pl')
-rwxr-xr-xiphone/bin/CreateDSStore.pl72
1 files changed, 72 insertions, 0 deletions
diff --git a/iphone/bin/CreateDSStore.pl b/iphone/bin/CreateDSStore.pl
new file mode 100755
index 0000000..e6bc7df
--- /dev/null
+++ b/iphone/bin/CreateDSStore.pl
@@ -0,0 +1,72 @@
+#!/usr/bin/perl
+
+# Quick hack script to generate the .DS_Store for the DMG, which
+# * allows us to precisely position the window and icons
+# * is more usefully versioned
+# * avoids references to my local HD(!?)
+
+use warnings;
+use strict;
+
+BEGIN {
+ use File::Spec::Functions qw(rel2abs splitpath);
+ use lib (splitpath(rel2abs($0)))[1];
+}
+
+use Data::Plist::BinaryWriter;
+use Mac::Finder::DSStore qw(writeDSDBEntries makeEntries);
+use Mac::Finder::AliasRecord;
+
+$Mac::Finder::DSStore::Entry::types{bwsp} = 'blob';
+$Mac::Finder::DSStore::Entry::types{icvp} = 'blob';
+
+writeDSDBEntries($ARGV[0] || "DS_Store",
+ makeEntries(".",
+ bwsp => Data::Plist::BinaryWriter->new(serialize => 0)->write([
+ dict => {
+ WindowBounds => [
+ string => sprintf('{{%d, %d}, {%d, %d}}',
+ 512, 128, 512, 608 + 22)
+ ],
+ SidebarWidth => [integer => 0],
+ ShowToolbar => [false => 0],
+ ShowSidebar => [false => 0],
+ ShowPathbar => [false => 0],
+ ShowStatusBar => [false => 0],
+ }
+ ]),
+ icvp => Data::Plist::BinaryWriter->new(serialize => 0)->write([
+ dict => {
+ viewOptionsVersion => [integer => 0],
+ arrangeBy => [string => "none"],
+ iconSize => [real => 64],
+ textSize => [real => 12],
+ labelOnBottom => [true => 1],
+ gridSpacing => [real => 100],
+ gridOffsetX => [real => 0],
+ gridOffsetY => [real => 0],
+ showItemInfo => [false => 0],
+ showIconPreview => [false => 0],
+ backgroundType => [integer => 2],
+ backgroundColorRed => [real => 0],
+ backgroundColorGreen => [real => 0],
+ backgroundColorBlue => [real => .5],
+ backgroundImageAlias => [
+ data => Mac::Finder::AliasRecord->new(
+ path => 'ZBarSDK:.background:ZBarSDK-bg.png',
+ volumeFS => 'HFS+')->write()
+ ],
+ },
+ ]),
+ vstl => "icnv",
+ ),
+ makeEntries("README", Iloc_xy => [ 4.5 * 32, 2.5 * 32 ]),
+ makeEntries("ZBarSDK", Iloc_xy => [ 4.5 * 32, 7.5 * 32 ]),
+ makeEntries("ChangeLog", Iloc_xy => [ 4 * 32, 12.5 * 32 ]),
+ makeEntries("Documentation.html",
+ Iloc_xy => [ 8 * 32, 12.5 * 32 ]),
+ makeEntries("Examples", Iloc_xy => [ 12 * 32, 12.5 * 32 ]),
+ makeEntries("COPYING", Iloc_xy => [ 4 * 32, 16 * 32 ]),
+ makeEntries("LICENSE.md", Iloc_xy => [ 8 * 32, 16 * 32 ]),
+ makeEntries("Documentation",Iloc_xy => [ 12 * 32, 16 * 32 ]),
+);