-
-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Idea: qvm-sync-appmenus also parsing /usr/local/share/applications #4152
Comments
Actually handling duplicates shouldn't be a problem - the current code should do that well. As for the general idea, I like it and in fact it shouldn't be that hard to implement. Mostly dom0 part of qvm-sync-appmenus (and actual .desktop files generating code) consider multiple template directories: one for template and in addition one for VM-private applications. The code lives here: |
Why isn't this a use case for bind-dirs? |
Do you mean make /usr/share/applications a binded dir? The issue with that is then it would no longer update when the TemplateVM installs new software. |
Exactly as @t4777sd said. Plus, dom0 right now downloads application list only from TemplateVMs (and StandaloneVMs). It would be fine for substituting existing desktop files, but not for adding new ones. |
Ok, but what about symlinking or copying the needed files at VM startup with Edit: Oh, I guess this means that the above wouldn't work:
|
Another related issue to this one is that icons are not read when they exists on the private storage. As a result, it receives a default padlock icon. Maybe or maybe not related to this, but in the default install nautilus does not have an icon image. My guess is that it is related. |
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
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The component
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The component
|
Automated announcement from builder-github The package
|
Automated announcement from builder-github The component
|
Automated announcement from builder-github The package
Or update dom0 via Qubes Manager. |
Automated announcement from builder-github The package
|
Qubes OS version:
4.0
Affected component(s):
Application menu syncing
Steps to reproduce the behavior:
Install any locally installed app that a user may want in a particular VM, but not other VMs and they do not want to make it installed in all VMs and make a bunch of clones of VMs (as that creates its own problems)
Desktop file will be placed in /usr/local/share/applications
Sync the app menu and you will see it does not detect the apps
Expected behavior:
It would be nice if desktop files also looked in /usr/local/share/applications. This provides a mechanism to install software locally without making a lot of template clones.
I understand why ~./.local/share/applications is excluded because it appears some apps install to both that and /usr/share/applications so that would require trying to parse out duplicates etc.
However, no packaged apps install into /usr/local/share/applications and that folder is local to the AppVM too.
Motivation for locally installed apps
The primary motivation is because a single change does not warrant a template clone as that creates a bunch of other issues (resource issues, menu cluttering issues, etc).
The appvm wants to run a different version of software than those in other appvms
The application is less trusted so better to keep it entirely contained in the appvm
The software only belongs in one appvm and its not efficient to create a new template just because of that one software
The software is downloaded from the internet, only belongs in oen appvm, and it makes little since to transfer it to the templatevm (as that has no internet to download it) when it can just be kept in that appvm which is the only place it should run.
The text was updated successfully, but these errors were encountered: