appmenus: support per-vm appmenus templates #10
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add support for multiple appmenus templates dir. Specifically,
TemplateBasedVM can have own appmenus templates (for example extracted from
~/.local/share/applications), which extend/override those from the
template. Technically, each VM have now a list of appmenus template
directories (not a single dir), which are searched in relevance order
(up in 'template' hierarhy).
This is especially useful if one install and application in TemplateBasedVM
for example in user home or /usr/local. This makes it easier to add such
application to the menu.
For this change to work properly, there is a need for change in
qubes.GetAppmenus service on the VM side, to not report applications
installed on /, if changes in / are not persistent there (i.e.
TemplateBasedVM). Otherwise applications installed in templates will be
retrieved multiple times, wasting time and disk space. But updating VM
later should clean this up.
Fixes QubesOS/qubes-issues#4152