Make External?!?

I have a project that I’m having trouble pushing to GitHub because the .xojo_resources file is 245MB, far above the limit of 100MB. I’m sure most of that bulk is images, all of which are in a parent folder (“My Graphics”) that contains loose picture files or other folders (such as “Arrows”) with picture files in them.

So… I right-clicked the parent folder and chose Make External… It wasn’t clear what I was supposed to do, the Xojo User Guide says it’ll offer me a choice of file types, but that didn’t happen. I got a standard select-file dialog, the folder containing my project file was the default choice, so I selected it. When it was done, some of the images were there, but none of the images that were in nested folders. For instance, the “Arrows” folder is in the target folder, but it’s empty.

Does this mean I have to move all of my graphics out of their well-organized folders and leave them loose in my project? Or am I just not doing something properly?

Thank you for any suggestions you may have -

  • John

The rbres or xojo_resources file only store icons and cursors so what you are trying to do isn’t going to save you any space.

My app has very few icons (one for each of 9 file types) and only uses system cursors, why would the resources file be 245MB? Is there anything I can do to trim it down?

For xml app and file icons are saved in a hex format. Nothing made saving my xml project faster than making icns files which are added with an IDE script.

1 Like

That seems odd. Please file a bug report and we’ll take a look at it.

FWIW, after doing a code review, the Make External method shouldn’t be allowed for Folders anyway.

I stripped the project down to nothing, just the file type sets, same huge resources file. Ditto if I started a file from scratch and copied/pasted those entries into it.

I used to have a utility that built icns files, but I can’t seem to find it anymore. Do you have a suggestion for one? (MacOS)

Which means we shouldn’t organize images within folders, right?

I’m going to try a solution a friend on another forum suggested for handling picture resources and see if that helps tame this monster of an app :slight_smile:

1 Like

No. It just means that right-clicking on a folder full of images shouldn’t do anything because they’re already “external”.

Maybe my problem is I don’t know how references to those external images are stored in the project. Relative references? Absolute? I’ve found that moving the project to a different computer or location requires re-selecting many of the images in my project.

As far as the icons go, it sounds like my best approach will be to do it manually - create entries in the plist file by hand (or with another app), and remove the icon graphics from the project - copying them into the resource folder as a build step.

This will avoid to st the icons (especially large macOS icns files) nto the project binary file; less sized project / less time to load and save the project file.

I’ve found that moving the project to a different computer or location requires re-selecting many of the images in my project.
This is not always my experience.

Wait until the copy ends before loading the project file. If you do not change the Project folder structure, Xojo find the associated items (images, etc.).

Even moving to Windows (or back), to M1 computers, usually, I do not have to tell Xojo where my images are.

Interesting. I’ll do some experimenting later this week!

The app I use is called Icon Composer 2x. Then I use a copy files script step to copy the icns files into the app.

I have all files in one parent folder. The paths are mostly relative now.

I’ll check it out, thank you!