[isabelle-dev] Mac App
Makarius
makarius at sketis.net
Mon Jul 23 20:36:16 CEST 2012
On Mon, 23 Jul 2012, Lawrence Paulson wrote:
> By “today" do you mean literally today, or the 2012 release? I'm puzzled
> that you have two things released today.
I have merely pushed two changesets:
>> (4) http://isabelle.in.tum.de/repos/isabelle/rev/6d9c43f51e60 (today)
>> (5) http://isabelle.in.tum.de/repos/isabelle/rev/4ad6182d5bb9 (today)
For extra convenience I have added the full URL and some hint about the
dates. The full information is already given by the changeset ids
(abbreviated SHA1 keys), so with the Mercurial front-end of your choice
you can retrieve all these details, and more.
The above merely gives you the updated Admin/MacOS/App1/README and mk
script to repeat the process yourself.
> I just made the two small changes mentioned in my e-mail, and they allow
> drag-and-drop. I don't see document icons working yet, which is
> puzzling, because they worked with the old application.
Here are your edits after according to diff -w:
> <key>CFBundleDocumentTypes</key>
> <array>
> <dict>
> <key>CFBundleTypeExtensions</key>
> <array>
> <string>thy</string>
> </array>
> <key>CFBundleTypeIconFile</key>
> <string>Isabelle theory.icns</string>
> <key>CFBundleTypeName</key>
> <string>Isabelle theory</string>
> <key>CFBundleTypeRole</key>
> <string>Editor</string>
> </dict>
> </array>
> I didn't do this with platypus. I just did it.
The Info.plist edited here was generated by Platypus 4.0. The main thing
is the executable application wrapper of Platypus, and the plist needs to
correspond to that. After updating to Platypus 4.7 I've got a different
Info.plist, which was not very surprising.
Editing generated files only works one-shot, not for long-term
maintenance.
> I looked up somewhere how you get icons for documents and how you
> associate them with applications.
Do you have some concrete links with explanations how this works?
> The issue of multiple applications winning is a classic one on any Mac,
> and users should be able to know how to deal with that.
Our situation is not quite classic:
>> The problems leading to (3) were manyfold: unclarity which Isabelle
>> application "wins" when many of them are on the system (which happens
>> routinely); unclarity what happens due to nested applications (Platypus
>> wrapper, Emacs or Java Runtime etc.)
Where "nested" means that the shell script invokes another application,
which was some Emacs.app in 2009 when I disabled the attempt with the
document--application connection at that time, see again
Isabelle/9343d4b7c5bf with the Mercurial changeset browser of your choice.
BTW, since you are now one of the Proof General maintainers, you may have
to understand its integration with Isabelle.app, and potentially find ways
to avoid some of its oddities caused by Isabelle.app invoking Emacs.app
via a shell script.
For Isabelle/jEdit there might be ways in the future to avoid all that,
running more directly some .jar application. But that reform is not
imminent.
Makarius
More information about the isabelle-dev
mailing list