This is more of a general Open Dingux post, but I figured for now it can go here.
So with producing the new Open Dingux, and making it more like a distro, there are plans to standardise folder structures, aswell as used input methods.
Below is my proposal for folder structures, with some suggestions from folks in #dingoonity:
Open Dingux app folder format -- update 4:
Structure of metadata.xml:
<?xml version="1.0" encoding="UTF-8"?>
<name>Awesome example app</name>
<description>This is an awesome example application!</description>
So to display the app it would first recursively look for metadata.xml, then list app items based on the following criteria:
if metadata.xml is present
- <meta> block is parsed for file locations of executable/icon/readme and name
- <meta> -> <category> is used to classify the type of application, e.g. Games, Emulators, Utilities, etc.
- <meta> -> <name> is used for the readable name of the application
- <meta> -> <icon> is used for the icon of the application (if file not found, or <icon> not specified, show a default "executable" icon here)
- Pressing Y will show more information about the app, such as the remaining fields from <meta> -> description/site, and each of the <person> fields found, classified into author/porter groups.
- Pressing Y again while displaying information will load the file specified in <meta> -> <readme> if possible
if no metadata.xml is present
- folder name is used for the app name for this item
- default.dge is executed when A is pressed
- default.png is used for icon
- readme.txt is displayed when pressing Y
The benefits of this structure are that, as seen already in gmenu2x having a standardised "default.dge" method makes adding applications to the menu/launcher being used a lot easier.
With the metadata.xml file we can automate adding names/icons/descriptions and other metadata too. The beauty of this is that if these apps are being used on a system that doesn't support the metadata.xml, the default.dge and the directory name would still be descriptive enough on their own.edit
ammended xml structure to add root node, license type, date