Vendor platypus.app

Let's see if it can be made to work.
This commit is contained in:
John Doty 2024-09-14 18:18:14 -07:00
parent 51049b4d30
commit e8c91189c0
136 changed files with 7058 additions and 0 deletions

View file

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AcceptsFiles</key>
<false/>
<key>AcceptsText</key>
<false/>
<key>Authentication</key>
<true/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>DeclareService</key>
<false/>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>AdminPrivilegesDemo.sh</string>
<key>Script</key>
<string>#!/bin/sh
echo &quot;This demo shows execution using admin privileges by creating a file in /etc/&quot;
echo &quot;Running command /usr/bin/touch /etc/admin_priv_demo_testfile&quot;
/usr/bin/touch /etc/admin_priv_demo_testfile
echo &quot;Return code: $?&quot;
echo &quot;Running command /bin/test -e touch /etc/admin_priv_demo_testfile&quot;
/bin/test -e /etc/admin_priv_demo_testfile
echo &quot;Return code: $?&quot;
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<false/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.AdminPrivilegesDemo</string>
<key>InterfaceType</key>
<string>Text Window</string>
<key>InterpreterArgs</key>
<array/>
<key>InterpreterPath</key>
<string>/bin/sh</string>
<key>Name</key>
<string>AdminPrivilegesDemo</string>
<key>OptimizeApplication</key>
<true/>
<key>PromptForFileOnLaunch</key>
<false/>
<key>RemainRunning</key>
<true/>
<key>ScriptArgs</key>
<array/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemIconIsTemplate</key>
<false/>
<key>StatusItemTitle</key>
<string>MyPlatypusApp</string>
<key>StatusItemUseSystemFont</key>
<true/>
<key>Suffixes</key>
<array/>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>13</real>
<key>UniformTypes</key>
<array/>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AcceptsFiles</key>
<false/>
<key>AcceptsText</key>
<false/>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>DeclareService</key>
<false/>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>AlertMe.sh</string>
<key>Script</key>
<string>#!/bin/sh
echo &quot;PROGRESS:20%&quot;
sleep 1
echo &quot;About to show alert&quot;
echo &quot;PROGRESS:50%&quot;
sleep 2
echo &quot;Almost there...&quot;
echo &quot;ALERT:This is an alert|Here you can put your test&quot;
sleep 1
echo &quot;PROGRESS:75%&quot;
sleep 1
echo &quot;PROGRESS:100%&quot;
sleep 2
echo &quot;ALERT:Example Over|We&apos;re all done here.&quot;
echo &quot;Task completed&quot;
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<false/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.AlertMe</string>
<key>InterpreterPath</key>
<string>/bin/sh</string>
<key>InterpreterArgs</key>
<array/>
<key>InterfaceType</key>
<string>Progress Bar</string>
<key>Name</key>
<string>AlertMe</string>
<key>OptimizeApplication</key>
<true/>
<key>PromptForFileOnLaunch</key>
<false/>
<key>RemainRunning</key>
<true/>
<key>ScriptArgs</key>
<array/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemIconIsTemplate</key>
<false/>
<key>StatusItemTitle</key>
<string>MyPlatypusApp</string>
<key>StatusItemUseSystemFont</key>
<true/>
<key>Suffixes</key>
<array/>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>13</real>
<key>UniformTypes</key>
<array/>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AcceptsFiles</key>
<true/>
<key>AcceptsText</key>
<false/>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>DeclareService</key>
<false/>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>DataURLifier.sh</string>
<key>Script</key>
<string>#!/bin/sh
if [ ! -e &quot;$1&quot; ]
then
echo &quot;Drop a file to see its Data URL&quot;
exit
fi
# Data urls have the form data:MIME_TYPE;base64,DATA
FILE_PATH=&quot;$1&quot;
BASE64_DATA=$( base64 &quot;$FILE_PATH&quot; )
MIME_TYPE=$( file -b --mime-type &quot;$FILE_PATH&quot; )
echo &quot;data:$MIME_TYPE;base64,$BASE64_DATA&quot;
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<true/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.DataURLifier</string>
<key>InterpreterPath</key>
<string>/bin/sh</string>
<key>InterpreterArgs</key>
<array/>
<key>InterfaceType</key>
<string>Text Window</string>
<key>Name</key>
<string>DataURLifier</string>
<key>OptimizeApplication</key>
<true/>
<key>PromptForFileOnLaunch</key>
<false/>
<key>RemainRunning</key>
<true/>
<key>ScriptArgs</key>
<array/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemIconIsTemplate</key>
<false/>
<key>StatusItemTitle</key>
<string>MyPlatypusApp</string>
<key>StatusItemUseSystemFont</key>
<true/>
<key>Suffixes</key>
<array>
<string>*</string>
</array>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>13</real>
<key>UniformTypes</key>
<array/>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AcceptsText</key>
<false/>
<key>AcceptsFiles</key>
<true/>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>DocIconPath</key>
<string>/System/Library/CoreServices/DiskImageMounter.app/Contents/Resources/diskcopy-doc.icns</string>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>FastDMGMounter.sh</string>
<key>Script</key>
<string>#!/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 &quot;Y&quot; | /usr/bin/hdid &quot;$1&quot;
# See http://www.tuaw.com/2011/12/30/daily-mac-app-flashmount-quickly-mounts-disk-images/
</string>
<key>Droppable</key>
<true/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.FastDMGMounter</string>
<key>InterpreterPath</key>
<string>/bin/bash</string>
<key>Name</key>
<string>FastDMGMounter</string>
<key>OptimizeApplication</key>
<true/>
<key>InterfaceType</key>
<string>None</string>
<key>InterpreterArgs</key>
<array>
<string>-f</string>
</array>
<key>RemainRunning</key>
<false/>
<key>RunInBackground</key>
<true/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemTitle</key>
<string>MyPlatypusApp</string>
<key>Suffixes</key>
<array>
<string>dmg</string>
</array>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>10</real>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AcceptsFiles</key>
<true/>
<key>AcceptsText</key>
<false/>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>DeclareService</key>
<false/>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>IcnsToIconset.sh</string>
<key>Script</key>
<string>#!/bin/sh
# Convert Apple .icns icon files to iconset folder
# containing PNG images for each representation
for var in &quot;$@&quot;
do
echo &quot;Converting $var to iconset&quot;
iconutil --convert iconset &quot;$var&quot;
done
# Open containing folder
DIR=$(dirname $1)
open &quot;$DIR&quot;
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<true/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.IcnsToIconset</string>
<key>InterpreterPath</key>
<string>/bin/sh</string>
<key>InterpreterArgs</key>
<array/>
<key>Name</key>
<string>IcnsToIconset</string>
<key>OptimizeApplication</key>
<true/>
<key>InterfaceType</key>
<string>Progress Bar</string>
<key>PromptForFileOnLaunch</key>
<true/>
<key>RemainRunning</key>
<true/>
<key>ScriptArgs</key>
<array/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemTitle</key>
<string>MyPlatypusApp</string>
<key>StatusItemUseSystemFont</key>
<true/>
<key>Suffixes</key>
<array/>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>12</real>
<key>UniformTypes</key>
<array>
<string>com.apple.icns</string>
</array>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AcceptsFiles</key>
<true/>
<key>AcceptsText</key>
<false/>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>DeclareService</key>
<false/>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>ImageResizer.sh</string>
<key>Script</key>
<string>#!/bin/sh
# Use Apple&apos;s Scriptable Image Processing System (sips)
# to resize dropped images to dimensions 512x512
for var in &quot;$@&quot;
do
echo &quot;Resizing $var&quot;
basename=$(echo &quot;$var&quot; | cut -f 1 -d &apos;.&apos;)
sips -z 512 512 &quot;$var&quot; --out &quot;$basename-512x512.png&quot; &amp;&gt; /dev/null
done
if [ ! $# -eq &quot;0&quot; ]; then
echo &quot;Done processing $# images&quot;
else
echo &quot;Drop images on this window to resize them to 512x512&quot;
fi
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<true/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.ImageResizer</string>
<key>InterpreterPath</key>
<string>/bin/sh</string>
<key>InterpreterArgs</key>
<array/>
<key>Name</key>
<string>ImageResizer</string>
<key>OptimizeApplication</key>
<true/>
<key>InterfaceType</key>
<string>Text Window</string>
<key>PromptForFileOnLaunch</key>
<false/>
<key>RemainRunning</key>
<true/>
<key>ScriptArgs</key>
<array/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemTitle</key>
<string>MyPlatypusApp</string>
<key>StatusItemUseSystemFont</key>
<true/>
<key>Suffixes</key>
<array/>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>San Francisco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>13</real>
<key>UniformTypes</key>
<array>
<string>public.image</string>
</array>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>MacbethMenu.pl</string>
<key>Script</key>
<string>#!/usr/bin/perl
# If 0 arguments, we show menu
if (!scalar(@ARGV)) {
print &quot;Life&apos;s but a walking shadow, a poor player\n&quot;;
print &quot;That struts and frets his hour upon the stage\n&quot;;
print &quot;And then is heard no more.\n&quot;;
} else {
# We get the menu title as an argument
# and feed it to the Mac OS X voice synthesizer
system(&quot;/usr/bin/say \&quot;$ARGV[0]\&quot;&quot;);
}
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<false/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.MacbethMenu</string>
<key>InterpreterPath</key>
<string>/usr/bin/perl</string>
<key>Name</key>
<string>MacbethMenu</string>
<key>OptimizeApplication</key>
<false/>
<key>InterfaceType</key>
<string>Status Menu</string>
<key>InterpretarArgs</key>
<array/>
<key>RemainRunning</key>
<true/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemTitle</key>
<string>Macbeth</string>
<key>Suffixes</key>
<array/>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>10</real>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>PostToNotificationCenter.sh</string>
<key>Script</key>
<string>#!/bin/sh
# The Platypus wrapper parses NOTIFICATION:* and sends on to Notification Center
echo &quot;NOTIFICATION:Hello, world!|How are you today?&quot;
sleep 2
echo &quot;NOTIFICATION:Hello, again!|Doing better?&quot;
sleep 2
</string>
<key>Droppable</key>
<false/>
<key>SendNotifications</key>
<true/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.PostToNotificationCenter</string>
<key>InterpreterPath</key>
<string>/bin/sh</string>
<key>Name</key>
<string>PostToNotificationCenter</string>
<key>OptimizeApplication</key>
<false/>
<key>InterfaceType</key>
<string>None</string>
<key>InterpreterArgs</key>
<array/>
<key>RemainRunning</key>
<false/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemTitle</key>
<string>MyApp</string>
<key>Suffixes</key>
<array/>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>10</real>
<key>Version</key>
<string>1.0</string>
<key>DocIconPath</key>
<string></string>
</dict>
</plist>

View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>ProcessMenu.sh</string>
<key>Script</key>
<string>#!/bin/sh
# terse process listing
ps cax
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<false/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.ProcessMenu</string>
<key>InterpreterPath</key>
<string>/bin/sh</string>
<key>Name</key>
<string>ProcessMenu</string>
<key>OptimizeApplication</key>
<false/>
<key>InterfaceType</key>
<string>Status Menu</string>
<key>InterpreterArgs</key>
<array/>
<key>RemainRunning</key>
<true/>
<key>RunInBackground</key>
<true/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemTitle</key>
<string>PS</string>
<key>Suffixes</key>
<array/>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>10</real>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>ProgressBar.sh</string>
<key>Script</key>
<string>#!/bin/sh
/usr/bin/say &quot;This example shows you can control the progress bar.&quot;
echo &quot;PROGRESS:0&quot;
echo &quot;Doing something&quot;
sleep 1
echo &quot;PROGRESS:10&quot;
sleep 1
echo &quot;PROGRESS:20&quot;
sleep 1
echo &quot;Showing Details&quot;
echo &quot;DETAILS:SHOW&quot;
sleep 1
echo &quot;PROGRESS:30&quot;
sleep 1
echo &quot;Hiding Details&quot;
sleep 1
echo &quot;DETAILS:HIDE&quot;
sleep 1
echo &quot;Doing something else&quot;
echo &quot;PROGRESS:40&quot;
sleep 1
echo &quot;PROGRESS:50&quot;
sleep 1
echo &quot;PROGRESS:60&quot;
sleep 1
echo &quot;And now for something completely different&quot;
echo &quot;PROGRESS:70&quot;
sleep 1
echo &quot;Quitting application in 2 seconds&quot;
sleep 2
echo &quot;QUITAPP&quot;
echo &quot;PROGRESS:80&quot;
sleep 1
echo &quot;PROGRESS:90&quot;
sleep 1
echo &quot;PROGRESS:100&quot;
echo &quot;Done&quot;</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<false/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.ProgressBar</string>
<key>InterpreterPath</key>
<string>/bin/sh</string>
<key>Name</key>
<string>ProgressBar</string>
<key>OptimizeApplication</key>
<false/>
<key>InterfaceType</key>
<string>Progress Bar</string>
<key>InterpreterArgs</key>
<array/>
<key>RemainRunning</key>
<true/>
<key>RunInBackground</key>
<false/>
<key>Suffixes</key>
<array/>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextEncoding</key>
<integer>4</integer>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>10</real>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AcceptsFiles</key>
<false/>
<key>AcceptsText</key>
<true/>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>DeclareService</key>
<true/>
<key>DevelopmentVersion</key>
<false/>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<false/>
<key>Example</key>
<true/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.SayURLSchemeHandler</string>
<key>InterfaceType</key>
<string>None</string>
<key>InterpreterArgs</key>
<array/>
<key>InterpreterPath</key>
<string>/usr/bin/python</string>
<key>Name</key>
<string>SayURLSchemeHandler</string>
<key>OptimizeApplication</key>
<true/>
<key>Overwrite</key>
<false/>
<key>PromptForFileOnLaunch</key>
<false/>
<key>RemainRunning</key>
<false/>
<key>ScriptArgs</key>
<array/>
<key>Script</key>
<string>#!/usr/bin/python
from subprocess import call
import sys
text = sys.argv[1]
text = text[6:]
text = text.replace(&apos;-&apos;, &apos; &apos;)
if len(text):
call([&quot;/usr/bin/say&quot;, text])
</string>
<key>ScriptName</key>
<string>SayURLSchemeHandler</string>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemIconIsTemplate</key>
<false/>
<key>StatusItemTitle</key>
<string>Title</string>
<key>StatusItemUseSystemFont</key>
<true/>
<key>Suffixes</key>
<array/>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>13</real>
<key>URISchemes</key>
<array>
<string>say</string>
</array>
<key>UniformTypes</key>
<array/>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>AcceptsFiles</key>
<true/>
<key>AcceptsText</key>
<false/>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>SpeakDroplet.sh</string>
<key>Script</key>
<string>#!/bin/sh
# Pipe the contents of first file argument to &apos;say&apos;,
# which is the command line interface to Apple&apos;s Speech Synthesizer.
echo &quot;Speaking...&quot;
cat $1 | say
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<true/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.SpeakDroplet</string>
<key>InterpreterPath</key>
<string>/bin/sh</string>
<key>Name</key>
<string>SpeakDroplet</string>
<key>OptimizeApplication</key>
<false/>
<key>InterfaceType</key>
<string>Droplet</string>
<key>InterpreterArgs</key>
<array/>
<key>RemainRunning</key>
<true/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemTitle</key>
<string>MyApp</string>
<key>Suffixes</key>
<array>
<string>*</string>
</array>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>10</real>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Authentication</key>
<false/>
<key>AcceptsFiles</key>
<true/>
<key>AcceptsText</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>SpotlightInfo.sh</string>
<key>Script</key>
<string>#!/usr/bin/perl
# Uses the mdls command to list meta data info on dropped files
foreach(@ARGV)
{
print &quot;META-DATA INFO FOR &apos;$_&apos;:\n&quot;;
system(&quot;/usr/bin/mdls &apos;$_&apos;&quot;);
print &quot;------------||------------\n\n&quot;;
}
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<true/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.SpotlightInfo</string>
<key>InterpreterPath</key>
<string>/usr/bin/perl</string>
<key>Name</key>
<string>SpotlightInfo</string>
<key>OptimizeApplication</key>
<false/>
<key>InterfaceType</key>
<string>Text Window</string>
<key>InterpreterArgs</key>
<array/>
<key>RemainRunning</key>
<true/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemTitle</key>
<string>MyApp</string>
<key>Suffixes</key>
<array>
<string>*</string>
</array>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>10</real>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>StatusMenuDemo.pl</string>
<key>Script</key>
<string>#!/usr/bin/perl
print &quot;MENUITEMICON|AppIcon.icns|Menu item icon can be a bundled image\n&quot;;
print &quot;MENUITEMICON|/Library/Application Support/Apple/iChat Icons/Flags/Iceland.png|Or an image on the file system\n&quot;;
print &quot;MENUITEMICON|https://sveinbjorn.org/images/andlat.png|Or even a URL!\n&quot;;
print &quot;SUBMENU|Submenu|Item 1|Item 2|Item 3\n&quot;;
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<false/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.StatusMenuDemo</string>
<key>InterpreterPath</key>
<string>/usr/bin/perl</string>
<key>Name</key>
<string>StatusMenuDemo</string>
<key>OptimizeApplication</key>
<false/>
<key>InterfaceType</key>
<string>Status Menu</string>
<key>InterpretarArgs</key>
<array/>
<key>RemainRunning</key>
<true/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemUseSystemFont</key>
<true/>
<key>StatusItemTitle</key>
<string>IconDemo</string>
<key>Suffixes</key>
<array/>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>10</real>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>SysLoadMenu.sh</string>
<key>Script</key>
<string>#!/bin/sh
w
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<false/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.SysLoadMenu</string>
<key>InterpreterPath</key>
<string>/bin/sh</string>
<key>Name</key>
<string>SysLoadMenu</string>
<key>OptimizeApplication</key>
<false/>
<key>InterfaceType</key>
<string>Status Menu</string>
<key>InterpretarArgs</key>
<array/>
<key>RemainRunning</key>
<true/>
<key>RunInBackground</key>
<true/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemUseSystemFont</key>
<false/>
<key>StatusItemIconIsTemplate</key>
<false/>
<key>StatusItemTitle</key>
<string>w</string>
<key>Suffixes</key>
<array/>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>10</real>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Authentication</key>
<false/>
<key>AcceptsFiles</key>
<true/>
<key>AcceptsText</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>TarGzipper.pl</string>
<key>Script</key>
<string>#!/usr/bin/perl
use strict;
use File::Basename;
if (!scalar(@ARGV) or ! -e $ARGV[0])
{
print &quot;Drop some files to create a tgz archive\n&quot;;
exit;
}
my $cmd = &quot;/usr/bin/tar cvfz &quot;;
# 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 = &quot;Archive.tgz&quot;;
my $files;
foreach(@ARGV)
{
if (!$_ or ! -e $_) { next; }
my($filename, $directory) = fileparse($_);
$files .= &quot;&apos;$filename&apos; &quot;;
}
print $cmd . &quot;\n&quot;;
system(&quot;$cmd $dest_path $files&quot;);
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<true/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.TarGzipper</string>
<key>InterpreterPath</key>
<string>/usr/bin/perl</string>
<key>Name</key>
<string>TarGzipper</string>
<key>OptimizeApplication</key>
<false/>
<key>InterfaceType</key>
<string>Text Window</string>
<key>InterpreterArgs</key>
<array/>
<key>RemainRunning</key>
<true/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemTitle</key>
<string>MyApp</string>
<key>Suffixes</key>
<array>
<string>*</string>
</array>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>10</real>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AcceptsFiles</key>
<true/>
<key>AcceptsText</key>
<false/>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>DeclareService</key>
<false/>
<key>Overwrite</key>
<false/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>WebViewDroplet.py</string>
<key>Script</key>
<string>#!/usr/bin/python
import sys
import os
header = &quot;&quot;&quot;&lt;html&gt;
&lt;head&gt;
&lt;style type=&apos;text/css&apos;&gt;
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;
}
&lt;/style&gt;
&lt;body&gt;
&quot;&quot;&quot;
footer = &quot;\n&lt;/body&gt;\n&quot;
print header
numfiles = len(sys.argv[1:]);
if numfiles &gt; 0:
print &quot;&lt;h1&gt;&quot; + str(numfiles) + &quot; files&lt;/h1&gt;&quot;
print &quot;&lt;ul&gt;&quot;
for arg in sys.argv[1:]:
print &quot;&lt;li&gt;&lt;strong&gt;&quot; + os.path.basename(arg) + &quot;&lt;/strong&gt; (&quot; + str(os.path.getsize(arg)) + &quot; bytes)&lt;/li&gt;\n&quot;
print &quot;&lt;/ul&gt;&quot;
else:
print &quot;&lt;h4&gt;Go ahead and drop some files on the window&lt;/h4&gt;&quot;
print footer</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<true/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.WebViewDroplet</string>
<key>InterpreterPath</key>
<string>/usr/bin/python</string>
<key>InterpreterArgs</key>
<array/>
<key>Name</key>
<string>WebViewDroplet</string>
<key>OptimizeApplication</key>
<true/>
<key>InterfaceType</key>
<string>Web View</string>
<key>PromptForFileOnLaunch</key>
<true/>
<key>RemainRunning</key>
<true/>
<key>ScriptArgs</key>
<array/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemTitle</key>
<string>MyPlatypusApp</string>
<key>StatusItemUseSystemFont</key>
<true/>
<key>Suffixes</key>
<array>
<string>*</string>
</array>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>13</real>
<key>UniformTypes</key>
<array/>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AcceptsFiles</key>
<false/>
<key>AcceptsText</key>
<true/>
<key>Authentication</key>
<false/>
<key>Author</key>
<string>Sveinbjorn Thordarson</string>
<key>BundledFiles</key>
<array/>
<key>Creator</key>
<string>Platypus-5.4.1</string>
<key>DeclareService</key>
<true/>
<key>Overwrite</key>
<true/>
<key>DevelopmentVersion</key>
<false/>
<key>Example</key>
<true/>
<key>ScriptName</key>
<string>WordCountService.sh</string>
<key>Script</key>
<string>#!/bin/sh
INPUT=`cat /dev/stdin`
LEN=${#INPUT}
if [ ! $LEN -gt 0 ]; then
exit 0
fi
WC=`echo $INPUT | wc -w`
echo &quot;ALERT:$WC words|&quot;
say &quot;$WC words&quot;
</string>
<key>DocIconPath</key>
<string></string>
<key>Droppable</key>
<true/>
<key>IconPath</key>
<string></string>
<key>Identifier</key>
<string>org.sveinbjorn.WordCountService</string>
<key>InterpreterPath</key>
<string>/bin/sh</string>
<key>InterpreterArgs</key>
<array/>
<key>Name</key>
<string>WordCountService</string>
<key>OptimizeApplication</key>
<true/>
<key>InterfaceType</key>
<string>None</string>
<key>PromptForFileOnLaunch</key>
<false/>
<key>RemainRunning</key>
<false/>
<key>ScriptArgs</key>
<array/>
<key>RunInBackground</key>
<false/>
<key>StatusItemDisplayType</key>
<string>Text</string>
<key>StatusItemIcon</key>
<data></data>
<key>StatusItemTitle</key>
<string>MyPlatypusApp</string>
<key>StatusItemUseSystemFont</key>
<true/>
<key>Suffixes</key>
<array>
<string>*</string>
</array>
<key>TextBackground</key>
<string>#ffffff</string>
<key>TextFont</key>
<string>Monaco</string>
<key>TextForeground</key>
<string>#000000</string>
<key>TextSize</key>
<real>13</real>
<key>UniformTypes</key>
<array/>
<key>Version</key>
<string>1.0</string>
</dict>
</plist>