Processing Menu/*.json items
info
Refer to The Menu/ directory for more details on these documents. This page details how they must be processed at install time.
Linking
conda clients MUST process matching Menu/*.json documents. Placeholders MUST be rendered as indicated in the Menu/ directory specification.
Each platform MUST place the menu artifacts in these target locations:
| Operating system | Artifact type | User location | System location | Notes |
|---|---|---|---|---|
| Linux | .desktop file | ~/.local/share/applications | /usr/local/share/applications | Some other user files are modified |
| macOS | .app directory | ~/Applications | /Applications | |
| Windows | .lnk file | {{ menu_name }} directory inside Start Menu, Desktop, and/or Quick Launch | Start Menu | These locations are customizable and configured in the Windows registry. |
- On Linux, little else needs to be done because XDG delegates the responsibility to the desktop
manager. The implementer only needs to create the
.desktopfile and adjust/add the menu XML file(s). - On macOS, the shortcut is an
.appdirectory. Implementers must follow Apple's guidelines. - On Windows,
.lnkfiles are created with the Windows API. File type and URL protocol associations are done in the Windows registry.
Unlinking
When a package is removed, the file artifacts MUST be deleted too. If changes were made to other resources (XML files on Linux, Registry on Windows), these MUST also be undone.
History
- 2023-07-28:
Menu/*.jsondocument processing was first standardized by CEP 11.