[txmt-dev] Re: Declaring imported UTIs from tmBundle?
Allan Odgaard
mailinglist at textmate.org
Sun May 22 09:50:56 UTC 2016
On 21 May 2016, at 15:46, Per Persson wrote:
>> The problem is that this information must be in the application’s
>> Info.plist, so if TextMate were to import this from bundles, it would
>> have to rewrite its own Info.plist […]
> TextMate doesn't necessarily have to modify its own Info.plist, right?
> By constructing a helper app, e.g. in Application Support, with a
> tailored Info.plist based on info collected from the active bundles,
> and then using lsregister to register/unregister UTI types there
> wouldn't be any need to even run it (example below, based on
> http://apple.stackexchange.com/a/175395).
That is true, but if you want custom icons for the file types, they must
be assigned to this helper app.
This means the app will be launched when opening one of the file types,
and that’s where the signing requirement comes in, otherwise we’ll
get a GateKeeper warning.
If the user has the developer tools, it might be possible to do ad-hoc
signing, otherwise there is the ability to exclude certain files from
the signing, so it could maybe be possible to include a signed helper
app in TextMate.app where Info.plist and the Contents/Resources folder
are excluded from the signing, but I have not tested if the system will
actually allow this (the feature is so that language files can be
stripped without breaking the signature, so it might be limited in
scope).
So all in all, it might be made to work, but it’s definitely a kludge,
and while I do like the thought of having the file type UTI definitions
distributed over the bundles, it’s really no problem to add to
TextMate’s Info.plist (via a PR), the only downside here is that only
the major file types get custom icons, the rest share a generic document
icon.
That said, if you do a proof-of-concept for the above, I’m certainly
willing to give it a try and possibly merge it into TextMate, as we
would only need the helper when installing bundles with new UTI
definitions, so the implementation (e.g. right-clicking a file and
seeing it’s assigned to “TextMate Helper”, or seeing “TextMate
Helper” launching and quitting when opening the file) shouldn’t show
up for “normal use”.
Btw: Using the main textmate at lists.macromates.com even for “dev”
talk is perfectly fine, as it’s low traffic and the lines between
“dev” and “users” with TextMate is blurry.
More information about the textmate-dev
mailing list