Date and time | 2021-02-18T15:00Z |
---|---|
Topic | Working group discussion on new application registration format for Toltec packages |
Name | Information |
---|---|
@dixonary | Draft launcher and .draft format author |
@Eeems | Oxide author and Toltec maintainer |
@danshick | Toltec contributor |
@raisjn | remux author and Toltec maintainer |
- Current proposals
- XDG
- Draft (extension)
- Oxide
- Eeems’ proposal
- (YAML|TOML) + Schema
Pros:
- forward-compatible
- easily parsed with existing library tools
- first party support for arrays, nested data
Pros:
- can be formalised quickly
- may be less readable than yaml
- requires zero effort from users who do not wish to upgrade their launcher
Pros:
- existing format
- can be customised
Conclusion: Let's run with XDG .desktop format, as it is a well supported, easily extensible format with wide use in similar roles already.
-
We will need to support every format (in principle) for some amount of time.
-
Each launcher may instigate their own transition procedure
-
We will want a strict subset of XDG as our basis.
-
.desktop
cannot take a sequence of shell commands as input in the way that.draft
can. So we will need to write shell scripts instead for some programs which currently run a sequence of operations in their.draft
file.
TBD
[Desktop Entry]
Version=1.5 (optional)
Name= (`name` from draft)
Exec= (`call` from draft, changed as specified above)
Comment= (`desc` from draft, optional)
Type= (Application, Link or Directory - launchers need only support Application)
Icon= (absolute path, optional)
[X-ReMarkable]
OnStop= (follow same specification as exec, optional)
User= (specific user name for programs to run as, optional (default to root))
Group= (as with User, optional (default to root))
Environments= (specifies key-value pairs to be introduced to the environment of a running command, separated by semicolon, optional)
Expected behaviour if a required key is absent: Log an error, ignore the file.