Yes, pass the plist as stdin instead of via -p, then you also do not need to shell escape it.
So from Ruby, with ‘params’ being a ruby hash:
open("|\"$DIALOG\" -t#{token}", "w") { |io| io <<
params.to_plist }
OK. Making sense so far, but how is the window token defined, and is it necessary when using a custom nib? I tried using:
plist = { 'photosets' => setarray }.to_plist res = open("|"$DIALOG" -m select_photoset", "w") { |io| io << plist }
and got back what looked like a perfect xml response but with this at the end:
Received exception:undefined method
The problem seems to be in how I'm calling tm_dialog, so I'm hoping it's an obvious solution…
Thanks, Brett