On Friday April 17 2015 18:54:19 David Evans wrote:

>> We have the app portgroup, which is just a shell wrapper to run a program in 
>> $prefix/bin. Is that still the only available option?

I have been working off and on (more off than on) on a version of the old 
DropScript, exactly with the goal of being able to integrate traditional 
applications with LaunchServices. It works well enough for me ATM but needs 
polishing, and officially a reply from the original author to know if and what 
kind of license we can stick on the code.

For those who are (somehow :)) not aware: LaunchServices does not work like its 
equivalent on MS Windows, at least not the part that most Mac users interact 
with. Double-clicking a document, dragging a document onto the app icon do not 
lead to main being called with argc,argv set to reflect the documents 
concerned. Events ("messages") are used instead, and you need to declare a 
principle class that replies to these messages to be able to open the 
documents. Qt does have some infrastructure in place for that, but it clearly 
isn't automatic. I have no idea about GTk in this domain.
BTW, it is also possible to send regular arguments via LaunchServices (e.g. 
`open -a Foo.app --args arg1 arg2 etc`).
It's not impossible to write some code that intercepts the LS messages that can 
be injected at the head of main, but it given that it works by calling main 
once more (or doing an exec) it's just as clean to write an external wrapper 
which (re)creates a proper argc,argv structure.

R.
_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to