diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Autoupdate b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Autoupdate new file mode 120000 index 0000000..1a4fc02 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Autoupdate @@ -0,0 +1 @@ +Versions/Current/Autoupdate \ No newline at end of file diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Resources b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Resources new file mode 120000 index 0000000..953ee36 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Sparkle b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Sparkle new file mode 120000 index 0000000..b2c5273 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Sparkle @@ -0,0 +1 @@ +Versions/Current/Sparkle \ No newline at end of file diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Updater.app b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Updater.app new file mode 120000 index 0000000..18f3223 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Updater.app @@ -0,0 +1 @@ +Versions/Current/Updater.app \ No newline at end of file diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Autoupdate b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Autoupdate new file mode 100755 index 0000000..945f80f Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Autoupdate differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects-101300.nib b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..c33337a Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects-101300.nib differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects.nib b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects.nib new file mode 100644 index 0000000..63740c8 Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects.nib differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..8774156 Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib new file mode 100644 index 0000000..a95f6a7 Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib new file mode 100644 index 0000000..3517459 Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings new file mode 100644 index 0000000..3901514 Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Base.lproj/Sparkle.strings differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Info.plist b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Info.plist new file mode 100644 index 0000000..5effbe2 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/Info.plist @@ -0,0 +1,48 @@ + + + + + BuildMachineOSBuild + 21G83 + CFBundleDevelopmentRegion + en + CFBundleExecutable + Sparkle + CFBundleIdentifier + org.sparkle-project.Sparkle + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Sparkle + CFBundlePackageType + FMWK + CFBundleShortVersionString + 2.2.2 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 2017.1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 13E500a + DTPlatformName + macosx + DTPlatformVersion + 12.3 + DTSDKBuild + 21E226 + DTSDKName + macosx12.3 + DTXcode + 1331 + DTXcodeBuild + 13E500a + LSMinimumSystemVersion + 10.11 + + diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/ReleaseNotesColorStyle.css b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/ReleaseNotesColorStyle.css new file mode 100644 index 0000000..bcd84a2 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/ReleaseNotesColorStyle.css @@ -0,0 +1,13 @@ +@media (prefers-color-scheme: dark) { + html { + color-scheme: dark; + color: white; + background: transparent; + } + :link { + color: #419CFF; + } + :link:active { + color: #FF1919; + } +} diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/SUModelTranslation.plist b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/SUModelTranslation.plist new file mode 100644 index 0000000..1f75b24 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/SUModelTranslation.plist @@ -0,0 +1,314 @@ + + + + + ADP2,1 + Developer Transition Kit + iMac1,1 + iMac G3 (Rev A-D) + iMac4,1 + iMac (Core Duo) + iMac4,2 + iMac for Education (17 inch, Core Duo) + iMac5,1 + iMac (Core 2 Duo, 17 or 20 inch, SuperDrive) + iMac5,2 + iMac (Core 2 Duo, 17 inch, Combo Drive) + iMac6,1 + iMac (Core 2 Duo, 24 inch, SuperDrive) + iMac7,1 + iMac Intel Core 2 Duo (aluminum enclosure) + iMac8,1 + iMac (Core 2 Duo, 20 or 24 inch, Early 2008 ) + iMac9,1 + iMac (Core 2 Duo, 20 or 24 inch, Early or Mid 2009 ) + iMac10,1 + iMac (Core 2 Duo, 21.5 or 27 inch, Late 2009 ) + iMac11,1 + iMac (Core i5 or i7, 27 inch Late 2009) + iMac11,2 + 21.5" iMac (mid 2010) + iMac11,3 + iMac (Core i5 or i7, 27 inch Mid 2010) + iMac12,1 + iMac (Core i3 or i5 or i7, 21.5 inch Mid 2010 or Late 2011) + iMac12,2 + iMac (Core i5 or i7, 27 inch Mid 2011) + iMac13,1 + iMac (Core i3 or i5 or i7, 21.5 inch Late 2012 or Early 2013) + iMac13,2 + iMac (Core i5 or i7, 27 inch Late 2012) + iMac14,1 + iMac (Core i5, 21.5 inch Late 2013) + iMac14,2 + iMac (Core i5 or i7, 27 inch Late 2013) + iMac14,3 + iMac (Core i5 or i7, 21.5 inch Late 2013) + iMac14,4 + iMac (Core i5, 21.5 inch Mid 2014) + iMac15,1 + iMac (Retina 5K Core i5 or i7, 27 inch Late 2014 or Mid 2015) + iMac16,1 + iMac (Core i5, 21,5 inch Late 2015) + iMac16,2 + iMac (Retina 4K Core i5 or i7, 21.5 inch Late 2015) + iMac17,1 + iMac (Retina 5K Core i5 or i7, 27 inch Late 2015) + MacBook1,1 + MacBook (Core Duo) + MacBook2,1 + MacBook (Core 2 Duo) + MacBook4,1 + MacBook (Core 2 Duo Feb 2008) + MacBook5,1 + MacBook (Core 2 Duo, Late 2008, Unibody) + MacBook5,2 + MacBook (Core 2 Duo, Early 2009, White) + MacBook6,1 + MacBook (Core 2 Duo, Late 2009, Unibody) + MacBook7,1 + MacBook (Core 2 Duo, Mid 2010, White) + MacBook8,1 + MacBook (Core M, 12 inch, Early 2015) + MacBookAir1,1 + MacBook Air (Core 2 Duo, 13 inch, Early 2008) + MacBookAir2,1 + MacBook Air (Core 2 Duo, 13 inch, Mid 2009) + MacBookAir3,1 + MacBook Air (Core 2 Duo, 11 inch, Late 2010) + MacBookAir3,2 + MacBook Air (Core 2 Duo, 13 inch, Late 2010) + MacBookAir4,1 + MacBook Air (Core i5 or i7, 11 inch, Mid 2011) + MacBookAir4,2 + MacBook Air (Core i5 or i7, 13 inch, Mid 2011) + MacBookAir5,1 + MacBook Air (Core i5 or i7, 11 inch, Mid 2012) + MacBookAir5,2 + MacBook Air (Core i5 or i7, 13 inch, Mid 2012) + MacBookAir6,1 + MacBook Air (Core i5 or i7, 11 inch, Mid 2013 or Early 2014) + MacBookAir6,2 + MacBook Air (Core i5 or i7, 13 inch, Mid 2013 or Early 2014) + MacBookAir7,1 + MacBook Air (Core i5 or i7, 11 inch, Early 2015) + MacBookAir7,2 + MacBook Air (Core i5 or i7, 13 inch, Early 2015) + MacBookPro1,1 + MacBook Pro Core Duo (15-inch) + MacBookPro1,2 + MacBook Pro Core Duo (17-inch) + MacBookPro2,1 + MacBook Pro Core 2 Duo (17-inch) + MacBookPro2,2 + MacBook Pro Core 2 Duo (15-inch) + MacBookPro3,1 + MacBook Pro Core 2 Duo (15-inch LED, Core 2 Duo) + MacBookPro3,2 + MacBook Pro Core 2 Duo (17-inch HD, Core 2 Duo) + MacBookPro4,1 + MacBook Pro (Core 2 Duo Feb 2008) + MacBookPro5,1 + MacBook Pro Intel Core 2 Duo (aluminum unibody) + MacBookPro5,2 + MacBook Pro Intel Core 2 Duo (aluminum unibody) + MacBookPro5,3 + MacBook Pro Intel Core 2 Duo (aluminum unibody) + MacBookPro5,4 + MacBook Pro Intel Core 2 Duo (aluminum unibody) + MacBookPro5,5 + MacBook Pro Intel Core 2 Duo (aluminum unibody) + MacBookPro6,1 + MacBook Pro Intel Core i5, Intel Core i7 (mid 2010) + MacBookPro6,2 + MacBook Pro Intel Core i5, Intel Core i7 (mid 2010) + MacBookPro7,1 + MacBook Pro Intel Core 2 Duo (mid 2010) + MacBookPro8,1 + MacBook Pro Intel Core i5, Intel Core i7, 13" (early 2011) + MacBookPro8,2 + MacBook Pro Intel Core i7, 15" (early 2011) + MacBookPro8,3 + MacBook Pro Intel Core i7, 17" (early 2011) + MacBookPro9,1 + MacBook Pro (15-inch, Mid 2012) + MacBookPro9,2 + MacBook Pro (13-inch, Mid 2012) + MacBookPro10,1 + MacBook Pro (Retina, Mid 2012) + MacBookPro10,2 + MacBook Pro (Retina, 13-inch, Late 2012) + MacBookPro11,1 + MacBook Pro (Retina, 13-inch, Late 2013) + MacBookPro11,2 + MacBook Pro (Retina, 15-inch, Late 2013) + MacBookPro11,3 + MacBook Pro (Retina, 15-inch, Late 2013) + MacbookPro11,4 + MacBook Pro (Retina, 15-inch, Mid 2015) + MacbookPro11,5 + MacBook Pro (Retina, 15-inch, Mid 2015) + MacbookPro12,1  + MacBook Pro (Retina, 13-inch, Early 2015) + Macmini1,1 + Mac Mini (Core Solo/Duo) + Macmini2,1 + Mac mini Intel Core + Macmini3,1 + Mac mini Intel Core + Macmini4,1 + Mac mini Intel Core (Mid 2010) + Macmini5,1 + Mac mini (Core i5, Mid 2011) + Macmini5,2 + Mac mini (Core i5 or Core i7, Mid 2011) + Macmini5,3 + Mac mini (Core i7, Server, Mid 2011) + Macmini6,1 + Mac mini (Core i5, Late 2012) + Macmini6,2 + Mac mini (Core i7, Normal or Server, Late 2012) + Macmini7,1 + Mac mini (Core i5 or Core i7, Late 2014) + MacPro1,1,Quad + Mac Pro + MacPro1,1 + Mac Pro (four-core) + MacPro2,1 + Mac Pro (eight-core) + MacPro3,1 + Mac Pro (January 2008 4- or 8- core "Harpertown") + MacPro4,1 + Mac Pro (March 2009) + MacPro5,1 + Mac Pro (2010 or 2012) + MacPro6,1 + Mac Pro (Late 2013) + PowerBook1,1 + PowerBook G3 + PowerBook2,1 + iBook G3 + PowerBook2,2 + iBook G3 (FireWire) + PowerBook2,3 + iBook G3 + PowerBook2,4 + iBook G3 + PowerBook3,1 + PowerBook G3 (FireWire) + PowerBook3,2 + PowerBook G4 + PowerBook3,3 + PowerBook G4 (Gigabit Ethernet) + PowerBook3,4 + PowerBook G4 (DVI) + PowerBook3,5 + PowerBook G4 (1GHz / 867MHz) + PowerBook4,1 + iBook G3 (Dual USB, Late 2001) + PowerBook4,2 + iBook G3 (16MB VRAM) + PowerBook4,3 + iBook G3 Opaque 16MB VRAM, 32MB VRAM, Early 2003) + PowerBook5,1 + PowerBook G4 (17 inch) + PowerBook5,2 + PowerBook G4 (15 inch FW 800) + PowerBook5,3 + PowerBook G4 (17-inch 1.33GHz) + PowerBook5,4 + PowerBook G4 (15 inch 1.5/1.33GHz) + PowerBook5,5 + PowerBook G4 (17-inch 1.5GHz) + PowerBook5,6 + PowerBook G4 (15 inch 1.67GHz/1.5GHz) + PowerBook5,7 + PowerBook G4 (17-inch 1.67GHz) + PowerBook5,8 + PowerBook G4 (Double layer SD, 15 inch) + PowerBook5,9 + PowerBook G4 (Double layer SD, 17 inch) + PowerBook6,1 + PowerBook G4 (12 inch) + PowerBook6,2 + PowerBook G4 (12 inch, DVI) + PowerBook6,3 + iBook G4 + PowerBook6,4 + PowerBook G4 (12 inch 1.33GHz) + PowerBook6,5 + iBook G4 (Early-Late 2004) + PowerBook6,7 + iBook G4 (Mid 2005) + PowerBook6,8 + PowerBook G4 (12 inch 1.5GHz) + PowerMac1,1 + Power Macintosh G3 (Blue & White) + PowerMac1,2 + Power Macintosh G4 (PCI Graphics) + PowerMac2,1 + iMac G3 (Slot-loading CD-ROM) + PowerMac2,2 + iMac G3 (Summer 2000) + PowerMac3,1 + Power Macintosh G4 (AGP Graphics) + PowerMac3,2 + Power Macintosh G4 (AGP Graphics) + PowerMac3,3 + Power Macintosh G4 (Gigabit Ethernet) + PowerMac3,4 + Power Macintosh G4 (Digital Audio) + PowerMac3,5 + Power Macintosh G4 (Quick Silver) + PowerMac3,6 + Power Macintosh G4 (Mirrored Drive Door) + PowerMac4,1 + iMac G3 (Early/Summer 2001) + PowerMac4,2 + iMac G4 (Flat Panel) + PowerMac4,4 + eMac + PowerMac4,5 + iMac G4 (17-inch Flat Panel) + PowerMac5,1 + Power Macintosh G4 Cube + PowerMac5,2 + Power Mac G4 Cube + PowerMac6,1 + iMac G4 (USB 2.0) + PowerMac6,3 + iMac G4 (20-inch Flat Panel) + PowerMac6,4 + eMac (USB 2.0, 2005) + PowerMac7,2 + Power Macintosh G5 + PowerMac7,3 + Power Macintosh G5 + PowerMac8,1 + iMac G5 + PowerMac8,2 + iMac G5 (Ambient Light Sensor) + PowerMac9,1 + Power Macintosh G5 (Late 2005) + PowerMac10,1 + Mac Mini G4 + PowerMac10,2 + Mac Mini (Late 2005) + PowerMac11,2 + Power Macintosh G5 (Late 2005) + PowerMac12,1 + iMac G5 (iSight) + RackMac1,1 + Xserve G4 + RackMac1,2 + Xserve G4 (slot-loading, cluster node) + RackMac3,1 + Xserve G5 + Xserve1,1 + Xserve (Intel Xeon) + Xserve2,1 + Xserve (January 2008 quad-core) + Xserve3,1 + Xserve (early 2009) + + diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/SUStatus.nib/keyedobjects-101300.nib b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/SUStatus.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..6d471ce Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/SUStatus.nib/keyedobjects-101300.nib differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/SUStatus.nib/keyedobjects.nib b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/SUStatus.nib/keyedobjects.nib new file mode 100644 index 0000000..0b71a96 Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/SUStatus.nib/keyedobjects.nib differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdateAlert.strings b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdateAlert.strings new file mode 100644 index 0000000..45a4cfc --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdateAlert.strings @@ -0,0 +1,18 @@ + +/* Class = "NSWindow"; title = "Software Update"; ObjectID = "5"; */ +"5.title" = "Software Update"; + +/* Class = "NSTextFieldCell"; title = "Release Notes:"; ObjectID = "170"; */ +"170.title" = "Release Notes:"; + +/* Class = "NSButtonCell"; title = "Remind Me Later"; ObjectID = "171"; */ +"171.title" = "Remind Me Later"; + +/* Class = "NSButtonCell"; title = "Skip This Version"; ObjectID = "172"; */ +"172.title" = "Skip This Version"; + +/* Class = "NSButtonCell"; title = "Install Update"; ObjectID = "173"; */ +"173.title" = "Install Update"; + +/* Class = "NSButtonCell"; title = "Automatically download and install updates in the future"; ObjectID = "175"; */ +"175.title" = "Automatically download and install updates in the future"; diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdatePermissionPrompt.strings b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdatePermissionPrompt.strings new file mode 100644 index 0000000..e9c01f3 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Resources/en.lproj/SUUpdatePermissionPrompt.strings @@ -0,0 +1,24 @@ + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "43"; */ +"43.title" = "Text Cell"; + +/* Class = "NSTextFieldCell"; title = "Text Cell"; ObjectID = "45"; */ +"45.title" = "Text Cell"; + +/* Class = "NSButtonCell"; title = "Check Automatically"; ObjectID = "176"; */ +"OhZ-1K-DmA.title" = "Check Automatically"; + +/* Class = "NSButtonCell"; title = "Don’t Check"; ObjectID = "177"; */ +"cCJ-V0-aTi.title" = "Don’t Check"; + +/* Class = "NSTextFieldCell"; title = "Check for updates automatically?"; ObjectID = "178"; */ +"gmh-T4-BO0.title" = "Check for updates automatically?"; + +/* Class = "NSTextFieldCell"; title = "DO NOT LOCALIZE"; ObjectID = "179"; */ +"179.title" = "DO NOT LOCALIZE"; + +/* Class = "NSButtonCell"; title = "Include anonymous system profile"; ObjectID = "180"; */ +"gz7-LM-gNf.title" = "Include anonymous system profile"; + +/* Class = "NSTextFieldCell"; title = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; ObjectID = "183"; */ +"183.title" = "Anonymous system profile information is used to help us plan future development work. Please contact us if you have any questions about this.\n\nThis is the information that would be sent:"; diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Sparkle b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Sparkle new file mode 100755 index 0000000..86d891c Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Sparkle differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Info.plist b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Info.plist new file mode 100644 index 0000000..aca74ce --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Info.plist @@ -0,0 +1,54 @@ + + + + + BuildMachineOSBuild + 21G83 + CFBundleDevelopmentRegion + en + CFBundleExecutable + Updater + CFBundleIdentifier + org.sparkle-project.Sparkle.Updater + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Updater + CFBundlePackageType + APPL + CFBundleShortVersionString + 2.2.2 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 2017.1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 13E500a + DTPlatformName + macosx + DTPlatformVersion + 12.3 + DTSDKBuild + 21E226 + DTSDKName + macosx12.3 + DTXcode + 1331 + DTXcodeBuild + 13E500a + LSApplicationCategoryType + public.app-category.utilities + LSMinimumSystemVersion + 10.11 + LSUIElement + 1 + NSPrincipalClass + NSApplication + + diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater new file mode 100755 index 0000000..56ed2ca Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/MacOS/Updater differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/PkgInfo b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/PkgInfo new file mode 100644 index 0000000..bd04210 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/PkgInfo @@ -0,0 +1 @@ +APPL???? \ No newline at end of file diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/Base.lproj/Sparkle.strings b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/Base.lproj/Sparkle.strings new file mode 100644 index 0000000..3901514 Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/Base.lproj/Sparkle.strings differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib/keyedobjects-101300.nib b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..6d471ce Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib/keyedobjects-101300.nib differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib/keyedobjects.nib b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib/keyedobjects.nib new file mode 100644 index 0000000..0b71a96 Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/Resources/SUStatus.nib/keyedobjects.nib differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/_CodeSignature/CodeResources b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..fa99fc6 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Updater.app/Contents/_CodeSignature/CodeResources @@ -0,0 +1,866 @@ + + + + + files + + Resources/Base.lproj/Sparkle.strings + + XSU5ujIHVj0VrcaL7/1PMjP8QWE= + + Resources/SUStatus.nib/keyedobjects-101300.nib + + MMoEZd95HH2wagHtE7tdRXWDz2Y= + + Resources/SUStatus.nib/keyedobjects.nib + + xfoE8HeFjdDHIe1XsSevLTFTKwU= + + Resources/ar.lproj/Sparkle.strings + + hash + + 5Ukin0TnIF0ot6Daz8OSgIoDZJ0= + + optional + + + Resources/ca.lproj/Sparkle.strings + + hash + + SM9Ssbq+EA6SD88oCZx9K6nLvic= + + optional + + + Resources/cs.lproj/Sparkle.strings + + hash + + hIXy3nCBtLeY6/3v3pWwYRJl+sA= + + optional + + + Resources/da.lproj/Sparkle.strings + + hash + + CkbYzkpwfT37juYfJP25giiTUo4= + + optional + + + Resources/de.lproj/Sparkle.strings + + hash + + /1A+Sg5wG2SW+Q5Q7rGwtU2aVk0= + + optional + + + Resources/el.lproj/Sparkle.strings + + hash + + Hh2GQMfVkK/dapsekwiVZz9cakg= + + optional + + + Resources/es.lproj/Sparkle.strings + + hash + + fucEKrOlh81Wj9EqCtUl6sQVg1k= + + optional + + + Resources/fa.lproj/Sparkle.strings + + hash + + vI1JRqMnuuewEX52rjBZ/TDrrXk= + + optional + + + Resources/fi.lproj/Sparkle.strings + + hash + + +T4u6wvinBvx2z6vcAQKz32lvvE= + + optional + + + Resources/fr.lproj/Sparkle.strings + + hash + + fPB1Vk+1a7xRIMKxQ3/F1bxGirA= + + optional + + + Resources/he.lproj/Sparkle.strings + + hash + + bG2Mhx67XieRw+jRYm1/n2PIGnI= + + optional + + + Resources/hr.lproj/Sparkle.strings + + hash + + S2g3qlSPK1msOuuvB2dU9UoInq4= + + optional + + + Resources/hu.lproj/Sparkle.strings + + hash + + 5CCN2xKgiom6y3+mcWd48RVdX48= + + optional + + + Resources/is.lproj/Sparkle.strings + + hash + + RO7D/40UgCd+DPSZg5LlrOBdmfY= + + optional + + + Resources/it.lproj/Sparkle.strings + + hash + + W/h9EbnuDfXU4nxRzIF7Dv8ckks= + + optional + + + Resources/ja.lproj/Sparkle.strings + + hash + + RYRC4Vmp6utNAtLodS/PTyi4yIM= + + optional + + + Resources/ko.lproj/Sparkle.strings + + hash + + lmXDaCFjaOlD2OSN7WeCYPUkiAc= + + optional + + + Resources/nb.lproj/Sparkle.strings + + hash + + n42iYGYF5rusi8bu9cZKBXVwwXE= + + optional + + + Resources/nl.lproj/Sparkle.strings + + hash + + t++79qkzwHo15l2gbAGPNIoYsJc= + + optional + + + Resources/pl.lproj/Sparkle.strings + + hash + + Z2RTzAW/+3ZV5g9/DyNv+YFZNQE= + + optional + + + Resources/pt-BR.lproj/Sparkle.strings + + hash + + HLX0cX6CzMOMpZ7eff4JZYu+KQY= + + optional + + + Resources/pt-PT.lproj/Sparkle.strings + + hash + + cyq/clJHyLGamebBp/NK6YzPUNM= + + optional + + + Resources/ro.lproj/Sparkle.strings + + hash + + kYCbmI7ssPYVnQQ3uDHF6PgOBjw= + + optional + + + Resources/ru.lproj/Sparkle.strings + + hash + + 3yWhlgxQS7Hhh481yH9qttWea0U= + + optional + + + Resources/sk.lproj/Sparkle.strings + + hash + + 5I5OyTLppz6aT5r3kKOmRcrDfXg= + + optional + + + Resources/sl.lproj/Sparkle.strings + + hash + + 5fscQshoMtSnO4kj3Ts2Nw4xqkc= + + optional + + + Resources/sv.lproj/Sparkle.strings + + hash + + AlR6NnM+kipd4A8PFhs0S0Rccbk= + + optional + + + Resources/th.lproj/Sparkle.strings + + hash + + UrzLYtjSwKdvxlSQJa/xe5IqqVo= + + optional + + + Resources/tr.lproj/Sparkle.strings + + hash + + fKCgCsGuwlJJnukTgKv+0tfNjSg= + + optional + + + Resources/uk.lproj/Sparkle.strings + + hash + + kATRxVYhY1dX+dY1bQ+V+TvmXNk= + + optional + + + Resources/zh_CN.lproj/Sparkle.strings + + hash + + glWpVzkvgcS34yRRkZBCTAEAb2k= + + optional + + + Resources/zh_TW.lproj/Sparkle.strings + + hash + + KuFUtl+HGoAeq8C81zw8HFNkUtA= + + optional + + + + files2 + + Resources/Base.lproj/Sparkle.strings + + hash + + XSU5ujIHVj0VrcaL7/1PMjP8QWE= + + hash2 + + 7DQi4XIdmNDFEuet0a26l/2qsTHrLKlDT4/zp6XA97w= + + + Resources/SUStatus.nib/keyedobjects-101300.nib + + hash + + MMoEZd95HH2wagHtE7tdRXWDz2Y= + + hash2 + + xaemKA5RnHBgTuwB81z6r5d+f2CaMcz74K9Tv+bY4BM= + + + Resources/SUStatus.nib/keyedobjects.nib + + hash + + xfoE8HeFjdDHIe1XsSevLTFTKwU= + + hash2 + + Wy+vzp56doboxWN7PxsAwtIcSnegjwxIp2S+xhElzW4= + + + Resources/ar.lproj/Sparkle.strings + + hash + + 5Ukin0TnIF0ot6Daz8OSgIoDZJ0= + + hash2 + + yx9tkKjj3aOHvgdYCWXM89uhlyVeNb4oqcAenJxibwI= + + optional + + + Resources/ca.lproj/Sparkle.strings + + hash + + SM9Ssbq+EA6SD88oCZx9K6nLvic= + + hash2 + + DQhUnYhSgufw5NRY162lt2GGM83U38tQvNF1qotGYzE= + + optional + + + Resources/cs.lproj/Sparkle.strings + + hash + + hIXy3nCBtLeY6/3v3pWwYRJl+sA= + + hash2 + + yJXcgwDV0GC2yZWVdhf9UQirDu1yLWTaa+x0vVpYkfo= + + optional + + + Resources/da.lproj/Sparkle.strings + + hash + + CkbYzkpwfT37juYfJP25giiTUo4= + + hash2 + + qgYKiHiodd+q/4U1lIEIUSS9PX9ENx0isGUKLSWmKe4= + + optional + + + Resources/de.lproj/Sparkle.strings + + hash + + /1A+Sg5wG2SW+Q5Q7rGwtU2aVk0= + + hash2 + + uxoRq90TmDirUKRbCW1lKy/k1tZvFz4EbxQPhVf+Mhs= + + optional + + + Resources/el.lproj/Sparkle.strings + + hash + + Hh2GQMfVkK/dapsekwiVZz9cakg= + + hash2 + + GvP3asj8JbFMZdNtcFo0MWdmrCB+z6k66kmleaGlmow= + + optional + + + Resources/es.lproj/Sparkle.strings + + hash + + fucEKrOlh81Wj9EqCtUl6sQVg1k= + + hash2 + + RYqWb4D0ylosWigPpdVjMlaCWiXNrRIvzIwwVbXpaSs= + + optional + + + Resources/fa.lproj/Sparkle.strings + + hash + + vI1JRqMnuuewEX52rjBZ/TDrrXk= + + hash2 + + hiHofXML8/Ej+t2dTRuvVL3vkS/6jW6b/wvx/3quM10= + + optional + + + Resources/fi.lproj/Sparkle.strings + + hash + + +T4u6wvinBvx2z6vcAQKz32lvvE= + + hash2 + + a70/+B90B44V8vfbEZUJjfFl7uva424DcaTZOvwCEs8= + + optional + + + Resources/fr.lproj/Sparkle.strings + + hash + + fPB1Vk+1a7xRIMKxQ3/F1bxGirA= + + hash2 + + 47e3tLN5HipnOK5BV6nhmhttV0iZRHEYtGRTh56Pp6M= + + optional + + + Resources/he.lproj/Sparkle.strings + + hash + + bG2Mhx67XieRw+jRYm1/n2PIGnI= + + hash2 + + RYs+L0NAew70ya8KrCKYYJPkdzTVckZY7TLwVay0ubQ= + + optional + + + Resources/hr.lproj/Sparkle.strings + + hash + + S2g3qlSPK1msOuuvB2dU9UoInq4= + + hash2 + + xyEyZ8ezqdbPQQ/b6RSpnULrjnL08GWQ3wd+AasW2KQ= + + optional + + + Resources/hu.lproj/Sparkle.strings + + hash + + 5CCN2xKgiom6y3+mcWd48RVdX48= + + hash2 + + 0UBqgjXjtRG51lEacNaLTmNvj5aFUeJ7oo1J4WYkrCw= + + optional + + + Resources/is.lproj/Sparkle.strings + + hash + + RO7D/40UgCd+DPSZg5LlrOBdmfY= + + hash2 + + n1w40GWVeQM6/1d+krnNoL0XutbF3HNv2qjFaMErsuY= + + optional + + + Resources/it.lproj/Sparkle.strings + + hash + + W/h9EbnuDfXU4nxRzIF7Dv8ckks= + + hash2 + + TgEXGRRCYffwGHAa78wO2btMh/B5TluqOiVpvsy7yYY= + + optional + + + Resources/ja.lproj/Sparkle.strings + + hash + + RYRC4Vmp6utNAtLodS/PTyi4yIM= + + hash2 + + 6b23nyneGkjP1x+wd00PTqF9PPujhu9g0TS4+3cBywo= + + optional + + + Resources/ko.lproj/Sparkle.strings + + hash + + lmXDaCFjaOlD2OSN7WeCYPUkiAc= + + hash2 + + PIYd2jHiJYoXmHfGbXu4sWialdDeBEyHWgMzu8Yd2H8= + + optional + + + Resources/nb.lproj/Sparkle.strings + + hash + + n42iYGYF5rusi8bu9cZKBXVwwXE= + + hash2 + + oVMa0iTjxWVrd4HFHRrUvKxqnk+YFHk2CxOu43+wO2Q= + + optional + + + Resources/nl.lproj/Sparkle.strings + + hash + + t++79qkzwHo15l2gbAGPNIoYsJc= + + hash2 + + 2tCuekmOs0JtuIM7hm/+jt5s4OJGocWANizpTH8a58k= + + optional + + + Resources/pl.lproj/Sparkle.strings + + hash + + Z2RTzAW/+3ZV5g9/DyNv+YFZNQE= + + hash2 + + /qcXx+RijYb31wahT1y3K+QX0NCxCnGFDX9dWzAc56o= + + optional + + + Resources/pt-BR.lproj/Sparkle.strings + + hash + + HLX0cX6CzMOMpZ7eff4JZYu+KQY= + + hash2 + + cExBbBN/cbmRWOsrqKbEBHJOo7FtTr3ZavW9slfCsVc= + + optional + + + Resources/pt-PT.lproj/Sparkle.strings + + hash + + cyq/clJHyLGamebBp/NK6YzPUNM= + + hash2 + + WGgYHgAMqsDwSkDIWMFg5XBJnvRCbvM59I1pqJgmhgM= + + optional + + + Resources/ro.lproj/Sparkle.strings + + hash + + kYCbmI7ssPYVnQQ3uDHF6PgOBjw= + + hash2 + + o6GEyuuMFsBOFOONmS2V2x+bv11kkMT3xHEoelaxJv8= + + optional + + + Resources/ru.lproj/Sparkle.strings + + hash + + 3yWhlgxQS7Hhh481yH9qttWea0U= + + hash2 + + uqN6dwLmCFJJQmbURrhDJv9wDJSGWqRqyqgeKTNUHZ0= + + optional + + + Resources/sk.lproj/Sparkle.strings + + hash + + 5I5OyTLppz6aT5r3kKOmRcrDfXg= + + hash2 + + iZvCvn22+4feRZso6kzggSUbr1p4Z5zyDU7qniyWqE8= + + optional + + + Resources/sl.lproj/Sparkle.strings + + hash + + 5fscQshoMtSnO4kj3Ts2Nw4xqkc= + + hash2 + + eq+yTsmwGRXUHYRVC4w06YmUPnsYuuc4OjUfo7feieE= + + optional + + + Resources/sv.lproj/Sparkle.strings + + hash + + AlR6NnM+kipd4A8PFhs0S0Rccbk= + + hash2 + + ZoKH8cwKHH2VaZEkGsmRKevFaLdLxlAICRnrceNdsuw= + + optional + + + Resources/th.lproj/Sparkle.strings + + hash + + UrzLYtjSwKdvxlSQJa/xe5IqqVo= + + hash2 + + HT9jsdOsSvc+Orcce27NpaRxKmDCzIwkq+/wUGI3JQM= + + optional + + + Resources/tr.lproj/Sparkle.strings + + hash + + fKCgCsGuwlJJnukTgKv+0tfNjSg= + + hash2 + + 756/lMgBfXOE5IDG5Ei94/iIP40obn9ZEROHo01+SRY= + + optional + + + Resources/uk.lproj/Sparkle.strings + + hash + + kATRxVYhY1dX+dY1bQ+V+TvmXNk= + + hash2 + + 90+2Bfu2sI863NKWVBCjCtNi5gbrwPr82sRRfR6DOGM= + + optional + + + Resources/zh_CN.lproj/Sparkle.strings + + hash + + glWpVzkvgcS34yRRkZBCTAEAb2k= + + hash2 + + ri6zQgTn4jhWoV3/2rrfInZs3E9V1wRXWZBILuJatWQ= + + optional + + + Resources/zh_TW.lproj/Sparkle.strings + + hash + + KuFUtl+HGoAeq8C81zw8HFNkUtA= + + hash2 + + BUEu9Z/QsdFq/HA3MMRbc+oPwLYMAZtEhcwIksTmzB0= + + optional + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/Info.plist b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/Info.plist new file mode 100644 index 0000000..01c196e --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/Info.plist @@ -0,0 +1,62 @@ + + + + + BuildMachineOSBuild + 21G83 + CFBundleDevelopmentRegion + en + CFBundleExecutable + Downloader + CFBundleIdentifier + org.sparkle-project.Downloader + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Downloader + CFBundlePackageType + XPC! + CFBundleShortVersionString + 2.2.2 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 2017.1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 13E500a + DTPlatformName + macosx + DTPlatformVersion + 12.3 + DTSDKBuild + 21E226 + DTSDKName + macosx12.3 + DTXcode + 1331 + DTXcodeBuild + 13E500a + LSMinimumSystemVersion + 10.11 + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + NSHumanReadableCopyright + Copyright © 2016 Sparkle Project. All rights reserved. + XPCService + + RunLoopType + NSRunLoop + ServiceType + Application + + + diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader new file mode 100755 index 0000000..36b8003 Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/MacOS/Downloader differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/_CodeSignature/CodeResources b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Downloader.xpc/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/Info.plist b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/Info.plist new file mode 100644 index 0000000..262e39a --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/Info.plist @@ -0,0 +1,57 @@ + + + + + BuildMachineOSBuild + 21G83 + CFBundleDevelopmentRegion + en + CFBundleExecutable + Installer + CFBundleIdentifier + org.sparkle-project.InstallerLauncher + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Installer + CFBundlePackageType + XPC! + CFBundleShortVersionString + 2.2.2 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 2017.1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 13E500a + DTPlatformName + macosx + DTPlatformVersion + 12.3 + DTSDKBuild + 21E226 + DTSDKName + macosx12.3 + DTXcode + 1331 + DTXcodeBuild + 13E500a + LSMinimumSystemVersion + 10.11 + NSHumanReadableCopyright + Copyright © 2016 Sparkle Project. All rights reserved. + XPCService + + JoinExistingSession + + ServiceType + Application + + + diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer new file mode 100755 index 0000000..229e96b Binary files /dev/null and b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/MacOS/Installer differ diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/_CodeSignature/CodeResources b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/XPCServices/Installer.xpc/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/_CodeSignature/CodeResources b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/_CodeSignature/CodeResources new file mode 100644 index 0000000..0a8afa4 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/B/_CodeSignature/CodeResources @@ -0,0 +1,362 @@ + + + + + files + + Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects-101300.nib + + eTYyA5a/zlA7yci7ZeY5RT9rNuA= + + Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects.nib + + dkgNWMAOxwMTpBWbVE3etzMSYmM= + + Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib + + rP8JtvaANGmgYMHZZYqXixYGclg= + + Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib + + GspzsCPMWa1nV05fEmLIp6zro0I= + + Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib + + YQpWexdFK1383SEk52LmXDEPjsU= + + Resources/Base.lproj/Sparkle.strings + + XSU5ujIHVj0VrcaL7/1PMjP8QWE= + + Resources/Info.plist + + wkByDmTl1CDu1Wat8APbKFY2k7Y= + + Resources/ReleaseNotesColorStyle.css + + NjIvb1z7eJuLCKf9HS15O5heg50= + + Resources/SUModelTranslation.plist + + iD2Ex40Usc4ZE6IAhRePqgwK/xw= + + Resources/SUStatus.nib/keyedobjects-101300.nib + + MMoEZd95HH2wagHtE7tdRXWDz2Y= + + Resources/SUStatus.nib/keyedobjects.nib + + xfoE8HeFjdDHIe1XsSevLTFTKwU= + + Resources/en.lproj/SUUpdateAlert.strings + + hash + + FSez7jCd0gDTFFGHiWL1QXY8OUU= + + optional + + + Resources/en.lproj/SUUpdatePermissionPrompt.strings + + hash + + NzxxRDATRj41eOLu03OYPRaKa1k= + + optional + + + + files2 + + Autoupdate + + cdhash + + 1cVxblMg9mybVrTagSwOXDuYN3I= + + requirement + cdhash H"6f464712eeb14571e0ba6dcbe95f27eed5943976" or cdhash H"d5c5716e5320f66c9b56b4da812c0e5c3b983772" or cdhash H"fd30c8f4e668a505372802f267df81a5ea1297b5" or cdhash H"b49420629b500ab885b9421a80585dc9ba4c5035" + + Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects-101300.nib + + hash + + eTYyA5a/zlA7yci7ZeY5RT9rNuA= + + hash2 + + mOFXSM2WOtGWi7TVaZdQgqyAVM5mN2K8y+fec0Aj1GY= + + + Resources/Base.lproj/SUUpdateAlert.nib/keyedobjects.nib + + hash + + dkgNWMAOxwMTpBWbVE3etzMSYmM= + + hash2 + + btn6MFqV511IkuTjLAH517GveaLzqWBZV2wQGckoAfA= + + + Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-101300.nib + + hash + + rP8JtvaANGmgYMHZZYqXixYGclg= + + hash2 + + pL+GKmbdcxP9FeynHxxQn4LiULgbgbtLjeBYQQpBPys= + + + Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects-110000.nib + + hash + + GspzsCPMWa1nV05fEmLIp6zro0I= + + hash2 + + ngBPulWqKTt+DrJFiZicSyfUiNyQq34nvTHBaXDsqCA= + + + Resources/Base.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib + + hash + + YQpWexdFK1383SEk52LmXDEPjsU= + + hash2 + + yt15/UsFQ/oJCLbHXcQZgV2KJ245TUGbNFt0/ZTrc5Q= + + + Resources/Base.lproj/Sparkle.strings + + hash + + XSU5ujIHVj0VrcaL7/1PMjP8QWE= + + hash2 + + 7DQi4XIdmNDFEuet0a26l/2qsTHrLKlDT4/zp6XA97w= + + + Resources/Info.plist + + hash + + wkByDmTl1CDu1Wat8APbKFY2k7Y= + + hash2 + + AbeVxw0aEyknfdN5QCXrmMkEIerxNSWIRFbpcWzyaoE= + + + Resources/ReleaseNotesColorStyle.css + + hash + + NjIvb1z7eJuLCKf9HS15O5heg50= + + hash2 + + dr1pmXWP2OUdF+a0gttDT5tHaMArA3r2vS46AAzoy8E= + + + Resources/SUModelTranslation.plist + + hash + + iD2Ex40Usc4ZE6IAhRePqgwK/xw= + + hash2 + + bxnpRQhROJXTL2xuIeffR3p+hOuuji7eOoDeNqSYqTg= + + + Resources/SUStatus.nib/keyedobjects-101300.nib + + hash + + MMoEZd95HH2wagHtE7tdRXWDz2Y= + + hash2 + + xaemKA5RnHBgTuwB81z6r5d+f2CaMcz74K9Tv+bY4BM= + + + Resources/SUStatus.nib/keyedobjects.nib + + hash + + xfoE8HeFjdDHIe1XsSevLTFTKwU= + + hash2 + + Wy+vzp56doboxWN7PxsAwtIcSnegjwxIp2S+xhElzW4= + + + Resources/en.lproj/SUUpdateAlert.strings + + hash + + FSez7jCd0gDTFFGHiWL1QXY8OUU= + + hash2 + + EBVS8ZfEIJxGSghO17emwoHQo0LVWWzBJMFs8RwvKWg= + + optional + + + Resources/en.lproj/SUUpdatePermissionPrompt.strings + + hash + + NzxxRDATRj41eOLu03OYPRaKa1k= + + hash2 + + dtCxuHMLMU87LdmyOxxclj/bOGkoLz6sOZtmOQ4pjXg= + + optional + + + Updater.app + + cdhash + + +wYRWqTWY2oBwxgLpfqsX1Xk0uw= + + requirement + cdhash H"d2366cad102ade3b3049dd10361e6172d4106ca5" or cdhash H"fb06115aa4d6636a01c3180ba5faac5f55e4d2ec" or cdhash H"b3011c7ffade11b8d2975109a2bdc1d1c8fa8b06" or cdhash H"bd1617f0ef87442324436babd85fdfc3c3b1d5a8" + + XPCServices/Downloader.xpc + + cdhash + + SCyCaauepdVTt66VEhL3bgxa6pk= + + requirement + cdhash H"2908c697c401e0cfb054191f1a95aab688fc0c4f" or cdhash H"482c8269ab9ea5d553b7ae951212f76e0c5aea99" or cdhash H"0a1a98cf7b39a738bd2d6cf09388712a5f7b4dc4" or cdhash H"e70a11fb8dbc7c225cbf2d404d6e96b6c6badf9a" + + XPCServices/Installer.xpc + + cdhash + + pGZRx+BjZQC9fImZZG9qtO1U38M= + + requirement + cdhash H"eb6a16876b88a72efcebbc439660ebb6c949ab04" or cdhash H"a46651c7e0636500bd7c8999646f6ab4ed54dfc3" or cdhash H"c7e44b8390e27dc58de89b1fc1d1fcd704afee1e" or cdhash H"36e11edfd4e431d194f3cee1a29d885e668ae194" + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/Current b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/Current new file mode 120000 index 0000000..7371f47 --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/Versions/Current @@ -0,0 +1 @@ +B \ No newline at end of file diff --git a/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/XPCServices b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/XPCServices new file mode 120000 index 0000000..99c46ea --- /dev/null +++ b/platypus/Platypus.app/Contents/Frameworks/Sparkle.framework/XPCServices @@ -0,0 +1 @@ +Versions/Current/XPCServices \ No newline at end of file diff --git a/platypus/Platypus.app/Contents/Info.plist b/platypus/Platypus.app/Contents/Info.plist new file mode 100644 index 0000000..4ae74d3 Binary files /dev/null and b/platypus/Platypus.app/Contents/Info.plist differ diff --git a/platypus/Platypus.app/Contents/MacOS/Platypus b/platypus/Platypus.app/Contents/MacOS/Platypus new file mode 100755 index 0000000..d2c39a6 Binary files /dev/null and b/platypus/Platypus.app/Contents/MacOS/Platypus differ diff --git a/platypus/Platypus.app/Contents/Resources/Credits.rtf b/platypus/Platypus.app/Contents/Resources/Credits.rtf new file mode 100644 index 0000000..33503ea --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Credits.rtf @@ -0,0 +1,15 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf400 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0 +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 + +\f0\fs24 \cf0 Created by {\field{\*\fldinst{HYPERLINK "mailto:sveinbjorn@sveinbjorn.org"}}{\fldrslt Sveinbjorn Thordarson}}\ +\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc\partightenfactor0 +{\field{\*\fldinst{HYPERLINK "https://sveinbjorn.org/platypus"}}{\fldrslt \cf0 https://sveinbjorn.org/platypus}}\ +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\qc\partightenfactor0 +\cf0 \ +Platypus is free, open-source software and has been continually maintained and developed for a very long time. If you find this program useful, please +{\field{\*\fldinst{HYPERLINK "https://sveinbjorn.org/donations"}}{\fldrslt make a donation}} to support further development.} diff --git a/platypus/Platypus.app/Contents/Resources/DefaultStatusMenuIcon.png b/platypus/Platypus.app/Contents/Resources/DefaultStatusMenuIcon.png new file mode 100644 index 0000000..8ce93e1 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/DefaultStatusMenuIcon.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Documentation.html b/platypus/Platypus.app/Contents/Resources/Documentation.html new file mode 100644 index 0000000..afcef41 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Documentation.html @@ -0,0 +1,664 @@ + + + + + + + + + + + + + + +
+

+

Documentation for Platypus 5.4.1

+

Last updated on September 3rd, 2022. The latest version of this document can be found here.

+

Introduction

+

What is Platypus?

+

Platypus is a developer tool that creates native macOS application wrappers around scripts. Scripts are thus transformed into regular applications that can be launched from the window environment – e.g. the Finder or the Dock – without requiring use of the command line interface.

+

Platypus was first released in 2003 and has since gone through many significant updates. It is written in Objective-C/Cocoa and is free, open-source software distributed under a BSD license.

+
+ + + +
+ +

While Platypus is free, it is the product of countless hours of work over the last twenty years or so. If Platypus makes your life easier, please make a donation to support continued development.

+

I am happy to respond to feature requests, bug reports and questions concerning Platypus which are not addressed in this document, but I cannot answer queries about the particulars of individual scripting languages. Productive use of Platypus assumes that you are competent in your language of choice and understand the UNIX shell environment.

+

How does Platypus work?

+

Regular macOS applications are bundles – special folders with a particular directory structure and a .app suffix. An executable binary is stored in the bundle along with resources and configuration files. This binary is run when the application bundle is launched in the graphical user interface.

+

Platypus creates application bundles with a special executable binary that runs a script and captures its output. The binary can be configured to present the script's text output in various ways, for example by showing a progress bar, a text view, a Status Item menu or a WebKit-based web view.

+

What Platypus is NOT

+

Platypus is not a set of bindings between the native macOS APIs and scripting languages. It is not a full GUI development environment and is not intended for creating substantial applications with complex and dynamic user interaction. If you want to create advanced macOS applications, you should learn to program using the Cocoa APIs. Platypus is not and never will be a substitute for learning to use the native application programming interfaces.

+

That being said, you may be able to add some interactive GUI elements using CocoaDialog, +Pashua or AppleScript.

+

System Requirements

+

Both Platypus and the applications it generates require macOS 10.11 or later and are provided as 64-bit ARM/Intel binaries. If you want to target macOS 10.8-10.10, use version 5.3. +If you want to target 10.6 and/or 32-bit Intel systems, +version 4.9 continues to work just fine.

+

Credits

+

Platypus was created by me, Sveinbjorn Thordarson.

+

Thanks go to Seth Willits, author of the AGIconFamily class used for icon handling in Platypus, Bryan D K Jones, author of VDKQueue, Gianni Ceccarelli for contributing code on authenticated script execution, Matt Gallagher for secure temp file code, James S. Derry and Paul Kim for improvements to the built-in editor, and Andy Matuschak for the Sparkle software update framework.

+

Finally, I am much indebted to Wilfredo Sanchez, author of DropScript, the proof-of-concept project which inspired me to create Platypus in the first place.

+

The Basics

+

Basic Interface

+

The basic Platypus interface is relatively straightforward. As soon as you launch the Platypus application, you see a window that looks like this:

+

Platypus window

+

App Name

+

The name of your application.

+

Script Path

+

Path to the script you want to create an app from. Either use the Select button to select a script, or drag a script file on the Platypus window. You can also type in a path manually (the text field supports supports shell-style tab autocompletion).

+

Platypus Script Path

+

Once you have selected a script, you can press the Edit button to open it in your default text editor. Platypus defaults to using a very basic built-in text editor. You can change this in the Preferences if you want to use a more capable external editor.

+

The New button creates a script file in the Platypus Application Support folder and opens it in the default editor. The Reveal button reveals the script file in the Finder.

+

Interpreter

+

+

Use Script Type to specify an interpreter for your script. Either select one of the predefined scripting languages from the the pop-up menu or type in the path to an interpreter binary.

+

Most of the time, you do not need to specify this manually. Whenever you open a script file, Platypus automatically tries to determine its type based on the file suffix and shebang line (#!). If you have specified this meta-data in the script file itself, Platypus is usually smart enough to figure it out.

+

Please note that the interpreter must exist on the system where the application is run. All the preset scripting language interpreters (except Node.js) are a standard part of all macOS installations.

+

Args let you add arguments to the script and/or its interpreter.

+

+

Interface

+

+

Interface sets the user interface for the application. Platypus offers six different interface types:

+

None

+

Windowless application that provides no graphical feedback. All script output is redirected to stderr.

+

Progress Bar

+

A small window with an indeterminate progress bar and a "Cancel" button appears during the execution of the script. Script output is fed line by line into the text field above the progress bar. The "Show details" button reveals a small text view containing full script output.

+

+

Text Window

+

Shows a window with a text view containing script output. Please note that this text view is not a full, interactive terminal session, and cannot be used to prompt for user input via stdin. It does not support any of the standard terminal commands and cannot be used to display ncurses-based interfaces.

+

The styling of the text view can configured under Text Settings.

+

+

Web View

+

Output from the script is rendered as HTML in a WebView window. This allows you to use HTML formatting and other web technologies to present script output to the user.

+

The base directory for the browser instance is the application bundle's Resources directory, so you can include images and other support files by adding them to the Bundled Files list and referencing them relative to the directory.

+

+

Status Menu

+

Creates a Status Item in the menu bar when the app is launched. Every time the status item is clicked, the script is executed and its text output shown line for line in a menu. If a menu item is selected, the script is executed again with the title of the selected item passed as an argument to the script.

+

The properties of the Status Item (icon, title, etc.) can be configured under Status Item Settings button.

+

+

Droplet

+

Creates a square window instructing the user to drop files on it for processing. While processing, script output is displayed line for line along with an indeterminate circular progress indicator.

+

+

Setting the Icon

+

+

Platypus lets you set an icon for your application. You can pick from the icon presets, paste your own image or select an image or icns file.

+

Please note that having Platypus create the icon from an ordinary image file will typically not result in an icon that looks good at smaller sizes. For best results, use professional icon-editing software and import a carefully crafted .icns file using the Select .icns file option.

+

Identifier, Author and Version

+

The Identifier text field specifies the unique identifier for the application. If you have already set an application name, this will default to something in the form of "org.yourusername.YourAppName".

+

Every macOS application has a unique string called a bundle identifier, which takes the form of a reverse DNS name (e.g. "com.apple.iTunes" or "org.sveinbjorn.Platypus"). Platypus automatically formats the bundle identifier using the application name and default user name, but you can set it to whatever you want. The default bundle identifier prefix can be configured in Preferences.

+

+

You can also set Author and Version metadata. This information will appear in the Finder "Get Info" window for your application and in the About window accessible through the application menu.

+

Special Options

+

+

Run with root privileges: If selected, the application prompts for an Administrator password and executes the script with escalated (root) privileges using Apple's Security Framework. This is not strictly equivalent to running the script as the root user. For details, see the documentation for the macOS Security Framework.

+

Please note that for some reason or other, the macOS bash shell at /bin/bash cannot run with root privileges.

+

Platypus scripts must not use the 'sudo' command. This causes the script to prompt for input via stdin, and since no input is forthcoming, the application will hang indefinitely.

+

Please note that if this option is selected, stderr output cannot be captured due to limitations in the Security APIs. This can be circumvented by using a shell script to execute another script while piping stderr into stdout (e.g. python script.py 2>&1).

+

Runs in background: If selected, the application is registered with Launch Services as a User Interface Element (LSUIElement) and will not show a menu bar or appear in the Dock when launched.

+

Remain running after completion: This option tells the application to remain open after the script has executed.

+

Bundled Files

+

Bundled Files contains files that should be copied into the Resources folder of the application bundle. These files can then be used by your script, which is run from the same directory.

+

+

See also How do I get the path to my application / bundled files within the script? in the FAQ.

+

Advanced Options

+

Accepting files and dragged items

+

Checking Accept dropped items makes the application bundle accept dragged and dropped files, or dragged text snippets. You can specify which file types and draggable data the application should accept under Drop Settings.

+

+

Accept Dropped Files means the paths of dropped or opened files are passed to the script as arguments. You can specify which file types to accept either using UTIs (recommended) or filename suffixes.

+

To accept dragged folders, add the UTI public.folder. HINT: You can drag files from the Finder into the suffix or UTI list to add their respective suffix/UTI.

+

Optionally, select a document icon (.icns file) for the files "owned" by your app.

+

Selecting Accept Dropped Text makes the app accept dragged snippets of text. The text string is passed to the script via stdin.

+

Provide macOS Service makes the app register as a text-processing Dynamic Service, accessible from the Services submenu of application menus. You also need to enable this if you want your app to accept text snippets or URLs dropped on its Dock/Finder icon.

+

Register as URI scheme handler makes the app register as a handler for URI schemes. These can be either standard URI schemes such as http or custom URI schemes of your choice (e.g. myscheme://). If your app is the default handler for a URI scheme, it will launch every time a URL matching the scheme is opened. The URL is then passed to the script as an argument.

+

Build-Time Options

+

Platypus allows you to create development versions of your script application. Ordinarily, the script and any bundled files are copied into the resulting application. If Development Version is selected in the Create app dialog, a symlink to the original script and bundled files is created instead. This allows you to edit your script file while simultaneously testing it as a Platypus app.

+

+

Optimize Application: Strip and compile the nib file in the application in order to reduce its size. This makes the nib uneditable. Only works if Xcode is installed.

+

Built-In Editor

+

Platypus includes a very basic built-in text editor for editing scripts. Press the Edit button to bring it up.

+

+

A more capable external editor can be set in Preferences.

+

Syntax Checking

+

The Check Script Syntax menu verifies the syntax of the script by running it through the interpreter's syntax checker.

+

This feature only works for interpreters that support syntax checking (bash, Perl, Python, Ruby, PHP and Swift).

+

+

Show Shell Command

+

Platypus includes a command line tool counterpart to the Platypus.app application, platypus, which can be installed into /usr/local/bin/ via Preferences. The man page for this tool is available from the Help menu, and via the command line. There is also an online version available.

+

The command line tool does not in any way depend on the Platypus application once it has been installed.

+

+

Show Shell Command in the Action menu displays the command required to execute the platypus command line tool using all the options selected in the graphical interface. This can be helpful if you have the command line tool installed and want to automate the creation of script apps within a larger build process.

+

Preferences

+

The Platypus Preferences should be pretty self-explanatory. You can select an editor of choice, set the default author and bundle identifier settings, set the behaviour of Platypus on app creation, and install/uninstall the platypus command line tool.

+

+

Profiles

+

Saving and Loading

+

Profiles let you save Platypus application configuration settings. These can then be loaded by Platypus or the platypus command line tool. The Profiles menu is used to save and access profiles. Profiles are stored as files, typically in the Profiles folder of the Platypus Application Support folder (~/Library/Application Support/Platypus/Profiles).

+

You can load a profile by selecting it from the menu, which lists all profiles in the Profiles folder. To reveal a profile in the Finder, hold down the Command key and select the profile. Profiles have a .platypus filename suffix.

+

+

Using Profiles with the Command Line Tool

+

Profiles can be used with the platypus command line tool. This allows you to set all the settings for your application within the graphical user interface, save them as a profile and then load the settings with the command line app. This makes automation more convenient. The following command would load a profile with the command line tool and create an app from it named MyApp.app:

+
/usr/local/bin/platypus -P myProfile.platypus MyApp.app
+

See the command line tool man page for further details. An HTML version of the man page is available here.

+

Platypus Profile Format

+

Platypus Profiles are standard macOS property lists in XML format. They can be edited using either a plain text editor or Xcode.

+

As of version 5.2, Platypus understands and resolves relative paths in Profiles. However, neither the Platypus app nor the command line tool generate relative paths, so if you want to use them in a Profile, you will have to edit it manually.

+

Controlling the GUI with script output

+

Showing an Alert

+

Platypus application wrappers can be made to show an alert if your script prints out a line using the following syntax:

+
ALERT:Title|Text\n
+

Thus, to show an alert with the title "Hello" and the informative text "World", you would do as follows:

+
ALERT:Hello|World\n
+

Showing a Notification

+

Platypus application wrappers can be made to show a notification in the User Notification Center if your script prints out a line using the following syntax:

+
NOTIFICATION:My title|My text\n
+

Controlling the Progress Bar

+

Script apps with the interface type Progress Bar can communicate with the progress bar by notifying it of script progress. All lines of script output in the format "PROGRESS:\d+\n" (e.g. PROGRESS:75) are parsed and used to set the completion percentage of the progress bar. Similarly, DETAILS:SHOW and DETAILS:HIDE can be used to change the visibility of the Details text field during the execution of the script.

+

Terminating Application

+

If your script prints the string "QUITAPP\n" to STDOUT, the application will quit.

+

Clearing Output

+

If your script prints the string "REFRESH\n" to STDOUT, the text output buffer will be cleared. This can, for example, be used to clear a Web View in preparation for new HTML output.

+

Loading a Website into a Web View

+

If interface type was set to Web View and your script prints "LOCATION:http://some.url.com\n", the Web View will load the URL in question.

+

User interaction with CocoaDialog

+

Platypus apps may be able to use CocoaDialog to construct scripts that prompt for user input with dialogs. As of writing, the CocoaDialog project seems to be dead and so the following instructions may be obsolete:

+ +

The following script shows how to query for input using the bundled copy of CocoaDialog:

+
#!/bin/bash
+
+CD="CocoaDialog.app/Contents/MacOS/CocoaDialog"
+
+rv=`$CD yesno-msgbox --string-output`
+$CD ok-msgbox --no-cancel --text "You pressed $rv"
+

This application will present the user with an alert and several buttons. When the user presses one of the buttons, a feedback dialog is generated notifying the user which button he pressed. While this particular script accomplishes nothing, it serves as a basic example of how to add interactive elements to the script.

+

Creating a Status Menu app

+

+

Platypus-generated apps with Interface set to Status Menu show a Status Item in the menu bar when launched. When the item is pressed, a menu is opened, the script is executed and each line of output is shown as a menu item in the menu.

+

When the user selects a menu item, the script is executed again, but this time it receives the menu title as an argument. Based on whether it receives an argument, the script can thus determine whether it is being invoked to list the menu items or in order to perform some action for a selected menu item.

+

If this seems unclear, check out the following script, which is part of the MacbethMenu Example:

+
#!/usr/bin/perl
+
+# If 0 arguments, we show menu
+if (!scalar(@ARGV)) {
+    print "Life's but a walking shadow, a poor player\n";
+    print "That struts and frets his hour upon the stage\n";
+    print "And then is heard no more.\n";
+} else {
+    # We get the menu title as an argument
+    system("/usr/bin/say \"$ARGV[0]\"");
+}
+

This script creates a Status Menu app which shows a few lines from Shakespeare's Macbeth as menu items. When selected, the title of the menu item in question is fed into the macOS speech synthesizer via /usr/bin/say.

+

Set icon for menu item

+
MENUITEMICON|my_bundled_file.png|Bundled file example\n
+MENUITEMICON|/path/to/icon.png|Absolute path example\n
+MENUITEMICON|https://sveinbjorn.org/images/andlat.png|Remote URL example\n
+

Creating a menu separator

+
----\n
+

Creating a submenu named "Title" with three menu items:

+
SUBMENU|Title|Item1|Item2|Item3\n
+

Showing a disabled menu item:

+
DISABLED|Name of item\n
+

Changing status item title and icon dynamically

+

Title:

+
STATUSTITLE|Title\n
+

Icon:

+
STATUSICON|bundled image filename or absolute path or URL\n
+

Prompting for input via osascript/AppleScript

+

Scripts can also prompt for input by running AppleScript code via the /usr/bin/osascript program. See an example in Perl below:

+
#!/usr/bin/perl
+
+use strict;
+
+sub osascript($) { system 'osascript', map { ('-e', $_) } split(/\n/, $_[0]); }
+
+sub dialog {
+    my ($text, $default) = @_;
+    osascript(qq{
+    tell app "System Events"
+    text returned of (display dialog "$text" default answer "$default" buttons {"OK"} default button 1 with title "Riddle")
+    end tell
+    });
+}
+
+my $result = dialog("Answer to life, the universe and everything?", "42");
+

Source.

+

Examples

+

Built-In Examples

+

Platypus includes many built-in examples. These can be opened via the Examples submenu of the Profiles menu. Brief explanation of each of the examples:

+ +

If you come up with a particularly nifty use of Platypus and think it might make a suitable addition to this list, by all means let me know.

+

Updates

+

Updating Platypus

+

Platypus uses Sparkle for updates. You can update to the latest version by selecting Check for updates... in the application menu. Future releases may or may not break your saved profiles. Consult the version change log for details.

+

The AppCast XML file is available here.

+

To get the absolutely latest development version of Platypus, you can check out the source repository on GitHub.

+

Frequently Asked Questions

+

Can I use Platypus to create proprietary software?

+

Yes. Platypus is distributed under the terms and conditions of the three-clause BSD License.

+

Help, text output isn't being shown until the script is done!

+

You need to autoflush the output buffer. In Python, you can pass the -u parameter to the interpreter to get unbuffered output, or alternately flush the output buffer in code:

+
import sys
+sys.stdout.flush()
+

In Perl, this is done with the following command at the start of your script:

+
$| = 1;
+

For help with other scripting languages, Stack Overflow is your friend.

+

Does Platypus support localizations?

+

No. But if you uncheck "Optimize nib file" in the save dialog when creating an app, the resulting nib in the application bundle can be edited using Xcode. You can thus localize your app manually if you want to. Support for localization is not on the feature roadmap.

+

How does my script access the user's shell environment (e.g. PATH)?

+

Assuming that you're using bash, you can set the interpreter to /bin/bash and add the -l flag as an argument under "Args". This makes bash act as if it had been invoked as a login shell. See man bash for details.

+

Another alternative is to manually load the user's shell configuration file in your script:

+
source ~/.bashrc
+

For other shells, consult their respective documentation.

+

How can I pass specific arguments to my script?

+

You can edit arguments to both the script interpreter and the script itself by pressing the Args button next to the Interpreter controls.

+

How do I uninstall Platypus?

+

Platypus only uses about 9 MB of disk space, but if you want to remove it entirely, along with support files, profiles, etc., you can select Uninstall Platypus from the Platypus application menu. This will uninstall the command line tool (if previously installed), and move Platypus.app and all its supporting files – including saved Profiles – to the Trash.

+

How do I get the source code to Platypus and Platypus-generated app binaries?

+

The Platypus source code repository can be found on GitHub.

+

The source code to the binary used in Platypus-generated apps is SEController.m.

+

Please let me know if you make any improvements or fix any bugs, so I can incorporate them into the official release.

+

How do I get the path to my application and/or bundled files from within the script?

+

The script executed by Platypus-generated applications runs from the Resources directory of the application bundle (e.g. MyApp.app/Contents/Resources). Any bundled files are thus accessible from the script's current working directory.

+

For example, if you have added file.txt as a bundled file and want to copy it over to the user's home directory using a shell script, you would run the following command:

+
cp file.txt ~/
+

To get the path to the application bundle itself, or its containing directory, you can use ../.. (application bundle) or ../../.. (application bundle's containing directory).

+

How do Platypus-generated applications work?

+

Platypus-generated applications are macOS application (.app) bundles#OS_X_application_bundles), and have the following directory structure:

+
MyApp.app/                                      Application bundle folder
+MyApp.app/Contents
+MyApp.app/Contents/Info.plist                   Info property list for app
+MyApp.app/Contents/MacOS
+MyApp.app/Contents/MacOS/MyApp                  Application binary
+MyApp.app/Contents/Resources                    Resources folder
+MyApp.app/Contents/Resources/AppIcon.icns       Application icon
+MyApp.app/Contents/Resources/AppSettings.plist  Application settings
+MyApp.app/Contents/Resources/MainMenu.nib       Nib file, stores interface layout
+MyApp.app/Contents/Resources/script             Script executed by application binary
+

The application binary reads settings from AppSettings.plist and then runs the script, making use of the user interface assets in the nib file to display the script's output.

+

The source code to the binary is here. Skimming it should give you a fairly thorough understanding of what the executable does. It's relatively straightforward.

+

Can I change the dimensions of my app's window?

+

Yes, but only by altering the application manually after it has been created. When you press Create, you need to uncheck the "Optimize Application (strip nib file)" option in the dialog. You can then edit the user interface assets in the nib file using Xcode. The nib file is stored at the following path within your application bundle.

+
Contents/Resources/MainMenu.nib
+

If you want to keep your own modified nib for repeated use, you can simply save a copy, edit it and add it to Bundled Files when you create an app. It will then overwrite the default MainMenu.nib file:

+

The Platypus command line tool also allows you to specify an alternate nib file using the -H flag. See the man page for details.

+

Can I prompt for user input via stdin in my Platypus-wrapped scripts?

+

No. Platypus applications do not present the user with an interactive shell, and therefore no bidirectional communication can take place using standard input. Platypus apps can only capture and display the text output of your script. They cannot prompt for input via stdin, and will not be able to do so in the foreseeable future. This means that any commands that require input via stdin, such as sudo, or Python's input() will not work from within a Platypus application.

+

Is there a way to sign Platypus-generated apps so they don't require GateKeeper approval?

+

Platypus-generated apps are not signed by default. Due to GateKeeper, this means they will not run on macOS without prompting the user for approval.

+

Platypus apps, like any other apps, can signed using the following command:

+
/usr/bin/codesign -s "your-signing-identity" path/to/MyApp.app
+

See Apple's Code Signing Guide for details.

+

Can I pass arguments to a Platypus-generated app via the command line?

+

Yes. You can execute a Platypus-generated binary via the command line. Any arguments you provide will be passed on to your script. Take the following example:

+
# ./MyApp.app/Contents/MacOS/MyApp -arg1 -arg2
+

In this case, both -arg1 and -arg2 will be passed on as arguments to your script. This feature makes it possible to create protocol handlers for Firefox and other programs that invoke macOS application binaries from the shell.

+

Where is the command line tool installed?

+

The Platypus command line tool install script creates the following files on your system:

+
/usr/local/bin/platypus                         Program binary
+/usr/local/share/platypus/ScriptExec            Executable binary
+/usr/local/share/platypus/MainMenu.nib          Nib file for app
+/usr/local/share/platypus/PlatypusDefault.icns  Default icon
+/usr/local/share/man/man1/platypus.1            Man page
+

These files are all removed by Uninstall Platypus in the Platypus application menu.

+

Can I customize the About window of a Platypus-generated app?

+

If you add a file named Credits.rtf or Credits.html to the bundled files list, it will appear in the About window of your application.

+
+

Copyright © 2003-2022 Sveinbjorn Thordarson

+
+
+ + \ No newline at end of file diff --git a/platypus/Platypus.app/Contents/Resources/Editor.nib/keyedobjects-101300.nib b/platypus/Platypus.app/Contents/Resources/Editor.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..ea37ec2 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Editor.nib/keyedobjects-101300.nib differ diff --git a/platypus/Platypus.app/Contents/Resources/Editor.nib/keyedobjects.nib b/platypus/Platypus.app/Contents/Resources/Editor.nib/keyedobjects.nib new file mode 100644 index 0000000..2726214 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Editor.nib/keyedobjects.nib differ diff --git a/platypus/Platypus.app/Contents/Resources/Examples/AdminPrivilegesDemo.platypus b/platypus/Platypus.app/Contents/Resources/Examples/AdminPrivilegesDemo.platypus new file mode 100644 index 0000000..71c0c35 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/AdminPrivilegesDemo.platypus @@ -0,0 +1,88 @@ + + + + + AcceptsFiles + + AcceptsText + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + DeclareService + + Overwrite + + DevelopmentVersion + + Example + + ScriptName + AdminPrivilegesDemo.sh + Script + #!/bin/sh +echo "This demo shows execution using admin privileges by creating a file in /etc/" +echo "Running command /usr/bin/touch /etc/admin_priv_demo_testfile" +/usr/bin/touch /etc/admin_priv_demo_testfile +echo "Return code: $?" +echo "Running command /bin/test -e touch /etc/admin_priv_demo_testfile" +/bin/test -e /etc/admin_priv_demo_testfile +echo "Return code: $?" + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.AdminPrivilegesDemo + InterfaceType + Text Window + InterpreterArgs + + InterpreterPath + /bin/sh + Name + AdminPrivilegesDemo + OptimizeApplication + + PromptForFileOnLaunch + + RemainRunning + + ScriptArgs + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemIconIsTemplate + + StatusItemTitle + MyPlatypusApp + StatusItemUseSystemFont + + Suffixes + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 13 + UniformTypes + + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/AlertMe.platypus b/platypus/Platypus.app/Contents/Resources/Examples/AlertMe.platypus new file mode 100644 index 0000000..e97c427 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/AlertMe.platypus @@ -0,0 +1,95 @@ + + + + + AcceptsFiles + + AcceptsText + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + DeclareService + + Overwrite + + DevelopmentVersion + + Example + + ScriptName + AlertMe.sh + Script + #!/bin/sh +echo "PROGRESS:20%" +sleep 1 +echo "About to show alert" +echo "PROGRESS:50%" +sleep 2 +echo "Almost there..." +echo "ALERT:This is an alert|Here you can put your test" +sleep 1 +echo "PROGRESS:75%" +sleep 1 +echo "PROGRESS:100%" +sleep 2 +echo "ALERT:Example Over|We're all done here." +echo "Task completed" + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.AlertMe + InterpreterPath + /bin/sh + InterpreterArgs + + InterfaceType + Progress Bar + Name + AlertMe + OptimizeApplication + + PromptForFileOnLaunch + + RemainRunning + + ScriptArgs + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemIconIsTemplate + + StatusItemTitle + MyPlatypusApp + StatusItemUseSystemFont + + Suffixes + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 13 + UniformTypes + + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/DataURLifier.platypus b/platypus/Platypus.app/Contents/Resources/Examples/DataURLifier.platypus new file mode 100644 index 0000000..cef602e --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/DataURLifier.platypus @@ -0,0 +1,95 @@ + + + + + AcceptsFiles + + AcceptsText + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + DeclareService + + Overwrite + + DevelopmentVersion + + Example + + ScriptName + DataURLifier.sh + Script + #!/bin/sh + +if [ ! -e "$1" ] + then + echo "Drop a file to see its Data URL" + exit +fi +# Data urls have the form data:MIME_TYPE;base64,DATA +FILE_PATH="$1" +BASE64_DATA=$( base64 "$FILE_PATH" ) +MIME_TYPE=$( file -b --mime-type "$FILE_PATH" ) +echo "data:$MIME_TYPE;base64,$BASE64_DATA" + + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.DataURLifier + InterpreterPath + /bin/sh + InterpreterArgs + + InterfaceType + Text Window + Name + DataURLifier + OptimizeApplication + + PromptForFileOnLaunch + + RemainRunning + + ScriptArgs + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemIconIsTemplate + + StatusItemTitle + MyPlatypusApp + StatusItemUseSystemFont + + Suffixes + + * + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 13 + UniformTypes + + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/FastDMGMounter.platypus b/platypus/Platypus.app/Contents/Resources/Examples/FastDMGMounter.platypus new file mode 100644 index 0000000..9a354ff --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/FastDMGMounter.platypus @@ -0,0 +1,82 @@ + + + + + AcceptsText + + AcceptsFiles + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + DocIconPath + /System/Library/CoreServices/DiskImageMounter.app/Contents/Resources/diskcopy-doc.icns + Creator + Platypus-5.4.1 + Overwrite + + DevelopmentVersion + + Example + + ScriptName + FastDMGMounter.sh + Script + #!/bin/sh -f +# This is the script for FastDMGMounter +# Create this as a droppable Platypus app +# and use it for fast .dmg mounting and +# autoacceptance of the EULA + +echo "Y" | /usr/bin/hdid "$1" + +# See http://www.tuaw.com/2011/12/30/daily-mac-app-flashmount-quickly-mounts-disk-images/ + + + Droppable + + IconPath + + Identifier + org.sveinbjorn.FastDMGMounter + InterpreterPath + /bin/bash + Name + FastDMGMounter + OptimizeApplication + + InterfaceType + None + InterpreterArgs + + -f + + RemainRunning + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemTitle + MyPlatypusApp + Suffixes + + dmg + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 10 + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/IcnsToIconset.platypus b/platypus/Platypus.app/Contents/Resources/Examples/IcnsToIconset.platypus new file mode 100644 index 0000000..4d93a2f --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/IcnsToIconset.platypus @@ -0,0 +1,94 @@ + + + + + AcceptsFiles + + AcceptsText + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + DeclareService + + Overwrite + + DevelopmentVersion + + Example + + ScriptName + IcnsToIconset.sh + Script + #!/bin/sh +# Convert Apple .icns icon files to iconset folder +# containing PNG images for each representation +for var in "$@" +do + echo "Converting $var to iconset" + iconutil --convert iconset "$var" +done + +# Open containing folder +DIR=$(dirname $1) +open "$DIR" + + + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.IcnsToIconset + InterpreterPath + /bin/sh + InterpreterArgs + + Name + IcnsToIconset + OptimizeApplication + + InterfaceType + Progress Bar + PromptForFileOnLaunch + + RemainRunning + + ScriptArgs + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemTitle + MyPlatypusApp + StatusItemUseSystemFont + + Suffixes + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 12 + UniformTypes + + com.apple.icns + + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/ImageResizer.platypus b/platypus/Platypus.app/Contents/Resources/Examples/ImageResizer.platypus new file mode 100644 index 0000000..4476bb4 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/ImageResizer.platypus @@ -0,0 +1,95 @@ + + + + + AcceptsFiles + + AcceptsText + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + DeclareService + + Overwrite + + DevelopmentVersion + + Example + + ScriptName + ImageResizer.sh + Script + #!/bin/sh +# Use Apple's Scriptable Image Processing System (sips) +# to resize dropped images to dimensions 512x512 +for var in "$@" +do + echo "Resizing $var" + basename=$(echo "$var" | cut -f 1 -d '.') + sips -z 512 512 "$var" --out "$basename-512x512.png" &> /dev/null +done + +if [ ! $# -eq "0" ]; then + echo "Done processing $# images" +else + echo "Drop images on this window to resize them to 512x512" +fi + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.ImageResizer + InterpreterPath + /bin/sh + InterpreterArgs + + Name + ImageResizer + OptimizeApplication + + InterfaceType + Text Window + PromptForFileOnLaunch + + RemainRunning + + ScriptArgs + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemTitle + MyPlatypusApp + StatusItemUseSystemFont + + Suffixes + + TextBackground + #ffffff + TextFont + San Francisco + TextForeground + #000000 + TextSize + 13 + UniformTypes + + public.image + + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/MacbethMenu.platypus b/platypus/Platypus.app/Contents/Resources/Examples/MacbethMenu.platypus new file mode 100644 index 0000000..fd4536b --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/MacbethMenu.platypus @@ -0,0 +1,76 @@ + + + + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + Overwrite + + DevelopmentVersion + + Example + + ScriptName + MacbethMenu.pl + Script + #!/usr/bin/perl + +# If 0 arguments, we show menu +if (!scalar(@ARGV)) { + print "Life's but a walking shadow, a poor player\n"; + print "That struts and frets his hour upon the stage\n"; + print "And then is heard no more.\n"; +} else { + # We get the menu title as an argument + # and feed it to the Mac OS X voice synthesizer + system("/usr/bin/say \"$ARGV[0]\""); +} + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.MacbethMenu + InterpreterPath + /usr/bin/perl + Name + MacbethMenu + OptimizeApplication + + InterfaceType + Status Menu + InterpretarArgs + + RemainRunning + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemTitle + Macbeth + Suffixes + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 10 + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/PostToNotificationCenter.platypus b/platypus/Platypus.app/Contents/Resources/Examples/PostToNotificationCenter.platypus new file mode 100644 index 0000000..7b97e44 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/PostToNotificationCenter.platypus @@ -0,0 +1,72 @@ + + + + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + Overwrite + + DevelopmentVersion + + Example + + ScriptName + PostToNotificationCenter.sh + Script + #!/bin/sh +# The Platypus wrapper parses NOTIFICATION:* and sends on to Notification Center +echo "NOTIFICATION:Hello, world!|How are you today?" +sleep 2 +echo "NOTIFICATION:Hello, again!|Doing better?" +sleep 2 + + Droppable + + SendNotifications + + IconPath + + Identifier + org.sveinbjorn.PostToNotificationCenter + InterpreterPath + /bin/sh + Name + PostToNotificationCenter + OptimizeApplication + + InterfaceType + None + InterpreterArgs + + RemainRunning + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemTitle + MyApp + Suffixes + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 10 + Version + 1.0 + DocIconPath + + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/ProcessMenu.platypus b/platypus/Platypus.app/Contents/Resources/Examples/ProcessMenu.platypus new file mode 100644 index 0000000..4a43c9c --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/ProcessMenu.platypus @@ -0,0 +1,69 @@ + + + + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + Overwrite + + DevelopmentVersion + + Example + + ScriptName + ProcessMenu.sh + Script + #!/bin/sh + +# terse process listing +ps cax + + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.ProcessMenu + InterpreterPath + /bin/sh + Name + ProcessMenu + OptimizeApplication + + InterfaceType + Status Menu + InterpreterArgs + + RemainRunning + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemTitle + PS + Suffixes + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 10 + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/ProgressBar.platypus b/platypus/Platypus.app/Contents/Resources/Examples/ProgressBar.platypus new file mode 100644 index 0000000..7f5e308 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/ProgressBar.platypus @@ -0,0 +1,97 @@ + + + + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + Overwrite + + DevelopmentVersion + + Example + + ScriptName + ProgressBar.sh + Script + #!/bin/sh + +/usr/bin/say "This example shows you can control the progress bar." +echo "PROGRESS:0" +echo "Doing something" +sleep 1 +echo "PROGRESS:10" +sleep 1 +echo "PROGRESS:20" +sleep 1 +echo "Showing Details" +echo "DETAILS:SHOW" +sleep 1 +echo "PROGRESS:30" +sleep 1 +echo "Hiding Details" +sleep 1 +echo "DETAILS:HIDE" +sleep 1 +echo "Doing something else" +echo "PROGRESS:40" +sleep 1 +echo "PROGRESS:50" +sleep 1 +echo "PROGRESS:60" +sleep 1 +echo "And now for something completely different" +echo "PROGRESS:70" +sleep 1 +echo "Quitting application in 2 seconds" +sleep 2 +echo "QUITAPP" +echo "PROGRESS:80" +sleep 1 +echo "PROGRESS:90" +sleep 1 +echo "PROGRESS:100" +echo "Done" + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.ProgressBar + InterpreterPath + /bin/sh + Name + ProgressBar + OptimizeApplication + + InterfaceType + Progress Bar + InterpreterArgs + + RemainRunning + + RunInBackground + + Suffixes + + TextBackground + #ffffff + TextEncoding + 4 + TextFont + Monaco + TextForeground + #000000 + TextSize + 10 + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/SayURLSchemeHandler.platypus b/platypus/Platypus.app/Contents/Resources/Examples/SayURLSchemeHandler.platypus new file mode 100644 index 0000000..eccab38 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/SayURLSchemeHandler.platypus @@ -0,0 +1,94 @@ + + + + + AcceptsFiles + + AcceptsText + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + DeclareService + + DevelopmentVersion + + DocIconPath + + Droppable + + Example + + IconPath + + Identifier + org.sveinbjorn.SayURLSchemeHandler + InterfaceType + None + InterpreterArgs + + InterpreterPath + /usr/bin/python + Name + SayURLSchemeHandler + OptimizeApplication + + Overwrite + + PromptForFileOnLaunch + + RemainRunning + + ScriptArgs + + Script + #!/usr/bin/python + +from subprocess import call +import sys + +text = sys.argv[1] +text = text[6:] +text = text.replace('-', ' ') +if len(text): + call(["/usr/bin/say", text]) + + ScriptName + SayURLSchemeHandler + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemIconIsTemplate + + StatusItemTitle + Title + StatusItemUseSystemFont + + Suffixes + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 13 + URISchemes + + say + + UniformTypes + + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/SpeakDroplet.platypus b/platypus/Platypus.app/Contents/Resources/Examples/SpeakDroplet.platypus new file mode 100644 index 0000000..d7cdb8a --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/SpeakDroplet.platypus @@ -0,0 +1,77 @@ + + + + + Authentication + + Author + Sveinbjorn Thordarson + AcceptsFiles + + AcceptsText + + BundledFiles + + Creator + Platypus-5.4.1 + Overwrite + + DevelopmentVersion + + Example + + ScriptName + SpeakDroplet.sh + Script + #!/bin/sh +# Pipe the contents of first file argument to 'say', +# which is the command line interface to Apple's Speech Synthesizer. + +echo "Speaking..." +cat $1 | say + + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.SpeakDroplet + InterpreterPath + /bin/sh + Name + SpeakDroplet + OptimizeApplication + + InterfaceType + Droplet + InterpreterArgs + + RemainRunning + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemTitle + MyApp + Suffixes + + * + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 10 + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/SpotlightInfo.platypus b/platypus/Platypus.app/Contents/Resources/Examples/SpotlightInfo.platypus new file mode 100644 index 0000000..79eb7a1 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/SpotlightInfo.platypus @@ -0,0 +1,79 @@ + + + + + Authentication + + AcceptsFiles + + AcceptsText + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + Overwrite + + DevelopmentVersion + + Example + + ScriptName + SpotlightInfo.sh + Script + #!/usr/bin/perl +# Uses the mdls command to list meta data info on dropped files + +foreach(@ARGV) +{ + print "META-DATA INFO FOR '$_':\n"; + system("/usr/bin/mdls '$_'"); + print "------------||------------\n\n"; +} + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.SpotlightInfo + InterpreterPath + /usr/bin/perl + Name + SpotlightInfo + OptimizeApplication + + InterfaceType + Text Window + InterpreterArgs + + RemainRunning + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemTitle + MyApp + Suffixes + + * + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 10 + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/StatusMenuDemo.platypus b/platypus/Platypus.app/Contents/Resources/Examples/StatusMenuDemo.platypus new file mode 100644 index 0000000..adfe617 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/StatusMenuDemo.platypus @@ -0,0 +1,71 @@ + + + + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + Overwrite + + DevelopmentVersion + + Example + + ScriptName + StatusMenuDemo.pl + Script + #!/usr/bin/perl +print "MENUITEMICON|AppIcon.icns|Menu item icon can be a bundled image\n"; +print "MENUITEMICON|/Library/Application Support/Apple/iChat Icons/Flags/Iceland.png|Or an image on the file system\n"; +print "MENUITEMICON|https://sveinbjorn.org/images/andlat.png|Or even a URL!\n"; +print "SUBMENU|Submenu|Item 1|Item 2|Item 3\n"; + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.StatusMenuDemo + InterpreterPath + /usr/bin/perl + Name + StatusMenuDemo + OptimizeApplication + + InterfaceType + Status Menu + InterpretarArgs + + RemainRunning + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemUseSystemFont + + StatusItemTitle + IconDemo + Suffixes + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 10 + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/SysLoadMenu.platypus b/platypus/Platypus.app/Contents/Resources/Examples/SysLoadMenu.platypus new file mode 100644 index 0000000..d05c734 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/SysLoadMenu.platypus @@ -0,0 +1,70 @@ + + + + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + Overwrite + + DevelopmentVersion + + Example + + ScriptName + SysLoadMenu.sh + Script + #!/bin/sh +w + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.SysLoadMenu + InterpreterPath + /bin/sh + Name + SysLoadMenu + OptimizeApplication + + InterfaceType + Status Menu + InterpretarArgs + + RemainRunning + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemUseSystemFont + + StatusItemIconIsTemplate + + StatusItemTitle + w + Suffixes + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 10 + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/TarGzipper.platypus b/platypus/Platypus.app/Contents/Resources/Examples/TarGzipper.platypus new file mode 100644 index 0000000..39c4137 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/TarGzipper.platypus @@ -0,0 +1,101 @@ + + + + + Authentication + + AcceptsFiles + + AcceptsText + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + Overwrite + + DevelopmentVersion + + Example + + ScriptName + TarGzipper.pl + Script + #!/usr/bin/perl +use strict; +use File::Basename; + +if (!scalar(@ARGV) or ! -e $ARGV[0]) +{ + print "Drop some files to create a tgz archive\n"; + exit; +} + +my $cmd = "/usr/bin/tar cvfz "; + +# Get enclosing folder of first file +my($fn, $directory) = fileparse($ARGV[0]); + +# Change to that directory +chdir($directory); + +# Archive is created there +my $dest_path = "Archive.tgz"; + +my $files; +foreach(@ARGV) +{ + if (!$_ or ! -e $_) { next; } + my($filename, $directory) = fileparse($_); + $files .= "'$filename' "; +} + +print $cmd . "\n"; +system("$cmd $dest_path $files"); + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.TarGzipper + InterpreterPath + /usr/bin/perl + Name + TarGzipper + OptimizeApplication + + InterfaceType + Text Window + InterpreterArgs + + RemainRunning + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemTitle + MyApp + Suffixes + + * + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 10 + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/WebViewDroplet.platypus b/platypus/Platypus.app/Contents/Resources/Examples/WebViewDroplet.platypus new file mode 100644 index 0000000..b9725ed --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/WebViewDroplet.platypus @@ -0,0 +1,114 @@ + + + + + AcceptsFiles + + AcceptsText + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + DeclareService + + Overwrite + + DevelopmentVersion + + Example + + ScriptName + WebViewDroplet.py + Script + #!/usr/bin/python + +import sys +import os + +header = """<html> +<head> + <style type='text/css'> + body { background-color: #eee; padding: 10px; } + li { + border: 1px solid black; + background-color: #00e; + padding: 5px; margin: 5px; + list-style-type: none; + width: 70%; + color: white; + } + </style> +<body> +""" +footer = "\n</body>\n" + +print header + +numfiles = len(sys.argv[1:]); +if numfiles > 0: + print "<h1>" + str(numfiles) + " files</h1>" + print "<ul>" + for arg in sys.argv[1:]: + print "<li><strong>" + os.path.basename(arg) + "</strong> (" + str(os.path.getsize(arg)) + " bytes)</li>\n" + print "</ul>" +else: + print "<h4>Go ahead and drop some files on the window</h4>" + +print footer + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.WebViewDroplet + InterpreterPath + /usr/bin/python + InterpreterArgs + + Name + WebViewDroplet + OptimizeApplication + + InterfaceType + Web View + PromptForFileOnLaunch + + RemainRunning + + ScriptArgs + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemTitle + MyPlatypusApp + StatusItemUseSystemFont + + Suffixes + + * + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 13 + UniformTypes + + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/Examples/WordCountService.platypus b/platypus/Platypus.app/Contents/Resources/Examples/WordCountService.platypus new file mode 100644 index 0000000..c040f3a --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/Examples/WordCountService.platypus @@ -0,0 +1,94 @@ + + + + + AcceptsFiles + + AcceptsText + + Authentication + + Author + Sveinbjorn Thordarson + BundledFiles + + Creator + Platypus-5.4.1 + DeclareService + + Overwrite + + DevelopmentVersion + + Example + + ScriptName + WordCountService.sh + Script + #!/bin/sh + +INPUT=`cat /dev/stdin` + +LEN=${#INPUT} + +if [ ! $LEN -gt 0 ]; then + exit 0 +fi + +WC=`echo $INPUT | wc -w` +echo "ALERT:$WC words|" +say "$WC words" + + + DocIconPath + + Droppable + + IconPath + + Identifier + org.sveinbjorn.WordCountService + InterpreterPath + /bin/sh + InterpreterArgs + + Name + WordCountService + OptimizeApplication + + InterfaceType + None + PromptForFileOnLaunch + + RemainRunning + + ScriptArgs + + RunInBackground + + StatusItemDisplayType + Text + StatusItemIcon + + StatusItemTitle + MyPlatypusApp + StatusItemUseSystemFont + + Suffixes + + * + + TextBackground + #ffffff + TextFont + Monaco + TextForeground + #000000 + TextSize + 13 + UniformTypes + + Version + 1.0 + + diff --git a/platypus/Platypus.app/Contents/Resources/InstallCommandLineTool.sh b/platypus/Platypus.app/Contents/Resources/InstallCommandLineTool.sh new file mode 100755 index 0000000..acbf561 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/InstallCommandLineTool.sh @@ -0,0 +1,46 @@ +#!/bin/sh +# +# InstallCommandLineTool.sh +# Platypus +# +# Created by Sveinbjorn Thordarson on 6/17/08. +# Variables defined in Common.h + +REAL_USER_ID=`/usr/bin/id -r -u` + +echo "Installing command line tool" + +# Create directories if they don't exist +echo "Creating directory structures" +mkdir -p "%%CMDLINE_BIN_PATH%%" +mkdir -p "%%CMDLINE_SHARE_PATH%%" +mkdir -p "%%CMDLINE_MANDIR_PATH%%" + +# Change to Resources directory of Platypus application, which is first argument +echo "Changing to directory '$1'" +cd "$1" + +echo "Copying resources to share directory" +# ScriptExec binary +gunzip -c "%%CMDLINE_SCRIPTEXEC_GZIP_NAME%%" > "%%CMDLINE_SCRIPT_EXEC_PATH%%" +# Nib +cp -r "%%CMDLINE_NIB_NAME%%" "%%CMDLINE_SHARE_PATH%%" +# Set permissions +chown -R ${REAL_USER_ID} "%%CMDLINE_SHARE_PATH%%" +chmod -R 755 "%%CMDLINE_SHARE_PATH%%" + +# Command line tool binary +echo "Installing command line tool" +gunzip -c "%%CMDLINE_PROGNAME_BUNDLE%%" > "%%CMDLINE_TOOL_PATH%%" +chown ${REAL_USER_ID} "%%CMDLINE_TOOL_PATH%%" +chmod +x "%%CMDLINE_TOOL_PATH%%" + +# Man page +echo "Installing man page" +rm "%%CMDLINE_MANPAGE_PATH%%" &> /dev/null +rm "%%CMDLINE_MANPAGE_PATH%%.gz" &> /dev/null +cp "%%CMDLINE_MANPAGE_NAME%%" "%%CMDLINE_MANPAGE_PATH%%" +chmod 644 "%%CMDLINE_MANPAGE_PATH%%" +chown ${REAL_USER_ID} "%%CMDLINE_MANPAGE_PATH%%" + +exit 0 diff --git a/platypus/Platypus.app/Contents/Resources/InterfaceType_Droplet.png b/platypus/Platypus.app/Contents/Resources/InterfaceType_Droplet.png new file mode 100644 index 0000000..72f26f9 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/InterfaceType_Droplet.png differ diff --git a/platypus/Platypus.app/Contents/Resources/InterfaceType_None.png b/platypus/Platypus.app/Contents/Resources/InterfaceType_None.png new file mode 100644 index 0000000..70bd6f7 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/InterfaceType_None.png differ diff --git a/platypus/Platypus.app/Contents/Resources/InterfaceType_Progress-Bar.png b/platypus/Platypus.app/Contents/Resources/InterfaceType_Progress-Bar.png new file mode 100644 index 0000000..5e01ed1 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/InterfaceType_Progress-Bar.png differ diff --git a/platypus/Platypus.app/Contents/Resources/InterfaceType_Status-Menu.png b/platypus/Platypus.app/Contents/Resources/InterfaceType_Status-Menu.png new file mode 100644 index 0000000..6db90e2 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/InterfaceType_Status-Menu.png differ diff --git a/platypus/Platypus.app/Contents/Resources/InterfaceType_Text-Window.png b/platypus/Platypus.app/Contents/Resources/InterfaceType_Text-Window.png new file mode 100644 index 0000000..712efe3 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/InterfaceType_Text-Window.png differ diff --git a/platypus/Platypus.app/Contents/Resources/InterfaceType_Web-View.png b/platypus/Platypus.app/Contents/Resources/InterfaceType_Web-View.png new file mode 100644 index 0000000..e0be9df Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/InterfaceType_Web-View.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_AWK.png b/platypus/Platypus.app/Contents/Resources/Interpreter_AWK.png new file mode 100644 index 0000000..71b02c8 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_AWK.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_AppleScript.png b/platypus/Platypus.app/Contents/Resources/Interpreter_AppleScript.png new file mode 100644 index 0000000..a845a38 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_AppleScript.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_Dart.png b/platypus/Platypus.app/Contents/Resources/Interpreter_Dart.png new file mode 100644 index 0000000..9af4f40 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_Dart.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_Expect.png b/platypus/Platypus.app/Contents/Resources/Interpreter_Expect.png new file mode 100644 index 0000000..3a71bc9 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_Expect.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_JavaScript.png b/platypus/Platypus.app/Contents/Resources/Interpreter_JavaScript.png new file mode 100644 index 0000000..d1fb937 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_JavaScript.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_Node.png b/platypus/Platypus.app/Contents/Resources/Interpreter_Node.png new file mode 100644 index 0000000..bcdd0ec Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_Node.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_PHP.png b/platypus/Platypus.app/Contents/Resources/Interpreter_PHP.png new file mode 100644 index 0000000..a0bf8ad Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_PHP.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_Perl.png b/platypus/Platypus.app/Contents/Resources/Interpreter_Perl.png new file mode 100644 index 0000000..10a43f6 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_Perl.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_Python_2.png b/platypus/Platypus.app/Contents/Resources/Interpreter_Python_2.png new file mode 100644 index 0000000..00c7361 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_Python_2.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_Python_3.png b/platypus/Platypus.app/Contents/Resources/Interpreter_Python_3.png new file mode 100644 index 0000000..00c7361 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_Python_3.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_Ruby.png b/platypus/Platypus.app/Contents/Resources/Interpreter_Ruby.png new file mode 100644 index 0000000..665fcb4 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_Ruby.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_Swift.png b/platypus/Platypus.app/Contents/Resources/Interpreter_Swift.png new file mode 100644 index 0000000..1e71ccd Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_Swift.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_Tcl.png b/platypus/Platypus.app/Contents/Resources/Interpreter_Tcl.png new file mode 100644 index 0000000..3b00f89 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_Tcl.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_bash.png b/platypus/Platypus.app/Contents/Resources/Interpreter_bash.png new file mode 100644 index 0000000..baa41b7 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_bash.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_csh.png b/platypus/Platypus.app/Contents/Resources/Interpreter_csh.png new file mode 100644 index 0000000..788b9e3 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_csh.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_env.png b/platypus/Platypus.app/Contents/Resources/Interpreter_env.png new file mode 100644 index 0000000..51893b4 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_env.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_ksh.png b/platypus/Platypus.app/Contents/Resources/Interpreter_ksh.png new file mode 100644 index 0000000..7780847 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_ksh.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_sh.png b/platypus/Platypus.app/Contents/Resources/Interpreter_sh.png new file mode 100644 index 0000000..18ceaf7 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_sh.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_tcsh.png b/platypus/Platypus.app/Contents/Resources/Interpreter_tcsh.png new file mode 100644 index 0000000..c32d016 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_tcsh.png differ diff --git a/platypus/Platypus.app/Contents/Resources/Interpreter_zsh.png b/platypus/Platypus.app/Contents/Resources/Interpreter_zsh.png new file mode 100644 index 0000000..a529a10 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Interpreter_zsh.png differ diff --git a/platypus/Platypus.app/Contents/Resources/License.html b/platypus/Platypus.app/Contents/Resources/License.html new file mode 100644 index 0000000..1bae072 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/License.html @@ -0,0 +1,38 @@ + + + BSD LICENSE + + +
+
+    Copyright © 2003-2022, Sveinbjorn Thordarson <sveinbjorn@sveinbjorn.org>
+    All rights reserved.
+    
+    Redistribution and use in source and binary forms, with or without modification,
+    are permitted provided that the following conditions are met:
+    
+    1. Redistributions of source code must retain the above copyright notice, this
+    list of conditions and the following disclaimer.
+    
+    2. Redistributions in binary form must reproduce the above copyright notice, this
+    list of conditions and the following disclaimer in the documentation and/or other
+    materials provided with the distribution.
+    
+    3. Neither the name of the copyright holder nor the names of its contributors may
+    be used to endorse or promote products derived from this software without specific
+    prior written permission.
+    
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+    IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+
+
+ + diff --git a/platypus/Platypus.app/Contents/Resources/MainMenu.nib/designable.nib b/platypus/Platypus.app/Contents/Resources/MainMenu.nib/designable.nib new file mode 100644 index 0000000..b1f1ae1 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/MainMenu.nib/designable.nib @@ -0,0 +1,724 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/platypus/Platypus.app/Contents/Resources/MainMenu.nib/keyedobjects-101300.nib b/platypus/Platypus.app/Contents/Resources/MainMenu.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..2be652b Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/MainMenu.nib/keyedobjects-101300.nib differ diff --git a/platypus/Platypus.app/Contents/Resources/MainMenu.nib/keyedobjects.nib b/platypus/Platypus.app/Contents/Resources/MainMenu.nib/keyedobjects.nib new file mode 100644 index 0000000..9d6eb87 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/MainMenu.nib/keyedobjects.nib differ diff --git a/platypus/Platypus.app/Contents/Resources/Platypus.nib/keyedobjects-101300.nib b/platypus/Platypus.app/Contents/Resources/Platypus.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..da5bef9 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Platypus.nib/keyedobjects-101300.nib differ diff --git a/platypus/Platypus.app/Contents/Resources/Platypus.nib/keyedobjects-110000.nib b/platypus/Platypus.app/Contents/Resources/Platypus.nib/keyedobjects-110000.nib new file mode 100644 index 0000000..89eef24 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Platypus.nib/keyedobjects-110000.nib differ diff --git a/platypus/Platypus.app/Contents/Resources/Platypus.nib/keyedobjects.nib b/platypus/Platypus.app/Contents/Resources/Platypus.nib/keyedobjects.nib new file mode 100644 index 0000000..9d6be99 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Platypus.nib/keyedobjects.nib differ diff --git a/platypus/Platypus.app/Contents/Resources/PlatypusAppIcon.icns b/platypus/Platypus.app/Contents/Resources/PlatypusAppIcon.icns new file mode 100644 index 0000000..aa91b28 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/PlatypusAppIcon.icns differ diff --git a/platypus/Platypus.app/Contents/Resources/PlatypusDefault.icns b/platypus/Platypus.app/Contents/Resources/PlatypusDefault.icns new file mode 100644 index 0000000..64068a5 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/PlatypusDefault.icns differ diff --git a/platypus/Platypus.app/Contents/Resources/Preferences.icns b/platypus/Platypus.app/Contents/Resources/Preferences.icns new file mode 100644 index 0000000..f8892e1 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/Preferences.icns differ diff --git a/platypus/Platypus.app/Contents/Resources/ProfileDocument.icns b/platypus/Platypus.app/Contents/Resources/ProfileDocument.icns new file mode 100644 index 0000000..20b241d Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/ProfileDocument.icns differ diff --git a/platypus/Platypus.app/Contents/Resources/ScriptDocument.icns b/platypus/Platypus.app/Contents/Resources/ScriptDocument.icns new file mode 100644 index 0000000..4bbe0f0 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/ScriptDocument.icns differ diff --git a/platypus/Platypus.app/Contents/Resources/ScriptExec.gz b/platypus/Platypus.app/Contents/Resources/ScriptExec.gz new file mode 100644 index 0000000..62b30bf Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/ScriptExec.gz differ diff --git a/platypus/Platypus.app/Contents/Resources/ShellCommandWindow.nib/keyedobjects-101300.nib b/platypus/Platypus.app/Contents/Resources/ShellCommandWindow.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..1f1f6de Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/ShellCommandWindow.nib/keyedobjects-101300.nib differ diff --git a/platypus/Platypus.app/Contents/Resources/ShellCommandWindow.nib/keyedobjects.nib b/platypus/Platypus.app/Contents/Resources/ShellCommandWindow.nib/keyedobjects.nib new file mode 100644 index 0000000..368f86b Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/ShellCommandWindow.nib/keyedobjects.nib differ diff --git a/platypus/Platypus.app/Contents/Resources/SyntaxChecker.nib/keyedobjects-101300.nib b/platypus/Platypus.app/Contents/Resources/SyntaxChecker.nib/keyedobjects-101300.nib new file mode 100644 index 0000000..853e94a Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/SyntaxChecker.nib/keyedobjects-101300.nib differ diff --git a/platypus/Platypus.app/Contents/Resources/SyntaxChecker.nib/keyedobjects.nib b/platypus/Platypus.app/Contents/Resources/SyntaxChecker.nib/keyedobjects.nib new file mode 100644 index 0000000..01b2835 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/SyntaxChecker.nib/keyedobjects.nib differ diff --git a/platypus/Platypus.app/Contents/Resources/UninstallCommandLineTool.sh b/platypus/Platypus.app/Contents/Resources/UninstallCommandLineTool.sh new file mode 100755 index 0000000..d823952 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/UninstallCommandLineTool.sh @@ -0,0 +1,30 @@ +#!/bin/sh +# +# UninstallCommandLineTool.sh +# Platypus +# +# Created by Sveinbjorn Thordarson on 6/17/08. +# Variables defined in Common.h + +echo "Uninstalling command line tool" + +if [ -e "%%CMDLINE_SHARE_PATH%%" ]; then + echo "Deleting '%%CMDLINE_SHARE_PATH%%' directory" + rm -R "%%CMDLINE_SHARE_PATH%%" &> /dev/null +fi + +if [ -e "%%CMDLINE_TOOL_PATH%%" ]; then + echo "Deleting %%CMDLINE_PROGNAME%% command line tool in %%CMDLINE_TOOL_PATH%%" + rm "%%CMDLINE_TOOL_PATH%%" &> /dev/null +fi + +if [ -e "%%CMDLINE_MANPAGE_PATH%%" ]; then + echo "Deleting %%CMDLINE_PROGNAME%% man page" + rm "%%CMDLINE_MANPAGE_PATH%%" &> /dev/null +fi + +if [ -e "%%CMDLINE_MANPAGE_PATH%%.gz" ]; then + echo "Deleting gzipped %%CMDLINE_PROGNAME%% man page" + rm "%%CMDLINE_MANPAGE_PATH%%.gz" &> /dev/null +fi + diff --git a/platypus/Platypus.app/Contents/Resources/UninstallPlatypus.sh b/platypus/Platypus.app/Contents/Resources/UninstallPlatypus.sh new file mode 100755 index 0000000..9b1f0a3 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/UninstallPlatypus.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# +# UninstallPlatypus.sh +# Platypus +# +# Created by Sveinbjorn Thordarson 2012. +# + +cd "$1" + +if [ -e "%%APP_SUPPORT_FOLDER%%" ] +then + echo "Deleting application support folder..." + mv "%%APP_SUPPORT_FOLDER%%" "~/.Trash/%%PROGRAM_NAME%%ApplicationSupport-TRASHED-$RANDOM" +fi + +if [ -e "~/Library/Preferences/%%PROGRAM_BUNDLE_IDENTIFIER%%.plist" ] +then + echo "Deleting %%PROGRAM_NAME%% preferences..." + mv "~/Library/Preferences/%%PROGRAM_BUNDLE_IDENTIFIER%%.plist" "~/.Trash/%%PROGRAM_BUNDLE_IDENTIFIER%%-TRASHED-$RANDOM.plist" +fi + +if [ -e "$1/../../../%%PROGRAM_NAME%%.app" ] +then + echo "Moving %%PROGRAM_NAME%%.app to Trash" + mv "$1/../../../%%PROGRAM_NAME%%.app" "~/.Trash/%%PROGRAM_NAME%%-TRASHED-$RANDOM.app" +fi diff --git a/platypus/Platypus.app/Contents/Resources/dsa_pub.pem b/platypus/Platypus.app/Contents/Resources/dsa_pub.pem new file mode 100644 index 0000000..afe9424 --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/dsa_pub.pem @@ -0,0 +1,20 @@ +-----BEGIN PUBLIC KEY----- +MIIDOzCCAi4GByqGSM44BAEwggIhAoIBAQDyvmDemrczcWdAN52la6wI6yWQh5oD +JKONUjBGpQcpJphkKmumFjf2jD9EpIrT//YTDI+VpXo6/XxqXAe1EGhraZ+AvSx2 +YKXPldfAHP7dTnkeHTN+PqFGgYIgvTn9GqrjEEdO8d1WzjVTpCy3oIAcT8RnZz6T +bm3YnsmFCVrwTSK+LR+3b238LPWJVWHJeJD0E+3zP9u2ck7Q6TP/2Czhl81uA+/4 +5qf3BSlu/OE938E3qQv3iYM4TsQPeXLDNTGa2WDLgKYKPl2ssP2JQwS668Xiw/dw +b2kacZtBbaNvsuVx5aScAOM/miiRTtCV0cQiFoIGLvBQeghxWfYs8QBBAhUAtM/S +GQJGCaOM9UD463B7rikfDpcCggEBAJIq9PZDFMnGOSbZX7ZrlmxpFWceni7HKpcq +CX7vBXX9IHhstRdfGBsb3abxTxjDf85p7R/l5gUOWod/9no2sGk2MXj/PJmYCxXv +Iu1vNSjALNyaNUVj2J1UfxTBBKzUOvnvW7z/VKTZSR7pcJIAhM729zRKk6a8215z +LAq5IC9PKRWxGUN0t/Vw+PwHIODepoPn/yfs6e6yMYJB2b3K5eMHecRr88zfAglF +RlpSUp1tIipdthMCwGFSzv1pCQjHdtIdgbOF7QoyKSuH/X3eEyHeoMAmJ4cPiGgw +P8sJ/m/96x2ryzZH3/rm+bMQiGa1YnboFgxnxHd51YXq+EO+Er4DggEFAAKCAQB5 +nySfC4zZwC+TDFmJMqlgDYTKEXM0OkvbxIp7WVDXvyU549SeLVaQMf9strEawhBM +UZB+Ihvq1NM250Vv7sUsOJSywoWCgTIetAhw2sNuKoVY5FwypvNI8IyXhLV3/dVd +fDYZXIFZv8v+XCN0JfRDoIkLYV1y7H5eAI6VNWKtxmcEWL3Jo6xyUt+TyAXFxI0k +o8QD2EE/KuBGxaS+TAMEV27AaWGt84RQpE7xvazwGLF3OJYi63p7dcCjjz/73M0R +ff9rU8tD+/wNvvFWlCCdIdXiHYSK+j7Dwx00ozD02aBhIugrNw9f9Egy+/2ULSKD +g/r/4TrrTTwzPy6xLyAQ +-----END PUBLIC KEY----- diff --git a/platypus/Platypus.app/Contents/Resources/images/args.png b/platypus/Platypus.app/Contents/Resources/images/args.png new file mode 100644 index 0000000..bd0377d Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/args.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/author_identifier.png b/platypus/Platypus.app/Contents/Resources/images/author_identifier.png new file mode 100644 index 0000000..50f75cb Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/author_identifier.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/basic_interface.png b/platypus/Platypus.app/Contents/Resources/images/basic_interface.png new file mode 100644 index 0000000..1ede239 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/basic_interface.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/built-in_editor.png b/platypus/Platypus.app/Contents/Resources/images/built-in_editor.png new file mode 100644 index 0000000..1aab8ad Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/built-in_editor.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/bundled_files.png b/platypus/Platypus.app/Contents/Resources/images/bundled_files.png new file mode 100644 index 0000000..a8a917c Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/bundled_files.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/create_options.png b/platypus/Platypus.app/Contents/Resources/images/create_options.png new file mode 100644 index 0000000..587e898 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/create_options.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/drop_settings.png b/platypus/Platypus.app/Contents/Resources/images/drop_settings.png new file mode 100644 index 0000000..b764eb2 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/drop_settings.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/interface_droplet.png b/platypus/Platypus.app/Contents/Resources/images/interface_droplet.png new file mode 100644 index 0000000..1f5e6fc Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/interface_droplet.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/interface_progressbar.png b/platypus/Platypus.app/Contents/Resources/images/interface_progressbar.png new file mode 100644 index 0000000..9dea2b7 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/interface_progressbar.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/interface_statusmenu.png b/platypus/Platypus.app/Contents/Resources/images/interface_statusmenu.png new file mode 100644 index 0000000..a6016fc Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/interface_statusmenu.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/interface_statusmenu2.png b/platypus/Platypus.app/Contents/Resources/images/interface_statusmenu2.png new file mode 100644 index 0000000..9dfa6e9 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/interface_statusmenu2.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/interface_textwindow.png b/platypus/Platypus.app/Contents/Resources/images/interface_textwindow.png new file mode 100644 index 0000000..c1bd55e Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/interface_textwindow.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/interface_type.png b/platypus/Platypus.app/Contents/Resources/images/interface_type.png new file mode 100644 index 0000000..575d85b Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/interface_type.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/interface_webview.png b/platypus/Platypus.app/Contents/Resources/images/interface_webview.png new file mode 100644 index 0000000..5456042 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/interface_webview.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/platypus.png b/platypus/Platypus.app/Contents/Resources/images/platypus.png new file mode 100644 index 0000000..7341fd3 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/platypus.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/preferences.png b/platypus/Platypus.app/Contents/Resources/images/preferences.png new file mode 100644 index 0000000..448d293 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/preferences.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/profiles.png b/platypus/Platypus.app/Contents/Resources/images/profiles.png new file mode 100644 index 0000000..a082fdc Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/profiles.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/script_path.png b/platypus/Platypus.app/Contents/Resources/images/script_path.png new file mode 100644 index 0000000..56d01fd Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/script_path.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/script_type.png b/platypus/Platypus.app/Contents/Resources/images/script_type.png new file mode 100644 index 0000000..f4adfa5 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/script_type.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/setting_icon.png b/platypus/Platypus.app/Contents/Resources/images/setting_icon.png new file mode 100644 index 0000000..26e6547 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/setting_icon.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/shell_command.png b/platypus/Platypus.app/Contents/Resources/images/shell_command.png new file mode 100644 index 0000000..b9fde56 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/shell_command.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/special_options.png b/platypus/Platypus.app/Contents/Resources/images/special_options.png new file mode 100644 index 0000000..0e9c80a Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/special_options.png differ diff --git a/platypus/Platypus.app/Contents/Resources/images/syntax_checker.png b/platypus/Platypus.app/Contents/Resources/images/syntax_checker.png new file mode 100644 index 0000000..7d71599 Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/images/syntax_checker.png differ diff --git a/platypus/Platypus.app/Contents/Resources/make_examples.pl b/platypus/Platypus.app/Contents/Resources/make_examples.pl new file mode 100755 index 0000000..2e7b70d --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/make_examples.pl @@ -0,0 +1,50 @@ +#!/usr/bin/perl -w +# +# Creates apps from all the Platypus examples +# +# Usage: ./make_examples +# ./make_examples [src_dir] [out_dir] [platypus_bin_path] +# + +use strict; + +my $dirpath = $ARGV[0] ? $ARGV[0] : "Examples"; +my $outdir = $ARGV[1] ? $ARGV[1] : "ExampleApps"; +my $platypus = $ARGV[2] ? $ARGV[2] : "/usr/local/bin/platypus"; + +if (! -e $platypus) { + die("error: Platypus command line tool not found at path $platypus"); +} + +opendir(DIR, $dirpath) or die("error: Could not open directory $dirpath. $!"); +my @files = readdir(DIR); +closedir(DIR); + +# Get list of profiles in directory +my @example_files; +foreach my $file(@files) { + if ($file =~ m/\.platypus$/) { + push(@example_files, $file); + } +} + +if (!scalar(@example_files)) { + die("error: No profiles found in directory $dirpath"); +} + +# Create output dir +if (! -e $outdir) { + if (!mkdir($outdir)) { + die("error: Could not create output directory $outdir: $!"); + } +} + +# Create app from each example in directory +foreach my $file(@example_files) { + my $name = $file; + $name =~ s/\.platypus$//; + print "------------------------------\n"; + print "Creating $name.app\n"; + print "------------------------------\n"; + `$platypus --load-profile "$dirpath/$file" --overwrite "$outdir/$name.app"` +} diff --git a/platypus/Platypus.app/Contents/Resources/platypus.1.gz b/platypus/Platypus.app/Contents/Resources/platypus.1.gz new file mode 100644 index 0000000..6798efd Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/platypus.1.gz differ diff --git a/platypus/Platypus.app/Contents/Resources/platypus.man.html b/platypus/Platypus.app/Contents/Resources/platypus.man.html new file mode 100644 index 0000000..162316a --- /dev/null +++ b/platypus/Platypus.app/Contents/Resources/platypus.man.html @@ -0,0 +1,237 @@ +
PLATYPUS(1)                  General Commands Manual                 PLATYPUS(1)
+
+NAME
+
+     platypus – create a macOS application bundle from a command line script.
+
+SYNOPSIS
+
+     platypus [OPTIONS] scriptPath [destinationPath]
+
+DESCRIPTION
+
+     platypus is the command line counterpart to the Platypus Mac application.
+     It creates a macOS application bundle from a command line script.  See
+     https://sveinbjorn.org/platypus for details.
+
+     platypus defaults to creating application bundles, but can also create
+     Platypus profiles that are loadable by both the command line program and
+     the Platypus application.
+
+     If the scriptPath parameter is '-', script text is read from standard
+     input.
+
+     The following option flags are supported (parsed in the order in which they
+     are passed):
+
+     -O, --generate-profile
+          Create a profile document instead of creating an application bundle.
+          When this option is enabled, the "destinationPath" paramater (i.e. the
+          final argument to the program) should have a .platypus suffix. If the
+          string '-' is provided as destination path, the profile property list
+          XML will be dumped to STDOUT.
+
+     -P, --load-profile profilePath
+          Loads all settings from a Platypus profile document. It is still
+          necessary to specify a destination path for the application.
+          Subsequent arguments can override profile settings.
+
+     -a, --name appName
+          Specifies the name of the application.  This is can be different from
+          the name of the .app bundle itself, and is displayed in the
+          application's menus, "About" window and Info.plist property list.
+
+     -o, --interface-type interfaceType
+          Specifies the application's interface type, which should be one of the
+          following:
+
+          'None' The application does not display any user interface except for
+          Dock icon & menu.
+
+          'Progress Bar' The application displays a progress bar while running.
+
+          'Text Window' The application displays a window with a text field with
+          all script output.
+
+          'Web View' The application displays a window with a web view which
+          renders script output as HTML.
+
+          'Status Menu' The application displays a status menu item in the
+          menubar which runs the script and displays its output when clicked.
+
+          'Droplet' The application displays a droplet window for dropping files
+          on for processing by the script.
+
+          The default interface type is 'Text Window'.
+
+     -i, --app-icon iconPath
+          Specifies a file to use as the icon for the application bundle. The
+          file must be an Apple .icns file. If not specified, the default
+          Platypus app icon will be used. If specified, but left empty (''), no
+          application icon will be set for the app.
+
+     -Q, --document-icon iconPath
+          Specifies a file to use as icon for the application's documents. Must
+          be an Apple .icns file.
+
+     -p, --interpreter interpreterPath
+          Sets script interpreter (e.g. /usr/bin/python or /bin/sh). If the
+          interpreter is not specified, the command line tool will try to guess
+          the correct interpreter. If this fails, the default shell interpreter
+          /bin/sh is used.
+
+     -V, --app-version version
+          Sets the application bundle's version. This is displayed in the
+          Info.plist property list and About window.
+
+     -u, --author authorName
+          Sets the name of the application author (e.g. "Apple Computer" or
+          "John Smith").  If not specified, this defaults to the current user's
+          full user name.
+
+     -f, --bundled-file filePath
+          Specifies a file to be bundled with the application. The file will be
+          copied over to the Resources folder of the application bundle, which
+          is the same folder in which the script runs. Any number of files can
+          be bundled in this way.
+
+     -I, --bundle-identifier bundleIdentifier
+          Sets the application's bundle identifier. An application identifier is
+          a reverse DNS name (e.g. com.apple.iTunes) that uniquely identifies
+          the application. If this option is left empty, it will default to an
+          identifier of the format "org.username.appname" (e.g.
+          org.sveinbjorn.Platypus).
+
+     -A, --admin-privileges
+          This flag makes the application request administrator privileges via
+          Apple's Security Framework (i.e. prompt for a password) and then
+          executes the script with those privileges. For details on the nature
+          of these privileges, see the Apple documentation for the
+          AuthorizationExecuteWithPrivileges() in Security.framework. This is
+          not strictly equivalent to running as root.
+
+     -D, --droppable
+          Makes the application droppable, i.e. capable of receiving dragged and
+          dropped files as arguments to the script. The application bundle's
+          property list is modified so that it can receive dropped files in the
+          Dock and Finder. These files are then passed on to the script as
+          arguments.
+
+     -F, --text-droppable
+          Makes the application text droppable, i.e. makes it accept dragged
+          text snippets, which are then passed to script via STDIN.
+
+     -N, --service
+          Makes the app register as a Dynamic Service accessible from the
+          Services application submenu.
+
+     -B, --background
+          This option causes the application to run in the background so its
+          icon will not appear in the Dock.  This is done by registering the
+          application with LaunchServices as a user interface element
+          (LSUIElement).
+
+     -R, --quit-after-execution
+          This option makes the application quit once the script has been
+          executed.
+
+     -X, --suffixes suffixes
+          Only relevant if the application accepts dropped files. This flag
+          specifies the file suffixes (e.g. .txt, .wav) that the application can
+          open. This should be a |-separated string (e.g. "txt|wav|jpg").
+
+     -T, --uniform-type-identifiers utis
+          Only relevant if the application accepts dropped files. This flag
+          specifies the Uniform Type Identifiers (UTIs) that the application can
+          open.  This should be a |-separated string (e.g.
+          "public.item|public.folder"). Suffixes are ignored if this flag is
+          used.
+
+     -U, --uri-schemes schemes
+          Set application as handler for URI schemes. These can be either
+          standard URI schemes such as http or custom URI schemes of your
+          choice. See documentation for details. Multiple items should be a
+          |-separated string (e.g. "ftp|myscheme|someotherscheme").
+
+     -Z, --file-prompt
+          Show an Open File dialog when the application launches.
+
+     -G, --interpreter-args arguments
+          Arguments for the script interpreter.  These should be specified as a
+          |-separated string (e.g. '-w|-s|-l').
+
+     -C, --script-args arguments
+          Arguments for the script.  These should be specified as a |-separated
+          string (e.g. '-w|-s|-l').
+
+     -b, --text-background-color hexColor
+          Set background color of text (e.g. #ffffff).
+
+     -g, --text-foreground-color hexColor
+          Set foreground color of text (e.g. #000000).
+
+     -n, --text-font fontName
+          Set font and font size for text view (e.g. 'Monaco 10').
+
+     -K, --status-item-kind kind
+          For Status Menu interface type only.  Set display kind for Status Menu
+          interface type.  This can be "Text" or "Icon".
+
+     -Y, --status-item-title title
+          For Status Menu interface type only.  Set the display title for the
+          status item in Status Menu interface type.
+
+     -L, --status-item-icon imagePath
+          For Status Menu interface type only.  Set the icon image for the
+          status item in Status Menu interface type. Must be an image file in
+          one of the formats supported by the Cocoa APIs (e.g. PNG, JPEG, TIFF
+          etc.)
+
+     -c, --status-item-sysfont
+          For Status Menu interface type only. Makes menu use system font
+          instead of user-defined styling.
+
+     -d, --symlink
+          A symlink to the original script is created inside the application
+          bundle instead of copying the script over. Symlinks are also created
+          to any bundled files.
+
+     -l, --optimize-nib
+          Strip the bundled application nib file to reduce its size. Makes the
+          nib uneditable. Only works if Apple's Xcode is installed.
+
+     -y, --overwrite
+          Overwrite any pre-existing files or folders in destination path.
+
+     -v, --version
+          Print the version of this program
+
+     -h, --help
+          Print help and usage string
+
+     Exits 0 on success, and >0 if an error occurs.
+
+FILES
+
+     /usr/local/bin/platypus                         program binary
+     /usr/local/share/platypus/ScriptExec            executable binary
+     /usr/local/share/platypus/MainMenu.nib          nib file for app
+     /usr/local/share/platypus/PlatypusDefault.icns  default icon
+
+EXAMPLES
+
+     platypus -P myProfile.platypus ~/Desktop/MyApplication.app
+
+     platypus -o 'Text Window' script.pl PerlScript.app
+
+     platypus -a 'My App' -p /usr/bin/python myPythonScript.py
+
+     platypus -D -a MyDroplet -o 'Droplet' ~/droplet.sh
+
+AUTHORS
+
+     Sveinbjorn Thordarson <sveinbjorn@sveinbjorn.org>
+
+Darwin                          January 18, 2022                          Darwin
+
+ \ No newline at end of file diff --git a/platypus/Platypus.app/Contents/Resources/platypus_clt.gz b/platypus/Platypus.app/Contents/Resources/platypus_clt.gz new file mode 100755 index 0000000..6d7269a Binary files /dev/null and b/platypus/Platypus.app/Contents/Resources/platypus_clt.gz differ diff --git a/platypus/Platypus.app/Contents/_CodeSignature/CodeResources b/platypus/Platypus.app/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..3c9a7a8 --- /dev/null +++ b/platypus/Platypus.app/Contents/_CodeSignature/CodeResources @@ -0,0 +1,1581 @@ + + + + + files + + Resources/Credits.rtf + + uM4GdU5kUAFMsMd1H3mxG+647co= + + Resources/DefaultStatusMenuIcon.png + + /hF/DgMpBtZEgkUZFyOmuDFMfgg= + + Resources/Documentation.html + + kjHI51ZUhJ+M6rV8m0/D5l6OdEE= + + Resources/Editor.nib/keyedobjects-101300.nib + + F8+ZRBXVrFOwxHQLoQFgPYcr3iI= + + Resources/Editor.nib/keyedobjects.nib + + i4oUF0FP+U63bLa0EQmQdQoElNE= + + Resources/Examples/AdminPrivilegesDemo.platypus + + NAIAUMTfDpPcHo6aD5RjPKWPBwg= + + Resources/Examples/AlertMe.platypus + + S5usUChbbinbjh5wv/s1OA+SH+Q= + + Resources/Examples/DataURLifier.platypus + + UjH8d/tcBdhwNjdyTO+BiJoyaCA= + + Resources/Examples/FastDMGMounter.platypus + + 6N2xWbf7fyvxdpJvvQaopk5zEo8= + + Resources/Examples/IcnsToIconset.platypus + + nTlKzmyQpDz5EGz/4JkXZni2ftU= + + Resources/Examples/ImageResizer.platypus + + 5PfDo0Boi/t5aIWFaH435xTX8gM= + + Resources/Examples/MacbethMenu.platypus + + 7GRD/sC8qUd0EYOVbQ9XCxyQsDQ= + + Resources/Examples/PostToNotificationCenter.platypus + + z4ruiv9FHKUg40goBIQ9aC3r2RU= + + Resources/Examples/ProcessMenu.platypus + + iLyr2njsttBrfDttmnxeXEPgPio= + + Resources/Examples/ProgressBar.platypus + + /Dwt2iuK5zMD5RK6JwUByK6PCIw= + + Resources/Examples/SayURLSchemeHandler.platypus + + FvomOL1znwl/h01hHaxYZtl2soc= + + Resources/Examples/SpeakDroplet.platypus + + C/4l0+kuF+sJuSDr6H4uj0PfxRM= + + Resources/Examples/SpotlightInfo.platypus + + RKtfD+1u/un0QOoWUobeRPtp4So= + + Resources/Examples/StatusMenuDemo.platypus + + 2ASVJmKphPTrNAUTvvJ4rHtXw5Y= + + Resources/Examples/SysLoadMenu.platypus + + tznUNRRkPseQPnvvcxSVC0K4kgQ= + + Resources/Examples/TarGzipper.platypus + + gnZHtFpgaT4vjXiTKV3VslaqjOE= + + Resources/Examples/WebViewDroplet.platypus + + LfT8vTFztY/utVX3kL+HjArwy+4= + + Resources/Examples/WordCountService.platypus + + iHkCtZfdCJnc2JmmZ9qlRlrVa90= + + Resources/InstallCommandLineTool.sh + + /2yIcBCY0Ma+tFEogTWR0Tb/8w0= + + Resources/InterfaceType_Droplet.png + + yGEyKhT9zBtp23xby+2hRxRROz8= + + Resources/InterfaceType_None.png + + fSnF9ps24js2yBmbqWA4CvEtKb4= + + Resources/InterfaceType_Progress-Bar.png + + Uo+6TXwC84DTAMbqmRwFS+DgWFA= + + Resources/InterfaceType_Status-Menu.png + + aD0f/tQRQUXajTP2Os9o+egfeRU= + + Resources/InterfaceType_Text-Window.png + + bEL4NYbzJo9hgGS0Eiu450RXG24= + + Resources/InterfaceType_Web-View.png + + K4u97OhdgiCqvj2lOXDK8tg7ZGc= + + Resources/Interpreter_AWK.png + + JkImRVXAATv88wwZPOZFETlo5f0= + + Resources/Interpreter_AppleScript.png + + XDgrPD+Uu2DVq48I55Gf/RgxzQo= + + Resources/Interpreter_Dart.png + + 5HFPFQnc4i3kniG5314GH/LcSjw= + + Resources/Interpreter_Expect.png + + 7db2PTsehYraBaZY8yzPKkhQ1WA= + + Resources/Interpreter_JavaScript.png + + 4KWqNarlHuf+f+jIQpgv8V8coOA= + + Resources/Interpreter_Node.png + + WE7P1n2+nbpY5mcLtQ5xfoSl/Ro= + + Resources/Interpreter_PHP.png + + h4KPYp01xgaG7PP6jSdVio1IKmg= + + Resources/Interpreter_Perl.png + + l79jzjQ1mDuYxK2ksiarFoEUWDA= + + Resources/Interpreter_Python_2.png + + v5fkNER/jdl90MzDg2fpI+09z2I= + + Resources/Interpreter_Python_3.png + + v5fkNER/jdl90MzDg2fpI+09z2I= + + Resources/Interpreter_Ruby.png + + UROcyfjW+5Y0VIRDO9jxYwd04Fk= + + Resources/Interpreter_Swift.png + + a0Q6Sy1bCwUd1qyhqdE+HGAWP+4= + + Resources/Interpreter_Tcl.png + + 6jZSGJSKwsG0vr0jA0sEOQthl9Y= + + Resources/Interpreter_bash.png + + B8A8V5oLETHQj7BsBF7o2V1Gc7U= + + Resources/Interpreter_csh.png + + Wsl5l9Y8mCe3NUFCO16ma0xkbDs= + + Resources/Interpreter_env.png + + 4uKQ6FadB7M088duTY19gQwsB/8= + + Resources/Interpreter_ksh.png + + CIvUfNEGjehB99KL8tZ0no1rt0w= + + Resources/Interpreter_sh.png + + OJNYfdq/AxTdrLvVqBdwu1zUu1U= + + Resources/Interpreter_tcsh.png + + KHA4M1SP4Z7gtBmzmDys2xSU0PU= + + Resources/Interpreter_zsh.png + + /3TIZFQ+SMBkVW3FeYAqDkwdzUs= + + Resources/License.html + + nvWQS0CRKGyzZn4anCKP/+4JWIo= + + Resources/MainMenu.nib/designable.nib + + c7R5SIdi9I4ffclxOFSuuo5Wge0= + + Resources/MainMenu.nib/keyedobjects-101300.nib + + Q94HYs4wtEUQZnH3x0lVMXolr2o= + + Resources/MainMenu.nib/keyedobjects.nib + + BQ/FwAnZwBUGsxgflzOysDoyhzE= + + Resources/Platypus.nib/keyedobjects-101300.nib + + KfMd6CJpP7Z9Sw5gln1MoyjrH+M= + + Resources/Platypus.nib/keyedobjects-110000.nib + + jC5nAU80qW5r20I3owEjM9zmC/M= + + Resources/Platypus.nib/keyedobjects.nib + + MZtCuXVaZL7S12CYyHSd02v/kBw= + + Resources/PlatypusAppIcon.icns + + NoCsxwYMnPGIK6EwMKFQneNELIU= + + Resources/PlatypusDefault.icns + + cVDBkPoaeNLLrTqin+G4c9W5HA4= + + Resources/Preferences.icns + + Uu9k5yXErlZzT+Z9B5q/Ba8HZdE= + + Resources/ProfileDocument.icns + + ZUvxPe3KFDQt5OEQ/839HoiOrDM= + + Resources/ScriptDocument.icns + + CWuNCA0blpZrCbt8vln6ViGqCXM= + + Resources/ScriptExec.gz + + OhmdzBntQPm5NWP4WVHO64PkARQ= + + Resources/ShellCommandWindow.nib/keyedobjects-101300.nib + + FG+ZQmrtOJK5iRz0AdxuxPJf5oc= + + Resources/ShellCommandWindow.nib/keyedobjects.nib + + LWp++4/RrPmXO2EvinhzEXTgpTs= + + Resources/SyntaxChecker.nib/keyedobjects-101300.nib + + gbqkAp/q9hV/YOy5swRpLkUKj90= + + Resources/SyntaxChecker.nib/keyedobjects.nib + + Hkh4OTIpGlgnwyT/38sgcWGGyXU= + + Resources/UninstallCommandLineTool.sh + + 0eggkqNASz/BqoBOlMERuuUTb60= + + Resources/UninstallPlatypus.sh + + 84tckowXArFlW1M+3y9xZJX0wAw= + + Resources/dsa_pub.pem + + uF0bZTn71ERLrUy9nkFGQFdbKmc= + + Resources/images/args.png + + Krxk2Edi8dAepdNKnlqKEZ8DwM4= + + Resources/images/author_identifier.png + + 2nMUxhjj1twUvWhgtd3c0Vufiss= + + Resources/images/basic_interface.png + + OAWXV9rgpcPo4NBWZhd6E9spBHo= + + Resources/images/built-in_editor.png + + TC+ySAy7xqCkgj0qBPcteaiZMSk= + + Resources/images/bundled_files.png + + Cn0emXzPS8NTpFQ8E2Nd8SRYxcY= + + Resources/images/create_options.png + + 6KFLS7q1GKsxK81ezDTcImXofKE= + + Resources/images/drop_settings.png + + dvJBrESRyR7Uq/ZgFIU8DwZ6EIo= + + Resources/images/interface_droplet.png + + m7BVRfaEH3Yvv2CvTNNM6++uiKQ= + + Resources/images/interface_progressbar.png + + mkE0occNCoSEdLk5j4sojgphk8s= + + Resources/images/interface_statusmenu.png + + MGw4K6r7xnh8e7Xw/vWPnP1uVWU= + + Resources/images/interface_statusmenu2.png + + 7In3HCwjp7LzLCxWZapoF9KGR1w= + + Resources/images/interface_textwindow.png + + 3NTifuGAC4m7PNtj9a9AVUazWDo= + + Resources/images/interface_type.png + + 6l/w/4OKqRssAra9qtRTRZm/IlY= + + Resources/images/interface_webview.png + + FhJCcqlVc7tjQgWOlH1xaVMsFH4= + + Resources/images/platypus.png + + lbX4QXM8TtTwKEdsPxG0aQUUVY8= + + Resources/images/preferences.png + + fcRkwPTfmWMVNlvBFxsfXNIoPis= + + Resources/images/profiles.png + + tVjh8K4lYh7b0rlgUaHXeXxy6yU= + + Resources/images/script_path.png + + /h3dz2tvrtBJ+yjivWK830Ss6T8= + + Resources/images/script_type.png + + hJQO+2RN69RUzgLWDfxpLzbmmvA= + + Resources/images/setting_icon.png + + CNfVk4ZXZUH2KwQhexKCG+8Li54= + + Resources/images/shell_command.png + + WNBMp7Smdv/1WdwptJjpo8Nfc0Q= + + Resources/images/special_options.png + + wZzqZJGmPsnZK0dyx3wJoIM6v/U= + + Resources/images/syntax_checker.png + + yPVGdNGt9+yW0FU6wFfpU5S4PYE= + + Resources/make_examples.pl + + SkeQ4Bt1FmuGMXYQ36kEzErtBv8= + + Resources/platypus.1.gz + + W7HSFd1ps7nXguXUwa1x93epIWU= + + Resources/platypus.man.html + + 9tci90Qq76W3XLltE3FXNgaD/+c= + + Resources/platypus_clt.gz + + f3YvR8sLQPSEFAoemP9AgQMgZTc= + + + files2 + + Frameworks/Sparkle.framework + + cdhash + + 38Fu5ybmSr7lEm7brrXxoJS9tcA= + + requirement + anchor apple generic and identifier "org.sparkle-project.Sparkle" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "5WX26Y89JP") + + Resources/Credits.rtf + + hash + + uM4GdU5kUAFMsMd1H3mxG+647co= + + hash2 + + ysfqQVtwWuAI8kE8W4Bbm5OITLx29APRJXEFOYRVklw= + + + Resources/DefaultStatusMenuIcon.png + + hash + + /hF/DgMpBtZEgkUZFyOmuDFMfgg= + + hash2 + + iC2r4oHLywYmVkM0+/q+oZTX0yaJbXofOR57bIO4Whs= + + + Resources/Documentation.html + + hash + + kjHI51ZUhJ+M6rV8m0/D5l6OdEE= + + hash2 + + XqndHKAmtKHsLLiB+1divqez1iz5snTs4NWvlUtJmLE= + + + Resources/Editor.nib/keyedobjects-101300.nib + + hash + + F8+ZRBXVrFOwxHQLoQFgPYcr3iI= + + hash2 + + pP1vyN0EemGUCf4S0ZVxRJtz7mm+aTVlM85hQwh699w= + + + Resources/Editor.nib/keyedobjects.nib + + hash + + i4oUF0FP+U63bLa0EQmQdQoElNE= + + hash2 + + p3k28PCuCb4dXrW2XF+zGqDsyMRYoqlj1xMZKUt1hjQ= + + + Resources/Examples/AdminPrivilegesDemo.platypus + + hash + + NAIAUMTfDpPcHo6aD5RjPKWPBwg= + + hash2 + + 49Fl9CupTFJsM82bj2bRkY6WBnPDXy1dk5o48XKkYA8= + + + Resources/Examples/AlertMe.platypus + + hash + + S5usUChbbinbjh5wv/s1OA+SH+Q= + + hash2 + + j1zEfS9L7YSS0BMCTuDFLbdWmyHthLV9H1wIqwrfQwU= + + + Resources/Examples/DataURLifier.platypus + + hash + + UjH8d/tcBdhwNjdyTO+BiJoyaCA= + + hash2 + + cKDw4TS1V0l/f2NUKl4q/igOikPwVF/8x3UBrtflt2E= + + + Resources/Examples/FastDMGMounter.platypus + + hash + + 6N2xWbf7fyvxdpJvvQaopk5zEo8= + + hash2 + + +yn8uCOuTi1ywx2DjYuN1AlK0aQ/W2sLnhYpxCbqFvY= + + + Resources/Examples/IcnsToIconset.platypus + + hash + + nTlKzmyQpDz5EGz/4JkXZni2ftU= + + hash2 + + z4mn3hRFw9Ebnn0omFl/Z+FFVa3UVDrQbsLqvOyfwgM= + + + Resources/Examples/ImageResizer.platypus + + hash + + 5PfDo0Boi/t5aIWFaH435xTX8gM= + + hash2 + + dZcs5Nkll3aVKwPhjwfNia2WPgKwZXyU7DIBaJ2sCbU= + + + Resources/Examples/MacbethMenu.platypus + + hash + + 7GRD/sC8qUd0EYOVbQ9XCxyQsDQ= + + hash2 + + Y6GAl6D1bPyi1+L+30v5ZiSXZB4PqrSKG7juNZsevJM= + + + Resources/Examples/PostToNotificationCenter.platypus + + hash + + z4ruiv9FHKUg40goBIQ9aC3r2RU= + + hash2 + + ILLFtIX7rN8vOcGhwv5k1jnjsT0tvJrKLf/TsowV2tg= + + + Resources/Examples/ProcessMenu.platypus + + hash + + iLyr2njsttBrfDttmnxeXEPgPio= + + hash2 + + n4wmUxLu1JBn7fMJGwSjBrrqhoUwzTJhRve9ailDjXY= + + + Resources/Examples/ProgressBar.platypus + + hash + + /Dwt2iuK5zMD5RK6JwUByK6PCIw= + + hash2 + + jVcSuG9P+enxcAnv1LniMnEF0gVhG6sdvO2wh+bukZ0= + + + Resources/Examples/SayURLSchemeHandler.platypus + + hash + + FvomOL1znwl/h01hHaxYZtl2soc= + + hash2 + + Onxf31ydA702l+sVsoVUtaEA6ILg/04P5apo+voZqF4= + + + Resources/Examples/SpeakDroplet.platypus + + hash + + C/4l0+kuF+sJuSDr6H4uj0PfxRM= + + hash2 + + 8H75uBfLBw2tydNFxVxllsvglVsJLZGltaB8VMQXmBQ= + + + Resources/Examples/SpotlightInfo.platypus + + hash + + RKtfD+1u/un0QOoWUobeRPtp4So= + + hash2 + + 2Uxazg3GvmNcY/bauecqsyrpXyv5qAkusGMWmFgz4FI= + + + Resources/Examples/StatusMenuDemo.platypus + + hash + + 2ASVJmKphPTrNAUTvvJ4rHtXw5Y= + + hash2 + + ag+IwpFZvgQrh0ypJX/LjTX6d/tx/kuCRye9ceNk4Po= + + + Resources/Examples/SysLoadMenu.platypus + + hash + + tznUNRRkPseQPnvvcxSVC0K4kgQ= + + hash2 + + s1H4sDd7dNWfDJAxZob78q02PwZFwOFnA/CRUN76ikw= + + + Resources/Examples/TarGzipper.platypus + + hash + + gnZHtFpgaT4vjXiTKV3VslaqjOE= + + hash2 + + M4muvV1NHVsYh52903rRVmZAtP03sA4GwY6ostDh/fY= + + + Resources/Examples/WebViewDroplet.platypus + + hash + + LfT8vTFztY/utVX3kL+HjArwy+4= + + hash2 + + o9mBcNAdguTLUfs/V+GBrs6+qIVYEJIdzP+3Gkt8RH8= + + + Resources/Examples/WordCountService.platypus + + hash + + iHkCtZfdCJnc2JmmZ9qlRlrVa90= + + hash2 + + ++bMUuhldkL11Ux0to2yyauXQsVcTuV+gFv4vvNPtgw= + + + Resources/InstallCommandLineTool.sh + + hash + + /2yIcBCY0Ma+tFEogTWR0Tb/8w0= + + hash2 + + reY65SY0M3yGASzttkWpxiMXkZUO0yCVItgaht5BLF0= + + + Resources/InterfaceType_Droplet.png + + hash + + yGEyKhT9zBtp23xby+2hRxRROz8= + + hash2 + + 2Vc6hKQD5wkrYg41uiQcVrv3XiPXN2cf/C0rwuov2SM= + + + Resources/InterfaceType_None.png + + hash + + fSnF9ps24js2yBmbqWA4CvEtKb4= + + hash2 + + pDs2laMIWHKtgYaEiliRUc8cemoej//EVia3FW90rkQ= + + + Resources/InterfaceType_Progress-Bar.png + + hash + + Uo+6TXwC84DTAMbqmRwFS+DgWFA= + + hash2 + + Mkzepd4SaMJGvWRVCrkLQJmRfxxA3q5AERB+SAIYErI= + + + Resources/InterfaceType_Status-Menu.png + + hash + + aD0f/tQRQUXajTP2Os9o+egfeRU= + + hash2 + + nV1iIm+/H9daYpMMT0QcW6+vtf2BDwAHinHW2UhNu60= + + + Resources/InterfaceType_Text-Window.png + + hash + + bEL4NYbzJo9hgGS0Eiu450RXG24= + + hash2 + + TdjTdLnmHOCgkqw5Dtk0xZKVsQKbQoFNCqcb22KvsOs= + + + Resources/InterfaceType_Web-View.png + + hash + + K4u97OhdgiCqvj2lOXDK8tg7ZGc= + + hash2 + + 5QPNoxvazHQqYJP8EKniw55M1Pn96jObAzUsVOydULY= + + + Resources/Interpreter_AWK.png + + hash + + JkImRVXAATv88wwZPOZFETlo5f0= + + hash2 + + WukcPYXP6/bEw0HeGKrL03StRLgyKeR6rbd2r9KSnjU= + + + Resources/Interpreter_AppleScript.png + + hash + + XDgrPD+Uu2DVq48I55Gf/RgxzQo= + + hash2 + + 1URNX0w6IIfdE3LOA90pz2Hj7T4qsBKKgxiO9swx8/g= + + + Resources/Interpreter_Dart.png + + hash + + 5HFPFQnc4i3kniG5314GH/LcSjw= + + hash2 + + GxUVvsu8tJD3ZtvJjI2UYr1AeIolLUVFdunSfvCMleU= + + + Resources/Interpreter_Expect.png + + hash + + 7db2PTsehYraBaZY8yzPKkhQ1WA= + + hash2 + + aDCmzcUvRgquLFRiU0m/KpjFPGym1rNKET5db4MKuC8= + + + Resources/Interpreter_JavaScript.png + + hash + + 4KWqNarlHuf+f+jIQpgv8V8coOA= + + hash2 + + 3vErmp/6+7ZPplpBkDzCHk8YltwWR+LGRiOU8LpvYbw= + + + Resources/Interpreter_Node.png + + hash + + WE7P1n2+nbpY5mcLtQ5xfoSl/Ro= + + hash2 + + 8QYpUZjVdFtWgP9kwc4gaWCG/oXCvIsvNrrTH04kprY= + + + Resources/Interpreter_PHP.png + + hash + + h4KPYp01xgaG7PP6jSdVio1IKmg= + + hash2 + + emqq4u9l+WNBYUuofQpTe1lS1ay6g+rfgWDEwe1qN0k= + + + Resources/Interpreter_Perl.png + + hash + + l79jzjQ1mDuYxK2ksiarFoEUWDA= + + hash2 + + uR3JkRicVKFZti9hlOOCSAjvKJdr5qYk+lJq8pqkKTQ= + + + Resources/Interpreter_Python_2.png + + hash + + v5fkNER/jdl90MzDg2fpI+09z2I= + + hash2 + + VXy2X7BjVHqoAT+rITbtQ+T+T9FGLX5NV2xrWW82dKE= + + + Resources/Interpreter_Python_3.png + + hash + + v5fkNER/jdl90MzDg2fpI+09z2I= + + hash2 + + VXy2X7BjVHqoAT+rITbtQ+T+T9FGLX5NV2xrWW82dKE= + + + Resources/Interpreter_Ruby.png + + hash + + UROcyfjW+5Y0VIRDO9jxYwd04Fk= + + hash2 + + t+/myMkbMpxYCfJd64I0ezpFYV4VKn2r1cGgbok6jTQ= + + + Resources/Interpreter_Swift.png + + hash + + a0Q6Sy1bCwUd1qyhqdE+HGAWP+4= + + hash2 + + 3NtdARY72Jeya4PCUSUIYkYHMZAfFJc1zo2jbpbuG4A= + + + Resources/Interpreter_Tcl.png + + hash + + 6jZSGJSKwsG0vr0jA0sEOQthl9Y= + + hash2 + + BZP3WvBIuuyCwyRti086HY2Csm8ub0/3Tr5C5psYONc= + + + Resources/Interpreter_bash.png + + hash + + B8A8V5oLETHQj7BsBF7o2V1Gc7U= + + hash2 + + SiSyw5C2zclOl9hwhOtc9QaxXs0S09b41aNaYS6zyNw= + + + Resources/Interpreter_csh.png + + hash + + Wsl5l9Y8mCe3NUFCO16ma0xkbDs= + + hash2 + + HSal8gI1skJQIYeGUzS8sJb7bfD/JCTDulI/JrKV2qw= + + + Resources/Interpreter_env.png + + hash + + 4uKQ6FadB7M088duTY19gQwsB/8= + + hash2 + + sx6QOkIAYtWAbyEk7wgzD+gH3AWFR8tDMJuZClYz61s= + + + Resources/Interpreter_ksh.png + + hash + + CIvUfNEGjehB99KL8tZ0no1rt0w= + + hash2 + + SOK8MHtlKvdrHOqHiZpjxBUPTxIkbj8KF2f2iquYqdo= + + + Resources/Interpreter_sh.png + + hash + + OJNYfdq/AxTdrLvVqBdwu1zUu1U= + + hash2 + + sNcBzY91PjvUbopAeoBqmFS8szqDsWHB6mpoephTIio= + + + Resources/Interpreter_tcsh.png + + hash + + KHA4M1SP4Z7gtBmzmDys2xSU0PU= + + hash2 + + 8I00TUP4kF8JrIsuXrtWKAq9/AcgfburNUXn1EEjnrs= + + + Resources/Interpreter_zsh.png + + hash + + /3TIZFQ+SMBkVW3FeYAqDkwdzUs= + + hash2 + + L3gftyfculL91mPO6niZ0LBHbduv4Y+2ufNFVhB1UQ4= + + + Resources/License.html + + hash + + nvWQS0CRKGyzZn4anCKP/+4JWIo= + + hash2 + + 83UCT07ICNNWGPhUCHaDNspP1KCsotntebp+vG2onoQ= + + + Resources/MainMenu.nib/designable.nib + + hash + + c7R5SIdi9I4ffclxOFSuuo5Wge0= + + hash2 + + 7GE6TpvnKjkZ8/qsTxrbFyweAFAXUyte1zmN8ZAHI8E= + + + Resources/MainMenu.nib/keyedobjects-101300.nib + + hash + + Q94HYs4wtEUQZnH3x0lVMXolr2o= + + hash2 + + 7pFlpYc+GDvzOqb6goP6EA2aC/67jrncqXTi7sEPDOU= + + + Resources/MainMenu.nib/keyedobjects.nib + + hash + + BQ/FwAnZwBUGsxgflzOysDoyhzE= + + hash2 + + oD4cNYrCXVVyJ8JwOR8pvnT8nGOwjK174B+FVN4gB0w= + + + Resources/Platypus.nib/keyedobjects-101300.nib + + hash + + KfMd6CJpP7Z9Sw5gln1MoyjrH+M= + + hash2 + + tpkwQ4t2ymUqpRReNXQRs3eSm5ayAQbm4rBsQLp4Dfc= + + + Resources/Platypus.nib/keyedobjects-110000.nib + + hash + + jC5nAU80qW5r20I3owEjM9zmC/M= + + hash2 + + mf18zCAXh1iS5pLUDyLBBxScRTCwyWtvDagf7JxeK6M= + + + Resources/Platypus.nib/keyedobjects.nib + + hash + + MZtCuXVaZL7S12CYyHSd02v/kBw= + + hash2 + + eOkmDvHBnJ3LKX9HZk0fwKaMi+L8KIb0rKNJcWK7J0Q= + + + Resources/PlatypusAppIcon.icns + + hash + + NoCsxwYMnPGIK6EwMKFQneNELIU= + + hash2 + + H/XHKNu2lsdCvGnfh5hor7WwphO9IlxbPcmOJ3xDLBs= + + + Resources/PlatypusDefault.icns + + hash + + cVDBkPoaeNLLrTqin+G4c9W5HA4= + + hash2 + + JrDI+C3FSLgdUyI1WYlKnCej0NIfmYE+XrtTSBnZ9TA= + + + Resources/Preferences.icns + + hash + + Uu9k5yXErlZzT+Z9B5q/Ba8HZdE= + + hash2 + + uxrKb3ou7fdeS2hU+ShKnelduq9TYfOloBzSdm9Nq9A= + + + Resources/ProfileDocument.icns + + hash + + ZUvxPe3KFDQt5OEQ/839HoiOrDM= + + hash2 + + rtXf2SMijDEQcyXubpgs6BGTaFa8Pj5AAh/xaG+Ohsc= + + + Resources/ScriptDocument.icns + + hash + + CWuNCA0blpZrCbt8vln6ViGqCXM= + + hash2 + + x3ZueeuGwbygQnV6gdQMd3KXhZ2Y/e7GFb0sZ8lSXCQ= + + + Resources/ScriptExec.gz + + hash + + OhmdzBntQPm5NWP4WVHO64PkARQ= + + hash2 + + cfMGuOJp0L/mETCLGgjf68BKQcG5DuvdENDwoRHGPEc= + + + Resources/ShellCommandWindow.nib/keyedobjects-101300.nib + + hash + + FG+ZQmrtOJK5iRz0AdxuxPJf5oc= + + hash2 + + 0zwyCdxJipe7UGh7gFqABAYCLwBrcbjX5ezUigCUliw= + + + Resources/ShellCommandWindow.nib/keyedobjects.nib + + hash + + LWp++4/RrPmXO2EvinhzEXTgpTs= + + hash2 + + ymF7tVdSxf2KQR4KWKPt7J4lIU0pgnWvYD6CZsmqen4= + + + Resources/SyntaxChecker.nib/keyedobjects-101300.nib + + hash + + gbqkAp/q9hV/YOy5swRpLkUKj90= + + hash2 + + pxS43b3mBYbYPdSgLKRxhcS7c+lUFgQQDxof2FEg3iE= + + + Resources/SyntaxChecker.nib/keyedobjects.nib + + hash + + Hkh4OTIpGlgnwyT/38sgcWGGyXU= + + hash2 + + MuZnyuE7muoFwwrH8RaLPFPzgmXwVEGcZKmVN6QMQzk= + + + Resources/UninstallCommandLineTool.sh + + hash + + 0eggkqNASz/BqoBOlMERuuUTb60= + + hash2 + + A6eDa7YFOI5ORzR28n1NsWapZqayrv9PZ0+vz2qU920= + + + Resources/UninstallPlatypus.sh + + hash + + 84tckowXArFlW1M+3y9xZJX0wAw= + + hash2 + + Cwa5c7oeGjd5nY07EqvpDAkKK/ySWqQ4HYOMadUTkgk= + + + Resources/dsa_pub.pem + + hash + + uF0bZTn71ERLrUy9nkFGQFdbKmc= + + hash2 + + Uyj/txdBF9j1h9vFQuT+0k+CUrWut5NgBN+tY+uSPz4= + + + Resources/images/args.png + + hash + + Krxk2Edi8dAepdNKnlqKEZ8DwM4= + + hash2 + + Pp+hOySRr3DguOVyOuHdmbRBfVPxilgTP+xEW3v6Zss= + + + Resources/images/author_identifier.png + + hash + + 2nMUxhjj1twUvWhgtd3c0Vufiss= + + hash2 + + 8sCzkXfoVU15cdpUR8Q+6fOlkWiefuCySt1SeLXyBNw= + + + Resources/images/basic_interface.png + + hash + + OAWXV9rgpcPo4NBWZhd6E9spBHo= + + hash2 + + eLS9XPxk+L1XDJZrqxZ1bSTmo2D8pCX5UtQ89bI4bNM= + + + Resources/images/built-in_editor.png + + hash + + TC+ySAy7xqCkgj0qBPcteaiZMSk= + + hash2 + + wF0nps6h1VI07b5rrNEX4xKlsLBIvp/0mOqWYOwANsw= + + + Resources/images/bundled_files.png + + hash + + Cn0emXzPS8NTpFQ8E2Nd8SRYxcY= + + hash2 + + 1kDWds1US6qXJpK5BROuV73EHc86MTE6/lPXzOU1tnQ= + + + Resources/images/create_options.png + + hash + + 6KFLS7q1GKsxK81ezDTcImXofKE= + + hash2 + + Vya6GHaKMXXSBpsAzE3YmjxqvnesJOOBr2N5XJwFGno= + + + Resources/images/drop_settings.png + + hash + + dvJBrESRyR7Uq/ZgFIU8DwZ6EIo= + + hash2 + + BbeWkAXw8Hi3YX2qU7nkakVqzlHL2x7CKRmwQPYwkf4= + + + Resources/images/interface_droplet.png + + hash + + m7BVRfaEH3Yvv2CvTNNM6++uiKQ= + + hash2 + + gw77IyNflcPLQDMwm2qO/ybZHU5TiBIOdz5Wdlo0VmE= + + + Resources/images/interface_progressbar.png + + hash + + mkE0occNCoSEdLk5j4sojgphk8s= + + hash2 + + qn6rzu96hcIphQ9G3ZhiQ2WJWMHAOn7tCBCCcChkFFI= + + + Resources/images/interface_statusmenu.png + + hash + + MGw4K6r7xnh8e7Xw/vWPnP1uVWU= + + hash2 + + bv/bPvmwuft5sxtv6GMTf0IUoDo4d/6dmCYAJ3w2iDA= + + + Resources/images/interface_statusmenu2.png + + hash + + 7In3HCwjp7LzLCxWZapoF9KGR1w= + + hash2 + + Wg+8Z74smpLCVutuqqhFivMhPLc8QnfA3VGBbkmo3Ns= + + + Resources/images/interface_textwindow.png + + hash + + 3NTifuGAC4m7PNtj9a9AVUazWDo= + + hash2 + + gGgyXbYPuKBKhqLJlk22wZSpeaXpJL3lqNPx6g+BDeY= + + + Resources/images/interface_type.png + + hash + + 6l/w/4OKqRssAra9qtRTRZm/IlY= + + hash2 + + l/8nhPxDhlfy/q0b7goQ+3D6jZvbosPLeCrA03Aakm0= + + + Resources/images/interface_webview.png + + hash + + FhJCcqlVc7tjQgWOlH1xaVMsFH4= + + hash2 + + FPlMerhrwC1p5CD1kMBipZhpRjY90xi29fUhjSRlEJk= + + + Resources/images/platypus.png + + hash + + lbX4QXM8TtTwKEdsPxG0aQUUVY8= + + hash2 + + vXz0FMdntevC0gcO57xeGBXhJ6uWdovOkJr3u9CIdLU= + + + Resources/images/preferences.png + + hash + + fcRkwPTfmWMVNlvBFxsfXNIoPis= + + hash2 + + b+BZmqUJQ5WvB9zou/niXrDWjV3spRXaqNjmpoSS4sk= + + + Resources/images/profiles.png + + hash + + tVjh8K4lYh7b0rlgUaHXeXxy6yU= + + hash2 + + ZsUhINvPFpxDvIuowyPQUqtRVIjNB+57lR3twAcVZMc= + + + Resources/images/script_path.png + + hash + + /h3dz2tvrtBJ+yjivWK830Ss6T8= + + hash2 + + mdULE+iQIM8KXpcHFoV9CIQ3bcN7Gnv3YsZFXI3TJU4= + + + Resources/images/script_type.png + + hash + + hJQO+2RN69RUzgLWDfxpLzbmmvA= + + hash2 + + upg2dH1d+Vj6Xax8mV6loLlyQ0nc97sBFIJTcJ84LEQ= + + + Resources/images/setting_icon.png + + hash + + CNfVk4ZXZUH2KwQhexKCG+8Li54= + + hash2 + + Xg26yqLEXEXiWW6nS+JmGm9zXrZkGTmVt/KMc46y01Q= + + + Resources/images/shell_command.png + + hash + + WNBMp7Smdv/1WdwptJjpo8Nfc0Q= + + hash2 + + FtmA00h+TynTM38ZM1sdoL2Xg6ElRU8KOjht/vA39Jk= + + + Resources/images/special_options.png + + hash + + wZzqZJGmPsnZK0dyx3wJoIM6v/U= + + hash2 + + fYedUvAMcYt/AJdEV0ATUzm3RecWLiP29FBGuypSnd0= + + + Resources/images/syntax_checker.png + + hash + + yPVGdNGt9+yW0FU6wFfpU5S4PYE= + + hash2 + + ruG/zhCT+0UxwtXeSotMM3SVlwM6OUjXDjK5IjlsWDo= + + + Resources/make_examples.pl + + hash + + SkeQ4Bt1FmuGMXYQ36kEzErtBv8= + + hash2 + + V2ncui9iUUZKy9JT06Mv4xkU2hFiXVoPwiNpi6debEQ= + + + Resources/platypus.1.gz + + hash + + W7HSFd1ps7nXguXUwa1x93epIWU= + + hash2 + + KDVfCPQg/TJQzcNW9dIErl/YIj+yv3nH8ndjbn0llWw= + + + Resources/platypus.man.html + + hash + + 9tci90Qq76W3XLltE3FXNgaD/+c= + + hash2 + + HtIfc3MQMF0TlvI94K/kbGT4UHVBumffl5oRWVC8R0A= + + + Resources/platypus_clt.gz + + hash + + f3YvR8sLQPSEFAoemP9AgQMgZTc= + + hash2 + + d+qa16kc1OdmkgZb1zlCKpyYI3P2WEYGEZFUMa97qYs= + + + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/platypus/README.md b/platypus/README.md new file mode 100644 index 0000000..f0762b4 --- /dev/null +++ b/platypus/README.md @@ -0,0 +1,8 @@ +Retrieved from https://sveinbjorn.org/platypus on 2024/09/14. +Notes are: + +> The latest version is Platypus 5.4.1, released on October +> 22nd, 2022. Platypus and Platypus-generated applications require +> macOS 10.11 or later, and are Universal 64-bit Intel/ARM binaries. +> The main Platypus application and command line tool are Apple +> Developer ID signed.