Before asking the finder to start the application (if start=1 is specified), check that it isn't incidentally running already.
diff --git a/Mac/Lib/lib-toolbox/aetools.py b/Mac/Lib/lib-toolbox/aetools.py
index 42b6b76..1af761e 100644
--- a/Mac/Lib/lib-toolbox/aetools.py
+++ b/Mac/Lib/lib-toolbox/aetools.py
@@ -161,7 +161,10 @@
def start(self):
"""Start the application, if it is not running yet"""
- _launch(self.target_signature)
+ try:
+ self.send('ascr', 'noop')
+ except AE.Error:
+ _launch(self.target_signature)
def newevent(self, code, subcode, parameters = {}, attributes = {}):
"""Create a complete structure for an apple event"""