Wow, way more complicated than I imagined.
From:
https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/AboutBundles/AboutBundles.html
How the System Identifies Bundles and Packages
The Finder considers a directory to be a package if any of the following
conditions are true:
• The directory has a known filename extension: .app, .bundle,
.framework, .plugin, .kext, and so on.
• The directory has an extension that some other application claims
represents a package type; see Document Packages.
• The directory has its package bit set.
So to translate:
We know it when we see it because we have a list of the ones we use.
The application that created it defined a package/bundle type in its
Info.plist file. Did you search the plist files for all the applications that
everyone has on their computers to find all the file types that are not
folders? good luck
The folder / package has its package bit set (which doesn’t seem to be
accessible with terminal commands as far as I can tell).
I’m exploring terminal commands to see if this mythical package bit can be
detected for directories that appear to have a file type on them.
What a mess.
Kee Nethery
> On May 24, 2019, at 11:45 PM, Kee Nethery via use-livecode
> <[email protected]> wrote:
>
> Mark, Trevor,
>
> Thank you. Will test tomorrow. Will report back. Thanks again
>
> Kee Nethery
>
>> On May 24, 2019, at 6:53 PM, Mark Waddingham via use-livecode
>> <[email protected]> wrote:
>>
>> I’m pretty sure bundles always have a PkgInfo file in them too - so you
>> should (alternatively to using LCB) use ‘there is a file ...’.
>>
>> Warmest Regards,
>>
>> Mark.
>>
>> Sent from my iPhone
>>
>>> On 24 May 2019, at 18:06, Trevor DeVore via use-livecode
>>> <[email protected]> wrote:
>>>
>>> On Fri, May 24, 2019 at 7:35 PM kee nethery via use-livecode <
>>> [email protected]> wrote:
>>>
>>>> Is there any way for LiveCode to tell me that a macOS folder that gets
>>>> listed with “the folders” is actually treated as a file? For example, .app
>>>> is a file where View Package Contents is an option but the OS treats it as
>>>> a single thing. Same with .numbers, .pages, and various other “files”. They
>>>> can be opened up and the contents can be viewed.
>>>>
>>>> Is there any way to know which “folders” are actually treated by the OS as
>>>> files?
>>>>
>>>
>>> If you don't get any pure LCS solutions you could use an extension. macOS
>>> has an API for this:
>>>
>>> https://developer.apple.com/documentation/appkit/nsworkspace/1529991-isfilepackageatpath?language=objc
>>>
>>> I just tested it in my macOS test bed for extensions and it seems to work.
>>> It is the NSWorkspaceIsFilePackageAtPath() handler in this file:
>>>
>>> https://github.com/trevordevore/lc-macos-toolset/blob/master/NSWorkspace/nsworkspace.lcb
>>>
>>> --
>>> Trevor DeVore
>>> ScreenSteps
>>> _______________________________________________
>>> use-livecode mailing list
>>> [email protected]
>>> Please visit this url to subscribe, unsubscribe and manage your
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> [email protected]
>> Please visit this url to subscribe, unsubscribe and manage your subscription
>> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> [email protected]
> Please visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode