FLTK logo

Re: [fltk.coredev] FLTK 1.3.6 Release Candidate 1 is now available for download and testing

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 All Forums  |  Back to fltk.coredev  ]
 
Previous Message ]New Message | Reply ]Next Message ]

Re: FLTK 1.3.6 Release Candidate 1 is now available for download and testing Albrecht Schlosser May 02, 2021  
 
On 5/2/21 1:59 PM Michael Sweet wrote:
Albrecht,

On May 2, 2021, at 7:36 AM, Albrecht Schlosser <...> wrote:
...
Here's a potential layout (work in progress):

fltk-1.3.6rc1/test$ tree resources/
resources/
├── blocks
│   ├── Info.plist
│   ├── PkgInfo
│   └── blocks.icns
├── checkers
│   ├── Info.plist
│   ├── PkgInfo
│   └── checkers.icns
└── sudoku
    ├── Info.plist
    ├── PkgInfo
    └── sudoku.icns

I'd recommend against using the name "resources" since that has some unfortunate side-effects on macOS in Xcode and some of the Foundation framework features.  Instead, use "resource" or "mac-resources" or something like that so that things don't get confused about a subdirectory named "Resources" (yay case-insensitive file systems... :/)

Yeah, thanks, Mike. That's another trap I'd like to avoid.

I think I'll rename it to 'mac-resources'.

Another question that arose: Do we really need the PkgInfo files? AFAICT they are only used in the bundles we generate for these three games and fluid and they seem to be

 (a) optional
 (b) inconsistent

according to this article:

https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/ConfigApplications.html

"""
This file is not required, but can improve performance for code that accesses this information. Regardless of whether you provide this file, you should always include type and creator information in your information property list file using the CFBundlePackageType and CFBundleSignature keys, respectively.

The contents of the PkgInfo file are the 4-byte package type followed by the 4-byte signature of your application. Thus, for the TextEdit application, whose type is 'APPL' and whose signature is 'ttxt', the file would contain the ASCII string “APPLttxt”.
"""

@a: None of the CMake-generated bundles has a PkgInfo file.

@b: For instance in fluid we have in Info.plist:

	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleSignature</key>
	<string>FLID</string>

and the PkgInfo file has:

	FLIDFlid

It's only 8 chars + <lf>, but according to the docs and Info.plist this should read:

	APPLFLID

There are other PkgInfo files with similar inconsistencies.

I alwas saw the second four bytes Upper/Lowercased like 'Flid' (only first letter uppercase) but that's another question which is moot if we drop the PkgInfo files as I propose below.

None of the CMake-generated bundles has a PkgInfo file.

If we don't really need PkgInfo files and if there's no /significant/ performance boost if we have them, then I suggest to *drop all PkgInfo files* for unification and simplification.

Given the structure above we'd only need Info.plist and the .icns file (icon) per application (including fluid, of course).

Thoughts and insights? Manolo, Mike, anybody else?

--
You received this message because you are subscribed to the Google Groups "fltk.coredev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkcoredev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkcoredev/27baf78d-3f99-f964-476f-8d3dee67ffaa%40online.de.
Direct Link to Message ]
 
     
Previous Message ]New Message | Reply ]Next Message ]
 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.