Rebuilding the LaunchServices database didn't make any difference.
From your link which links to
https://eclecticlight.co/2023/07/06/how ... -problems/ — I then used his
precize.app and
UTIutility.app
https://eclecticlight.co/taccy-signet-p ... ty-alisma/
and checked my UTI for that .bib file:
- Screenshot 2024-02-19 at 12.11.23.png (89.6 KiB) Viewed 1885 times
So the UTI is taken from JabRef. Now JabRef uses .bib as its database format and indeed registers itself as such and then sets up .bib as public.data and MIME type as text/x-bibtex — here is the Info.plist specification for JabRef:
JabRef:
Code: Select all
<key>CFBundleDocumentTypes</key>
<dict>
<key>LSItemContentTypes</key>
<array>
<string>JabRef.bib</string>
</array>
<key>CFBundleTypeName</key>
<string>BibTeX File</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSIsAppleDefaultForType</key>
<true/>
</dict>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeIdentifier</key>
<string>JabRef.bib</string>
<key>UTTypeDescription</key>
<string>BibTeX File</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>bib</string>
</array>
<key>public.mime-type</key>
<array>
<string>text/x-bibtex</string>
</array>
</dict>
</dict>
</array>
Zotero does handle this case, its Info.plist looks like:
Code: Select all
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>bib</string>
<string>bibtex</string>
</array>
<!--<key>CFBundleTypeIconFile</key>
<string>document.icns</string>-->
<key>CFBundleTypeMIMETypes</key>
<array>
<string>application/x-bibtex</string>
<string>text/x-bibtex</string>
</array>
<key>CFBundleTypeName</key>
<string>BibTeX Document</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
Checking using
lsappinfo command and Bookends has this:
{ "UTTypeConformsTo"=( "public.content", "public.data"), , "UTTypeIdentifier"="public.text", , "UTTypeTagSpecification"={ "public.filename-extension"=( "bib") } } — and Zotero has:
{ "CFBundleTypeExtensions"=( "bib", "bibtex"), , "CFBundleTypeMIMETypes"=( "application/x-bibtex", "text/x-bibtex"), , "CFBundleTypeName"="BibTeX Document", , "CFBundleTypeRole"="Viewer" }
Zotero specifies
CFBundleTypeMIMETypes text/x-bibtex explicitly and seems to get picked up in the "Open with" menu. Perhaps that could work for Bookends too?
Note: I also
deleted JabRef and rebuilt LaunchServices, then the .bib file becomes a dynamic UTI, but Bookends is still not listed in the Open with menu for me.